Editing Tips: Trying again, this time on 55edo, with debugged(?) version
Editing Tips: Seem to have finally gotten it right, for now
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==


Although I have yet to compose anything, I have on occasion thought that "notes between the notes" (to borrow a term from _Hear Between the Lines_) would be fitting in certain circumstances.  Several months ago, I stumbled upon the great radiation of microtonal music that is occurring on YouTube thanks to the advent of (semi-)affordable microtonal keyboards and software synthesizers that actually sound good.  Surprisingly, the recent microtonal profusion seems to have a great overlap with a profusion of new classical music.  In addition, I have found interest in old music that would now be thought of as xenharmonic, such as early Baroque works in quarter-comma meantone.  And even if I never compose any microtonal music myself, this experience, including readings on this Xenharmonic Wiki, have been a wild ride in learning what it is that makes today's dominant system of 12 equally spaced notes per octave actually work well.
Although I have yet to compose anything, I have on occasion thought that "notes between the notes" (to borrow a term from ''Hear Between the Lines'') would be fitting in certain circumstances.  Several months ago, I stumbled upon the great radiation of microtonal music that is occurring on YouTube thanks to the advent of (semi-)affordable microtonal keyboards and software synthesizers that actually sound good.  Surprisingly, the recent microtonal profusion seems to have a great overlap with a profusion of new classical music.  In addition, I have found interest in old music that would now be thought of as xenharmonic, such as early Baroque works in quarter-comma meantone.  And even if I never compose any microtonal music myself, this experience, including readings on this Xenharmonic Wiki, have been a wild ride in learning what it is that makes today's dominant system of 12 equally spaced notes per octave actually work well.


