Kite's thoughts on pergens: Difference between revisions
Wikispaces>TallKite **Imported revision 625176467 - Original comment: ** |
Wikispaces>TallKite **Imported revision 625206059 - Original comment: ** |
||
Line 1: | Line 1: | ||
<h2>IMPORTED REVISION FROM WIKISPACES</h2> | <h2>IMPORTED REVISION FROM WIKISPACES</h2> | ||
This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br> | This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br> | ||
: This revision was by author [[User:TallKite|TallKite]] and made on <tt>2018-01-22 | : This revision was by author [[User:TallKite|TallKite]] and made on <tt>2018-01-22 13:54:36 UTC</tt>.<br> | ||
: The original revision id was <tt> | : The original revision id was <tt>625206059</tt>.<br> | ||
: The revision comment was: <tt></tt><br> | : The revision comment was: <tt></tt><br> | ||
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br> | The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br> | ||
Line 639: | Line 639: | ||
[[image:alt-pergenLister.png width="704" height="460"]] | [[image:alt-pergenLister.png width="704" height="460"]] | ||
Listing all valid pergens is not a trivial task, like listing all valid edos or all valid MOS scales. Not all combinations of octave fractions and multigen fractions make a valid pergen. The search for rank-2 pergens can be done by looping through all possible square mappings [(x, y), (0, z)], and using the formula (P8/x, (i·z - y, x) / xz). While x is always positive and z is always nonzero, y can take on any value. For any x and z, y can be constrained to produce a viable cents value for 3/1. Let T be the tempered twefth 3/1. The mapping says T = y·P + z·G = y·P8/x + z·G. Thus y = x·(T/P8 - z·G/P8). We adopt the convention that G is less than half an octave. We constrain T so that the 5th is between 600¢ and 800¢, which certainly includes anything that sounds like a 5th. Thus T is between 3/2 and 5/3 of an octave. We assume that if the octave is stretched, the ranges of T and G will be stretched along with it. The outer ranges of y can now be computed, using the floor function to round down to the nearest integer, and the ceiling function to round up: | |||
If z > 0, then y is at least ceiling (x·(3/2 - z/2)) and at most floor (x·5/3) | If z > 0, then y is at least ceiling (x·(3/2 - z/2)) and at most floor (x·5/3) | ||
Line 3,906: | Line 3,906: | ||
<!-- ws:start:WikiTextLocalImageRule:2869:&lt;img src=&quot;/file/view/alt-pergenLister.png/624838213/704x460/alt-pergenLister.png&quot; alt=&quot;&quot; title=&quot;&quot; style=&quot;height: 460px; width: 704px;&quot; /&gt; --><img src="/file/view/alt-pergenLister.png/624838213/704x460/alt-pergenLister.png" alt="alt-pergenLister.png" title="alt-pergenLister.png" style="height: 460px; width: 704px;" /><!-- ws:end:WikiTextLocalImageRule:2869 --><br /> | <!-- ws:start:WikiTextLocalImageRule:2869:&lt;img src=&quot;/file/view/alt-pergenLister.png/624838213/704x460/alt-pergenLister.png&quot; alt=&quot;&quot; title=&quot;&quot; style=&quot;height: 460px; width: 704px;&quot; /&gt; --><img src="/file/view/alt-pergenLister.png/624838213/704x460/alt-pergenLister.png" alt="alt-pergenLister.png" title="alt-pergenLister.png" style="height: 460px; width: 704px;" /><!-- ws:end:WikiTextLocalImageRule:2869 --><br /> | ||
<br /> | <br /> | ||
Listing all valid pergens is not a trivial task, like listing all valid edos or all valid MOS scales. Not all combinations of octave fractions and multigen fractions make a valid pergen. The search for rank-2 pergens can be done by looping through all possible square mappings [(x, y), (0, z)], and using the formula (P8/x, (i·z - y, x) / xz). While x is always positive and z is always nonzero, y can take on any value. For any x and z, y can be constrained to produce a viable cents value for 3/1. Let T be the tempered twefth 3/1. The mapping says T = y·P + z·G = y·P8/x + z·G. Thus y = x·(T/P8 - z·G/P8). We adopt the convention that G is less than half an octave. We constrain T so that the 5th is between 600¢ and 800¢, which certainly includes anything that sounds like a 5th. Thus T is between 3/2 and 5/3 of an octave. We assume that if the octave is stretched, the ranges of T and G will be stretched along with it. The outer ranges of y can now be computed, using the floor function to round down to the nearest integer, and the ceiling function to round up:<br /> | |||
<br /> | <br /> | ||
If z &gt; 0, then y is at least ceiling (x·(3/2 - z/2)) and at most floor (x·5/3)<br /> | If z &gt; 0, then y is at least ceiling (x·(3/2 - z/2)) and at most floor (x·5/3)<br /> |