User:Ganaram inukshuk/TAMNAMS Extension: Difference between revisions

Ganaram inukshuk (talk | contribs)
Appendix
Ganaram inukshuk (talk | contribs)
 
(5 intermediate revisions by the same user not shown)
Line 7: Line 7:


== Relating a mos and its descendants ==
== Relating a mos and its descendants ==
Particularly in the absence of any names, larger mosses can be described by how they related back to a more familiar mos and vice-versa. In general, all mosses with ''n'' periods relate back to a root mos of ''n''L ''n''s. For TAMNAMS-named mosses, any octave-equivalent mos with more than 10 steps and no more than 5 periods is related to some TAMNAMS-named mos.
Larger mosses can be described by how they related back to a more familiar mos and vice-versa. In general, all mosses with ''n'' periods relate back to a root mos of ''n''L ''n''s. For TAMNAMS-named mosses, any octave-equivalent mos with more than 10 steps and no more than 5 periods is related to some TAMNAMS-named mos.


In either case, any mos can be related to its descendants by treating it as the root of its own scale tree. For a mos of the form ''x''L ''y''s, its descendants (children, grandchildren, great-grandchildren, etc) contain the following pattern of step counts.
In either case, any mos can be related to its descendants by treating it as the root of its own scale tree. Particularly in the absence of any names, mosses can be ''described'' as being some descendant of a related ancestor mos ''x''L ''y''s. Such mosses, called ''mos descendants'' – or ''children'', ''grandchildren'', and ''great-grandchildren'', for the first three generations of descendants – contain the following pattern of step counts.
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Parent
! colspan="2" |Parent
Line 25: Line 25:
!Small steps
!Small steps
|-
|-
| rowspan="8" |x
| rowspan="8" |''x''
| rowspan="8" |y
| rowspan="8" |''y''
| rowspan="4" |x+y
| rowspan="4" |''x''+''y''
| rowspan="4" |x
| rowspan="4" |''x''
| rowspan="2" |x+y
| rowspan="2" |''x''+''y''
| rowspan="2" |2x+y
| rowspan="2" |2''x''+''y''
|x+y
|''x''+''y''
|3x+2y
|3''x''+2''y''
|-
|-
|3x+2y
|3''x''+2''y''
|x+y
|''x''+''y''
|-
|-
| rowspan="2" |2x+y
| rowspan="2" |2''x''+''y''
| rowspan="2" |x+y
| rowspan="2" |''x''+''y''
|3x+2y
|3''x''+2''y''
|2x+y
|2''x''+''y''
|-
|-
|2x+y
|2''x''+''y''
|3x+2y
|3''x''+2''y''
|-
|-
| rowspan="4" |x
| rowspan="4" |''x''
| rowspan="4" |x+y
| rowspan="4" |''x''+''y''
| rowspan="2" |2x+y
| rowspan="2" |2''x''+''y''
| rowspan="2" |x
| rowspan="2" |''x''
|2x+y
|2''x''+''y''
|3x+y
|3''x''+''y''
|-
|-
|3x+y
|3''x''+''y''
|2x+y
|2''x''+''y''
|-
|-
| rowspan="2" |x
| rowspan="2" |''x''
| rowspan="2" |2x+y
| rowspan="2" |2''x''+''y''
|3x+y
|3''x''+''y''
|x
|''x''
|-
|-
|x
|''x''
|3x+y
|3''x''+''y''
|}
|}
For example, the first three generations of ''diatonic descendants'' can be described as:


=== Finding a mos ancestor with a target note count ''n'' or less ===
* ''Children of 5L 2s'': 7L 5s and 5L 7s
For a mos ''x''L ''y''s, perform the following algorithm to find a familiar descendant with target note count ''n'' or less:
* ''Grandchildren of 5L 2s'': 5L 12s, 12L 5s, 12L 7s, and 7L 12s
* ''Great-grandchildren of 5L 2s'': 5L 17s, 17L 5s, 17L 12s, 12L 17s, 12L 19s, 19L 12s, 12L 7s, and 7L 19s
 
=== Finding the ancestor of a descendant mos ''x''L ''y''s ===
For a mos ''x''L ''y''s, perform the following algorithm to find a familiar ancestor with target note count ''n'' or less:


#Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively.
#Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively.
#Let ''m1'' be assigned the value of max(''z'', ''w'') and ''m2'' the value of min(''z'', ''w'').
#Let ''m<sub>1</sub>'' be assigned the value of max(''z'', ''w'') and ''m<sub>2</sub>'' the value of min(''z'', ''w'').
#Assign to ''z'' the value ''m2'' and ''w'' the value ''m1''-''m2''.
#Assign to ''z'' the value ''m<sub>2</sub>'' and ''w'' the value ''m<sub>1</sub>''-''m<sub>2</sub>''.
#If ''z''+''w'' is less than or equal to ''n'', then the parent mos is ''z''L ''w''s. If not, repeat the process starting at step 2.
#If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. If not, repeat the process starting at step 2.
 
=== Finding an ancestor's step ratio that produces a descandant mos ''x''L ''y''s ===
For a mos xL ys, perform the following algorithm to find the step ratio for a descendant mos zL ws with target note count n or less:
 
#Let ''z'' and ''w'' be the number of large and small steps of the parent mos to be found. Let ''U'' and ''V'' be two chunks, vectors containing the amounts of L's and s's from xL ys that make up the ancestor mos's large and small steps.
##Assign to ''z'' and ''w'' the values ''x'' and ''y'' respectively.
##Assign to ''U'' the vector { ''u<sub>L</sub>'', ''u<sub>s</sub>'' } = { 1, 0 } and V to the vector { ''v<sub>L</sub>'', ''v<sub>s</sub>'' } = { 0, 1 }.
#Let ''m<sub>1</sub>'' be assigned the value of max(''z'', ''w'') and ''m<sub>2</sub>'' the value of min(''z'', ''w'').
##If w > z, then add ''V'' to ''U''. Otherwise, assign to a temporary vector ''U<sub>temp</sub>'' the value of ''U'', add ''V'' to ''U'', and assign to ''V'' the value of ''U<sub>temp</sub>''.
#Assign to ''z'' the value ''m<sub>2</sub>'' and ''w'' the value ''m<sub>1</sub>''-''m<sub>2</sub>''.
#If ''z''+''w'' is less than or equal to ''n'', then the ancestor mos is ''z''L ''w''s. The step ratio range for the ''z''L ''w''s is (''u<sub>L</sub>''+ ''u<sub>s</sub>''):(''v<sub>L</sub>''+ ''v<sub>Ls</sub>'') to ''u<sub>L</sub>'':''v<sub>s</sub>''. If ''z''+''w'' is not less than or equal to ''n'', repeat the process starting at step 2.


== Names for mosses with more than 10 notes ==
== Names for mosses with more than 10 notes ==