Added: [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 10:14, 12 February 2024 (UTC)
Added: [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 10:14, 12 February 2024 (UTC)
Line 7: Line 7:
== Editing Tips ==
== Editing Tips ==


I edited the Intervals table for [[84edo]] to add links to the intervals. Since 84edo has a LOT of intervals even only considering the simplest ones, and the table even had some fairly complicated intervals, I did not want to do this by hand. Instead, I copied the Wiki source for the section to a text file ("84EDO intervals.txt") on my computer (running MacOS, but in principle this should work on Linux or Windows Subsystem for Linux), used the "sed" command on it to do the actual editing (took less time to learn to use "sed" than to do all that by hand), and then copied the output file ("84EDOintervals.txt") back into the article section. First, here is the full "sed" command:
I edited the Intervals table for [[84edo]], [[55edo]], and [[171edo]] to add links to the intervals. Since these have a LOT of intervals even only considering the simplest ones, and the tables even had some fairly complicated intervals, I did not want to do this by hand. Instead, I copied the Wiki source for the section to a text file ("171EDOintervals.txt" in the latest example) on my computer (running MacOS, but in principle this should work on Linux or Windows Subsystem for Linux), used the "sed" command on it to do the actual editing (took less time to learn to use "sed" than to do all that by hand), and then copied the output file ("171EDOintervals.new.txt" in the latest example) back into the article section. First, here is the full "sed" command (note that the "-E" option indicates the use of extended regular expressions):


<code>sed -E "s#[0-9]*/[0-9]*#\[\[&\]\]#g" 84EDO\ intervals.txt > 84EDOintervals.txt</code>
<code>sed -E "s#[0-9]+/[0-9]+#\[\[&amp;\]\]#g" 171EDOintervals.txt > 171EDOintervals.new.txt</code>


Substitute the file names as appropriate when you use this (and probably best avoid having a file name that contains a space like in my example above).
And it did the right thing, and has worked since then for several other interval tables, although sometimes the Intervals sections have stuff after (or rarely, before) their tables that I have to manually exclude from editing (to avoid creating duplicate links or otherwise altering something that shouldn't be altered).


Bug fix? Seems that the above should have been (using "+" instead of "*"):
To put it into the comments of what I did is not so straightforward. This requires escaping the backslashes with backslashes (doubling them) and converting the ampersand ("&amp;") into "&amp;amp;" &mdash; note that this also needed to be done in the source of this page (which means that if you copy from the page source instead of from the display version of the page, you need to change it back into a normal ampersand). (Note that originally I '''didn't''' do this in the source of this page, and that seemed to work, but then did weird things when looking at the page history.)


<code>sed -E "s#[0-9]+/[0-9]+#\[\[&\]\]#g" 84EDO\ intervals.txt > 84EDOintervals.txt</code>
The case for [[23edo and octave stretching]] was more complicated, because the ratios were expressed with colons instead of slashes, and I needed to change them to slashes.  This required the following "sed" command using capture groups (which Google's AI actually did a decent job of explaining how to use when I didn't know the name and was trying to look up "divided regular expression"):


That is supposed to avoid putting brackets around a slash that was not part of a ratio.
<code>sed -E "s#([0-9]+):([0-9]+)#\[\[\1/\2\]\]#g" 23EDOintervals.txt > 23EDOintervals.new.txt</code>


Tried the new version for the intervals table for [[55edo]]:
The parentheses delimit the input capture groups (and note that the "+" needs to be inside each capture group or it won't work right, and if you need to look for literal parentheses you have to escape them with backslashes, same as already used with the square brackets), and the &bsol;1 and &bsol;2 indicate the output capture groups, which also gives you the option to reverse them (for instance, if the table contained the ratios inverted, which was not the case in this particular example, but is somewhat common elsewhere). Note that the capture groups replace the overall regular expression (which was represented by an ampersand in the first version of the command); this gets rid of the ampersand and its quirk, but it turns out that backslash followed by a digit does similarly strange things when looking at page history, but apparently not in a &lt;code&gt;...&lt;/code&gt; block, so I had to change them to HTML form as well (convert each "&bsol;" to "&amp;bsol;", but '''only''' in this explanatory text &mdash; if done in the &lt;code&gt;...&lt;/code&gt; block, this conversion itself causes subtle problems). Apparently, Wikitext editing and history display get '''really weird''' when you include regular expressions in them, but it looks like I have gotten it right for now.
 
<code>sed -E "s#[0-9]+/[0-9]+#\[\[&\]\]#g" 55EDOintervals.txt > 55EDOintervals.new.txt</code>
 
And it seems to have done the right thing, but I'll wait a bit to make sure it didn't do something wrong that I didn't catch by looking over the "Show Changes" output.


Added:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 07:20, 29 October 2025 (UTC)<br>
Added:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 07:20, 29 October 2025 (UTC)<br>
Last modified:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 08:50, 19 November 2025 (UTC)
Last modified:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 11:21, 2 January 2026 (UTC)


== Keyboard Layout Lab ==
== Keyboard Layout Lab ==
Line 44: Line 40:
[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Various other Lumatone mappings|Various other Lumatone mappings]] soon also had to get their own page due to the dreaded "template include too large" error.
[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Various other Lumatone mappings|Various other Lumatone mappings]] soon also had to get their own page due to the dreaded "template include too large" error.


[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Unnamed_Temperament_Lumatone mappings|Unnamed Temperament Lumatone mappings]] got unnamed temperament Lumatone mappings from the above, except for those that are non-isomorphic (see below)
[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Unnamed_temperament_Lumatone mappings|Unnamed temperament Lumatone mappings]] got unnamed temperament Lumatone mappings from the above, except for those that are rank-3 (see below) or non-isomorphic (see further below)
 
[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Unnamed_rank-3_temperament_Lumatone mappings|Unnamed rank-3 temperament Lumatone mappings]] &mdash; as above, but rank-3.


[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Non-Isomorphic Lumatone mappings|Non-Isomorphic Lumatone mappings]] gets non-isomorphic Lumatone mappings, including those that can be generated by the isomorphic mechanism by specifying a number of notes per [[equave]] that is different from the actual number of notes.
[[User:Lucius_Chiaraviglio/Keyboard_Layout_Lab/Non-Isomorphic Lumatone mappings|Non-Isomorphic Lumatone mappings]] gets non-isomorphic Lumatone mappings, including those that can be generated by the isomorphic mechanism by specifying a number of notes per [[equave]] that is different from the actual number of notes.
Line 51: Line 49:


Added:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 06:31, 31 May 2025 (UTC)<br>
Added:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 06:31, 31 May 2025 (UTC)<br>
Last modified:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 06:59, 18 October 2025 (UTC)
Last modified:  [[User:Lucius Chiaraviglio|Lucius Chiaraviglio]] ([[User talk:Lucius Chiaraviglio|talk]]) 08:52, 14 December 2025 (UTC)


== Musical Mad Science ==
== Musical Mad Science ==