TAMNAMS/Appendix: Difference between revisions

ArrowHead294 (talk | contribs)
Extended spectrum: Compress table
ArrowHead294 (talk | contribs)
mNo edit summary
Line 163: Line 163:


=== Terminology and final notes ===
=== Terminology and final notes ===
A ratio of {{nowrap|L/s {{=}} ''k''/1}} can be called ''k-hard'' and a ratio of {{nowrap|L/s {{=}} ''k''/(''k'' − 1)}} can analogously be called ''k-soft'', so the simplest ultrasoft tuning is 5-soft or ''pentasoft'', the simplest hyperhard tuning is 5-hard or ''pentahard'', the simplest clustered tuning is 7-hard or ''heptahard'', 8-hard is ''octahard'', 9-hard is ''nonahard'', and finally, the characteristic simple ultrahard tuning is 6-hard or ''extrahard'', as previously discussed, which can be seen to be similar to ''hexahard''—hopefully helping with memorisation.
A ratio of {{nowrap|L/s {{=}} ''k''/1}} can be called ''k-hard'' and a ratio of {{nowrap|L/s {{=}} ''k''/(''k'' 1)}} can analogously be called ''k-soft'', so the simplest ultrasoft tuning is 5-soft or ''pentasoft'', the simplest hyperhard tuning is 5-hard or ''pentahard'', the simplest clustered tuning is 7-hard or ''heptahard'', 8-hard is ''octahard'', 9-hard is ''nonahard'', and finally, the characteristic simple ultrahard tuning is 6-hard or ''extrahard'', as previously discussed, which can be seen to be similar to ''hexahard''—hopefully helping with memorisation.


A perhaps useful (or otherwise mildly amusing) mnemonic is ''2-soft is too soft to be hard and 2-hard is too hard to be soft'', representing that {{nowrap|2-soft {{=}} 2-hard {{=}} 2/1 {{=}} '''basic'''}}.
A perhaps useful (or otherwise mildly amusing) mnemonic is ''2-soft is too soft to be hard and 2-hard is too hard to be soft'', representing that {{nowrap|2-soft {{=}} 2-hard {{=}} 2/1 {{=}} '''basic'''}}.
Line 189: Line 189:
## If ''x'' and ''y'' don't share a common factor that is greater than 1 (if ''x'' and ''y'' are coprime), then:
## If ''x'' and ''y'' don't share a common factor that is greater than 1 (if ''x'' and ''y'' are coprime), then:
### Let {{nowrap|''m''<sub>1</sub> {{=}} min(''x'', ''y'')}} and {{nowrap|''m''<sub>2</sub> {{=}} max(''x'', ''y'')}}.
### Let {{nowrap|''m''<sub>1</sub> {{=}} min(''x'', ''y'')}} and {{nowrap|''m''<sub>2</sub> {{=}} max(''x'', ''y'')}}.
### Let {{nowrap|''z'' {{=}} ''m''<sub>2</sub> mod ''m''<sub>1</sub>}} and {{nowrap|''w'' {{=}} ''m''<sub>1</sub> &minus; ''z''}}.
### Let {{nowrap|''z'' {{=}} ''m''<sub>2</sub> mod ''m''<sub>1</sub>}} and {{nowrap|''w'' {{=}} ''m''<sub>1</sub> ''z''}}.
### Let ''prescale'' be the mos string for ''z''L&nbsp;''w''s. Recursively call this algorithm to find the scale for ''z''L&nbsp;''w''s; the final scale will be based on this.
### Let ''prescale'' be the mos string for ''z''L&nbsp;''w''s. Recursively call this algorithm to find the scale for ''z''L&nbsp;''w''s; the final scale will be based on this.
### If {{nowrap|''x'' &lt; ''y''}}, reverse the order of characters in the prescale. This is only needed if there are more L's than s's in the final scale.
### If {{nowrap|''x'' &lt; ''y''}}, reverse the order of characters in the prescale. This is only needed if there are more L's than s's in the final scale.
Line 261: Line 261:
# If either ''x'' or ''y'' is equal to 1 (base cases):
# If either ''x'' or ''y'' is equal to 1 (base cases):
## If both ''x'' and ''y'' are equal to 1, then the generator is "L" and its complement is "s".
## If both ''x'' and ''y'' are equal to 1, then the generator is "L" and its complement is "s".
## If only ''x'' is equal to 1, then the generator is "L" followed by {{nowrap|''y'' &minus; 1}} s's, and the complement is "s".
## If only ''x'' is equal to 1, then the generator is "L" followed by {{nowrap|''y'' 1}} s's, and the complement is "s".
## If only ''y'' is equal to 1, then the generator is "L" and the complement is {{nowrap|''x'' &minus; 1}} L's followed by "s".
## If only ''y'' is equal to 1, then the generator is "L" and the complement is {{nowrap|''x'' 1}} L's followed by "s".
# If neither ''x'' nor ''y'' is equal to 1 (recursive cases):
# If neither ''x'' nor ''y'' is equal to 1 (recursive cases):
## Let ''k'' be the greatest common factor of ''x'' and ''y''.
## Let ''k'' be the greatest common factor of ''x'' and ''y''.
Line 268: Line 268:
## If ''x'' and ''y'' don't share a common factor that is greater than 1 (if ''x'' and ''y'' are coprime), then:
## If ''x'' and ''y'' don't share a common factor that is greater than 1 (if ''x'' and ''y'' are coprime), then:
### Let {{nowrap|''m''<sub>1</sub> {{=}} min(''x'', ''y'')}} and {{nowrap|''m''<sub>2</sub> {{=}} max(''x'', ''y'')}}.
### Let {{nowrap|''m''<sub>1</sub> {{=}} min(''x'', ''y'')}} and {{nowrap|''m''<sub>2</sub> {{=}} max(''x'', ''y'')}}.
### Let {{nowrap|''z'' {{=}} ''m''<sub>2</sub> mod ''m''<sub>1</sub>}} and {{nowrap|''w'' {{=}} ''m1 &minus; z''}}.
### Let {{nowrap|''z'' {{=}} ''m''<sub>2</sub> mod ''m''<sub>1</sub>}} and {{nowrap|''w'' {{=}} ''m1 z''}}.
### Let ''gen'' be the scale's generator and ''comp'' be the generator's octave complement for the mos ''z''L&nbsp;''w''s. Recursively call this algorithm to find these intervals for ''z''L&nbsp;''w''s; the final scale's generator and complement will be based on this.
### Let ''gen'' be the scale's generator and ''comp'' be the generator's octave complement for the mos ''z''L&nbsp;''w''s. Recursively call this algorithm to find these intervals for ''z''L&nbsp;''w''s; the final scale's generator and complement will be based on this.
### If {{nowrap|''x'' &lt; ''y''}}, reverse the order of characters in ''gen'' and ''comp'', then swap ''gen'' and ''comp''. This is only needed if there are more L's than s's in the scale.
### If {{nowrap|''x'' &lt; ''y''}}, reverse the order of characters in ''gen'' and ''comp'', then swap ''gen'' and ''comp''. This is only needed if there are more L's than s's in the scale.