Using Scala to transform just intonation: Difference between revisions
Jump to navigation
Jump to search
Wikispaces>genewardsmith **Imported revision 250883122 - Original comment: ** |
Wikispaces>genewardsmith **Imported revision 250896296 - 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:genewardsmith|genewardsmith]] and made on <tt>2011-09-05 | : This revision was by author [[User:genewardsmith|genewardsmith]] and made on <tt>2011-09-05 14:17:30 UTC</tt>.<br> | ||
: The original revision id was <tt> | : The original revision id was <tt>250896296</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 11: | Line 11: | ||
Suppose we have a piece in [[Just intonation]] which we want to put into the [[http://www.huygens-fokker.org/scala/seq_format.html|Scala seq file]] format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1>) can be used in place of (5/4), and (|-1 -1 0 1>) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like "4564 note 61 47" in the seq file, where the number right after "note" is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file. | Suppose we have a piece in [[Just intonation]] which we want to put into the [[http://www.huygens-fokker.org/scala/seq_format.html|Scala seq file]] format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1>) can be used in place of (5/4), and (|-1 -1 0 1>) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like "4564 note 61 47" in the seq file, where the number right after "note" is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file. | ||
= | =5-limit transformations= | ||
Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. | Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. Going to "Project" under the "Modify" pull-down menu, and putting "5 24/5" into the box called "Factor pair(s)", the resulting scale will be 10/9 9/8 5/4 6/5 4/3 27/20 3/2 5/3 8/5 15/8 9/5 2. If we use this scale in place of the duodene (be sure **not** to change the ordering!) using the "Tools" pull-down menu at "Transform sequence to midi file", we will get our original 5-limit duodene piece, only with major and minor switched about. If we put "5 24/5" in the Project command again, we get the duodene back again, which is why this transformation is called an involution. | ||
An alternative method of accomplishing basically the same thing is to use monzo notation for the notes, only //without// parenthesis. That is, a major third is represented, not by (|-2 0 1>), but by |-2 0 1> with no parentheses. To get this seq file to produce a midi, you need to put both a val command and a corresponding equal command at the top of the file, such as "0 val <612 970 1421|" together with "0 equal 612". This has the advantage of not requiring a scale file. To produce a midi file with the | An alternative method of accomplishing basically the same thing is to use monzo notation for the notes, only //without// parenthesis. That is, a major third is represented, not by (|-2 0 1>), but by |-2 0 1> with no parentheses. To get this seq file to produce a midi, you need to put both a val command and a corresponding equal command at the top of the file, such as "0 val <612 970 1421|" together with "0 equal 612". This has the advantage of not requiring a scale file. To produce a midi file with the major-minor involution, replace the mapping for 5 with one for 24/5 in [[612edo]] or whatever equal division you choose to use; in this case "0 val <612 970 1385|". | ||
A more exotic transformation is obtained by putting "3 16/5 5 24/5" into the Project box. If we put 3 5 in as our scale using New Scale under the File pull-down menu, then applying this once gives 16/5 24/5 of course, but applying it twice gives 10/3 16/3, which is a new transformation we can obtain directly by "3 10/3 5 16/3". Applying it three times brings us back to 3 5 again. The transformation is of order three, not order two like the major-minor involution. If we apply it first and then major-minor, we obtain 10/3 5, which gives us yet another transformation; on the other hand, applying major-minor first, we end up at 16/5 16/3. This means that the [[http://en.wikipedia.org/wiki/Symmetry_group|group of transformations]] is [[http://en.wikipedia.org/wiki/Nonabelian_group|nonabelian]]. In fact, it is the smallest of all nonabelian groups, the [[http://en.wikipedia.org/wiki/Dihedral_group_of_order_6|group of the triangle]] or dihedral group of order six. In total, counting the identity transformation, we get these six transformations: | |||
3->3 5->5 | |||
3->16/5 5->24/5 | |||
3->10/3 5->16/3 | |||
3->3 5->24/5 | |||
3->16/5 5->16/3 | |||
3->10/3 5->5 | |||
If we apply the Quantize command under the Modify pull-down menu, putting 3 in the box for resolution, we get the [[3edo]] versions of all of these, which turn out to be the same: the 3edo "skeleton", as we might call it, of 5-limit just intonation is left invariant by these transformations. | |||
</pre></div> | |||
<h4>Original HTML content:</h4> | <h4>Original HTML content:</h4> | ||
<div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;width:200%;white-space: pre-wrap ! important" class="old-revision-html"><html><head><title>Using Scala to transform just intonation</title></head><body><!-- ws:start:WikiTextTocRule:4:&lt;img id=&quot;wikitext@@toc@@flat&quot; class=&quot;WikiMedia WikiMediaTocFlat&quot; title=&quot;Table of Contents&quot; src=&quot;/site/embedthumbnail/toc/flat?w=100&amp;h=16&quot;/&gt; --><!-- ws:end:WikiTextTocRule:4 --><!-- ws:start:WikiTextTocRule:5: --><a href="#Scala seq files">Scala seq files</a><!-- ws:end:WikiTextTocRule:5 --><!-- ws:start:WikiTextTocRule:6: --> | <a href="# | <div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;width:200%;white-space: pre-wrap ! important" class="old-revision-html"><html><head><title>Using Scala to transform just intonation</title></head><body><!-- ws:start:WikiTextTocRule:4:&lt;img id=&quot;wikitext@@toc@@flat&quot; class=&quot;WikiMedia WikiMediaTocFlat&quot; title=&quot;Table of Contents&quot; src=&quot;/site/embedthumbnail/toc/flat?w=100&amp;h=16&quot;/&gt; --><!-- ws:end:WikiTextTocRule:4 --><!-- ws:start:WikiTextTocRule:5: --><a href="#Scala seq files">Scala seq files</a><!-- ws:end:WikiTextTocRule:5 --><!-- ws:start:WikiTextTocRule:6: --> | <a href="#x5-limit transformations">5-limit transformations</a><!-- ws:end:WikiTextTocRule:6 --><!-- ws:start:WikiTextTocRule:7: --> | ||
<!-- ws:end:WikiTextTocRule:7 --><br /> | <!-- ws:end:WikiTextTocRule:7 --><br /> | ||
<!-- ws:start:WikiTextHeadingRule:0:&lt;h1&gt; --><h1 id="toc0"><a name="Scala seq files"></a><!-- ws:end:WikiTextHeadingRule:0 -->Scala seq files</h1> | <!-- ws:start:WikiTextHeadingRule:0:&lt;h1&gt; --><h1 id="toc0"><a name="Scala seq files"></a><!-- ws:end:WikiTextHeadingRule:0 -->Scala seq files</h1> | ||
Suppose we have a piece in <a class="wiki_link" href="/Just%20intonation">Just intonation</a> which we want to put into the <a class="wiki_link_ext" href="http://www.huygens-fokker.org/scala/seq_format.html" rel="nofollow">Scala seq file</a> format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1&gt;) can be used in place of (5/4), and (|-1 -1 0 1&gt;) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like &quot;4564 note 61 47&quot; in the seq file, where the number right after &quot;note&quot; is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file.<br /> | Suppose we have a piece in <a class="wiki_link" href="/Just%20intonation">Just intonation</a> which we want to put into the <a class="wiki_link_ext" href="http://www.huygens-fokker.org/scala/seq_format.html" rel="nofollow">Scala seq file</a> format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1&gt;) can be used in place of (5/4), and (|-1 -1 0 1&gt;) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like &quot;4564 note 61 47&quot; in the seq file, where the number right after &quot;note&quot; is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file.<br /> | ||
<br /> | <br /> | ||
<!-- ws:start:WikiTextHeadingRule:2:&lt;h1&gt; --><h1 id="toc1"><a name=" | <!-- ws:start:WikiTextHeadingRule:2:&lt;h1&gt; --><h1 id="toc1"><a name="x5-limit transformations"></a><!-- ws:end:WikiTextHeadingRule:2 -->5-limit transformations</h1> | ||
Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. | Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. Going to &quot;Project&quot; under the &quot;Modify&quot; pull-down menu, and putting &quot;5 24/5&quot; into the box called &quot;Factor pair(s)&quot;, the resulting scale will be 10/9 9/8 5/4 6/5 4/3 27/20 3/2 5/3 8/5 15/8 9/5 2. If we use this scale in place of the duodene (be sure <strong>not</strong> to change the ordering!) using the &quot;Tools&quot; pull-down menu at &quot;Transform sequence to midi file&quot;, we will get our original 5-limit duodene piece, only with major and minor switched about. If we put &quot;5 24/5&quot; in the Project command again, we get the duodene back again, which is why this transformation is called an involution.<br /> | ||
<br /> | |||
An alternative method of accomplishing basically the same thing is to use monzo notation for the notes, only <em>without</em> parenthesis. That is, a major third is represented, not by (|-2 0 1&gt;), but by |-2 0 1&gt; with no parentheses. To get this seq file to produce a midi, you need to put both a val command and a corresponding equal command at the top of the file, such as &quot;0 val &lt;612 970 1421|&quot; together with &quot;0 equal 612&quot;. This has the advantage of not requiring a scale file. To produce a midi file with the major-minor involution, replace the mapping for 5 with one for 24/5 in <a class="wiki_link" href="/612edo">612edo</a> or whatever equal division you choose to use; in this case &quot;0 val &lt;612 970 1385|&quot;.<br /> | |||
<br /> | |||
A more exotic transformation is obtained by putting &quot;3 16/5 5 24/5&quot; into the Project box. If we put 3 5 in as our scale using New Scale under the File pull-down menu, then applying this once gives 16/5 24/5 of course, but applying it twice gives 10/3 16/3, which is a new transformation we can obtain directly by &quot;3 10/3 5 16/3&quot;. Applying it three times brings us back to 3 5 again. The transformation is of order three, not order two like the major-minor involution. If we apply it first and then major-minor, we obtain 10/3 5, which gives us yet another transformation; on the other hand, applying major-minor first, we end up at 16/5 16/3. This means that the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Symmetry_group" rel="nofollow">group of transformations</a> is <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Nonabelian_group" rel="nofollow">nonabelian</a>. In fact, it is the smallest of all nonabelian groups, the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Dihedral_group_of_order_6" rel="nofollow">group of the triangle</a> or dihedral group of order six. In total, counting the identity transformation, we get these six transformations:<br /> | |||
<br /> | |||
3-&gt;3 5-&gt;5<br /> | |||
3-&gt;16/5 5-&gt;24/5<br /> | |||
3-&gt;10/3 5-&gt;16/3<br /> | |||
3-&gt;3 5-&gt;24/5<br /> | |||
3-&gt;16/5 5-&gt;16/3<br /> | |||
3-&gt;10/3 5-&gt;5<br /> | |||
<br /> | <br /> | ||
If we apply the Quantize command under the Modify pull-down menu, putting 3 in the box for resolution, we get the <a class="wiki_link" href="/3edo">3edo</a> versions of all of these, which turn out to be the same: the 3edo &quot;skeleton&quot;, as we might call it, of 5-limit just intonation is left invariant by these transformations.</body></html></pre></div> |
Revision as of 14:17, 5 September 2011
IMPORTED REVISION FROM WIKISPACES
This is an imported revision from Wikispaces. The revision metadata is included below for reference:
- This revision was by author genewardsmith and made on 2011-09-05 14:17:30 UTC.
- The original revision id was 250896296.
- The revision comment was:
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.
Original Wikitext content:
[[toc|flat]] =Scala seq files= Suppose we have a piece in [[Just intonation]] which we want to put into the [[http://www.huygens-fokker.org/scala/seq_format.html|Scala seq file]] format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1>) can be used in place of (5/4), and (|-1 -1 0 1>) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like "4564 note 61 47" in the seq file, where the number right after "note" is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file. =5-limit transformations= Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. Going to "Project" under the "Modify" pull-down menu, and putting "5 24/5" into the box called "Factor pair(s)", the resulting scale will be 10/9 9/8 5/4 6/5 4/3 27/20 3/2 5/3 8/5 15/8 9/5 2. If we use this scale in place of the duodene (be sure **not** to change the ordering!) using the "Tools" pull-down menu at "Transform sequence to midi file", we will get our original 5-limit duodene piece, only with major and minor switched about. If we put "5 24/5" in the Project command again, we get the duodene back again, which is why this transformation is called an involution. An alternative method of accomplishing basically the same thing is to use monzo notation for the notes, only //without// parenthesis. That is, a major third is represented, not by (|-2 0 1>), but by |-2 0 1> with no parentheses. To get this seq file to produce a midi, you need to put both a val command and a corresponding equal command at the top of the file, such as "0 val <612 970 1421|" together with "0 equal 612". This has the advantage of not requiring a scale file. To produce a midi file with the major-minor involution, replace the mapping for 5 with one for 24/5 in [[612edo]] or whatever equal division you choose to use; in this case "0 val <612 970 1385|". A more exotic transformation is obtained by putting "3 16/5 5 24/5" into the Project box. If we put 3 5 in as our scale using New Scale under the File pull-down menu, then applying this once gives 16/5 24/5 of course, but applying it twice gives 10/3 16/3, which is a new transformation we can obtain directly by "3 10/3 5 16/3". Applying it three times brings us back to 3 5 again. The transformation is of order three, not order two like the major-minor involution. If we apply it first and then major-minor, we obtain 10/3 5, which gives us yet another transformation; on the other hand, applying major-minor first, we end up at 16/5 16/3. This means that the [[http://en.wikipedia.org/wiki/Symmetry_group|group of transformations]] is [[http://en.wikipedia.org/wiki/Nonabelian_group|nonabelian]]. In fact, it is the smallest of all nonabelian groups, the [[http://en.wikipedia.org/wiki/Dihedral_group_of_order_6|group of the triangle]] or dihedral group of order six. In total, counting the identity transformation, we get these six transformations: 3->3 5->5 3->16/5 5->24/5 3->10/3 5->16/3 3->3 5->24/5 3->16/5 5->16/3 3->10/3 5->5 If we apply the Quantize command under the Modify pull-down menu, putting 3 in the box for resolution, we get the [[3edo]] versions of all of these, which turn out to be the same: the 3edo "skeleton", as we might call it, of 5-limit just intonation is left invariant by these transformations.
Original HTML content:
<html><head><title>Using Scala to transform just intonation</title></head><body><!-- ws:start:WikiTextTocRule:4:<img id="wikitext@@toc@@flat" class="WikiMedia WikiMediaTocFlat" title="Table of Contents" src="/site/embedthumbnail/toc/flat?w=100&h=16"/> --><!-- ws:end:WikiTextTocRule:4 --><!-- ws:start:WikiTextTocRule:5: --><a href="#Scala seq files">Scala seq files</a><!-- ws:end:WikiTextTocRule:5 --><!-- ws:start:WikiTextTocRule:6: --> | <a href="#x5-limit transformations">5-limit transformations</a><!-- ws:end:WikiTextTocRule:6 --><!-- ws:start:WikiTextTocRule:7: --> <!-- ws:end:WikiTextTocRule:7 --><br /> <!-- ws:start:WikiTextHeadingRule:0:<h1> --><h1 id="toc0"><a name="Scala seq files"></a><!-- ws:end:WikiTextHeadingRule:0 -->Scala seq files</h1> Suppose we have a piece in <a class="wiki_link" href="/Just%20intonation">Just intonation</a> which we want to put into the <a class="wiki_link_ext" href="http://www.huygens-fokker.org/scala/seq_format.html" rel="nofollow">Scala seq file</a> format, which is Scala's musical score format. We can enclose the pitch values in parenthesis, so that they have the form (5/4) for a major third or (7/6) for a subminor third. Another form is monzo format, where (|-2 0 1>) can be used in place of (5/4), and (|-1 -1 0 1>) in place of (7/6). An alternative is to use Scala degree numbers. This involves using lines like "4564 note 61 47" in the seq file, where the number right after "note" is the degree or note number. Scala needs additional information in the form of a scale or a declaration of what equal division is being used to interpret the note number, but one of the advantages is that by changing the scale, you can change the music Scala outputs in the form of a midi file.<br /> <br /> <!-- ws:start:WikiTextHeadingRule:2:<h1> --><h1 id="toc1"><a name="x5-limit transformations"></a><!-- ws:end:WikiTextHeadingRule:2 -->5-limit transformations</h1> Suppose we have a scale in 5-limit JI. One of the most basic transformations we can apply to such a scale is the major-minor involution. This changes major triads such as 1-5/4-3/2 to minor triads such as 1-6/5-3/2, and vice-versa. Suppose, for example, our scale is the Ellis duodene: 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 9/5 15/8 2. Going to "Project" under the "Modify" pull-down menu, and putting "5 24/5" into the box called "Factor pair(s)", the resulting scale will be 10/9 9/8 5/4 6/5 4/3 27/20 3/2 5/3 8/5 15/8 9/5 2. If we use this scale in place of the duodene (be sure <strong>not</strong> to change the ordering!) using the "Tools" pull-down menu at "Transform sequence to midi file", we will get our original 5-limit duodene piece, only with major and minor switched about. If we put "5 24/5" in the Project command again, we get the duodene back again, which is why this transformation is called an involution.<br /> <br /> An alternative method of accomplishing basically the same thing is to use monzo notation for the notes, only <em>without</em> parenthesis. That is, a major third is represented, not by (|-2 0 1>), but by |-2 0 1> with no parentheses. To get this seq file to produce a midi, you need to put both a val command and a corresponding equal command at the top of the file, such as "0 val <612 970 1421|" together with "0 equal 612". This has the advantage of not requiring a scale file. To produce a midi file with the major-minor involution, replace the mapping for 5 with one for 24/5 in <a class="wiki_link" href="/612edo">612edo</a> or whatever equal division you choose to use; in this case "0 val <612 970 1385|".<br /> <br /> A more exotic transformation is obtained by putting "3 16/5 5 24/5" into the Project box. If we put 3 5 in as our scale using New Scale under the File pull-down menu, then applying this once gives 16/5 24/5 of course, but applying it twice gives 10/3 16/3, which is a new transformation we can obtain directly by "3 10/3 5 16/3". Applying it three times brings us back to 3 5 again. The transformation is of order three, not order two like the major-minor involution. If we apply it first and then major-minor, we obtain 10/3 5, which gives us yet another transformation; on the other hand, applying major-minor first, we end up at 16/5 16/3. This means that the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Symmetry_group" rel="nofollow">group of transformations</a> is <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Nonabelian_group" rel="nofollow">nonabelian</a>. In fact, it is the smallest of all nonabelian groups, the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Dihedral_group_of_order_6" rel="nofollow">group of the triangle</a> or dihedral group of order six. In total, counting the identity transformation, we get these six transformations:<br /> <br /> 3->3 5->5<br /> 3->16/5 5->24/5<br /> 3->10/3 5->16/3<br /> 3->3 5->24/5<br /> 3->16/5 5->16/3<br /> 3->10/3 5->5<br /> <br /> If we apply the Quantize command under the Modify pull-down menu, putting 3 in the box for resolution, we get the <a class="wiki_link" href="/3edo">3edo</a> versions of all of these, which turn out to be the same: the 3edo "skeleton", as we might call it, of 5-limit just intonation is left invariant by these transformations.</body></html>