<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-37148185</id><updated>2011-04-21T21:38:55.147-07:00</updated><category term='interface'/><category term='mos'/><category term='rhythm'/><category term='scala'/><category term='31'/><category term='supercollider'/><category term='nonlinear'/><category term='chuck'/><category term='scalesmith'/><category term='looks'/><title type='text'>Scalesmith</title><subtitle type='html'>putzing around in the tonescape</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://scalesmith.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://scalesmith.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bacob jarton</name><uri>http://www.blogger.com/profile/04488073901426120788</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37148185.post-5015475121050879840</id><published>2007-12-03T21:37:00.000-08:00</published><updated>2007-12-03T21:50:55.683-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rhythm'/><category scheme='http://www.blogger.com/atom/ns#' term='chuck'/><category scheme='http://www.blogger.com/atom/ns#' term='mos'/><title type='text'>Chuck a little bit more, now</title><content type='html'>&lt;a href="http://xenharmonic.wikispaces.com/space/showimage/drumbeat0.mp3"&gt;The sound of it now&lt;/a&gt; (hope the link works)&lt;br /&gt;&lt;br /&gt;The objective: a 16-step sampler sequencer using udderbot sounds, that doesn't sound too dippy or too boring.  Oh, and the rhythm is dictated by a moment-of-symmetry/generator-period setup.&lt;br /&gt;&lt;br /&gt;So I made 20 wav files of various udderbot sounds, and actually made the ChucK do exactly what I wanted it to, hooray.  The trick is putting them into an initial rhythm that grooves - I don't quite have it yet.  Also my samples aren't all perfectly trimmed such that the start of each file is perceived as the downbeat of the sample.&lt;br /&gt;&lt;br /&gt;To keep it from being boring, every period it switches two randomly chosen samples in the sequence, so after awhile it really morphs, nice.&lt;br /&gt;&lt;br /&gt;The rhythmic MOS movement I have a problem with, and the problem/solution lies in the delta function.  In this example I'm going from 3/16 to 3/17 by way of 2/11, but 2/11, being of lower cardinality, hogs a lot of time and paradigm;  this is because if g is changing by a constant (here, 0.0005), the smaller fractions make the overall rhythm slow down, so what you get is MoRE of the boring stuff and less of the intriguing stuff.  I plan to fight this with some sort of exponential curve that makes the delta dependent on proximity to small-number ratios.  Hmm, maybe harmonic entropy can help, hehe.&lt;br /&gt;&lt;br /&gt;The other question is the compositional question of what a transition of 3/16-2/11-3/17 &lt;em&gt;does&lt;/em&gt;, requires, implies.  In my 16-beat paradigm, the 17 side of things has a hole in it, and it's noticeable.  But the 11-dominated middle is ponderously slow at period=24bpm.&lt;br /&gt;&lt;br /&gt;I wonder about secondary beats, whose rhythms are simply halfway between the MOS rhythms'.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;// kleismic joy.ck&lt;br /&gt;// 20 soundfiles, in default folder&lt;br /&gt;["00.wav", "01.wav", "02.wav", "03.wav", "04.wav", "05.wav",&lt;br /&gt;"06.wav", "07.wav", "08.wav", "09.wav", "10.wav", "11.wav",&lt;br /&gt;"12.wav", "13.wav", "14.wav", "15.wav", "16.wav", "17.wav",&lt;br /&gt;"18.wav", "19.wav"] @=&gt; string samps[];&lt;br /&gt;SndBuf bufs[20];&lt;br /&gt;for(0=&gt;int i; i&lt;20; i++)&lt;br /&gt;{&lt;br /&gt;samps[i] =&gt; bufs[i].read;&lt;br /&gt;bufs[i] =&gt; dac;&lt;br /&gt;0.0 =&gt; bufs[i].gain;&lt;br /&gt;}&lt;br /&gt;// wait for the air to clear - else they all play at once.&lt;br /&gt;1::second =&gt; now;&lt;br /&gt;// now turn 'em up&lt;br /&gt;for(0=&gt;int i; i&lt;20; i++)&lt;br /&gt;1.0 =&gt; bufs[i].gain;&lt;br /&gt;// MOS rhythm stuff&lt;br /&gt;//period (tempo)&lt;br /&gt;(4./96.)::minute =&gt; dur p;&lt;br /&gt;//generator (initial value, fraction of 1)&lt;br /&gt;3./16. =&gt; float g;&lt;br /&gt;//number of notes patterning&lt;br /&gt;16 =&gt; int n;&lt;br /&gt;-1 =&gt; int tch; // triangel wave&lt;br /&gt;//the change to g and/or p each iteration of period&lt;br /&gt;fun void delta()&lt;br /&gt;{&lt;br /&gt;(tch) * 0.0005 +=&gt; g;&lt;br /&gt;if( g &gt; 3./16.  g &lt;= 3./17.)&lt;br /&gt;-1 *=&gt; tch;&lt;br /&gt;}&lt;br /&gt;//&lt;br /&gt;0 =&gt; int z;&lt;br /&gt;// make an all-positive MOS&lt;br /&gt;fun float[] makeMOS()&lt;br /&gt;{&lt;br /&gt;float temp;&lt;br /&gt;float r[n];&lt;br /&gt;for(0=&gt;int j; j&lt;n;&gt;j)&lt;br /&gt;(g*j) % 1 =&gt; r[j];&lt;br /&gt;for(0=&gt;int i; i&lt;n;&gt;i) {&lt;br /&gt;for(i+1=&gt;int j; j&lt;n;&gt;j) {&lt;br /&gt;if( r[i] &gt; r[j]) {&lt;br /&gt;r[i] =&gt; temp; r[j] =&gt; r[i]; temp =&gt; r[j];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return r;&lt;br /&gt;}&lt;br /&gt;// calculate array of (time) intervals between adjacent values&lt;br /&gt;fun float[] diffs( float zop[])&lt;br /&gt;{&lt;br /&gt;float zip[n];&lt;br /&gt;for(n-1=&gt;int i; i&gt;0; 1-=&gt;i)&lt;br /&gt;{&lt;br /&gt;zop[i]-zop[i-1] =&gt; zip[i];&lt;br /&gt;}&lt;br /&gt;1.-zop[n-1] =&gt; zip[0];&lt;br /&gt;return zip;&lt;br /&gt;}&lt;br /&gt;// switch a random pair of values in an array&lt;br /&gt;fun void swertch(int oots[])&lt;br /&gt;{&lt;br /&gt;int lars, larsa, temp;&lt;br /&gt;Math.rand2(0, oots.cap()) =&gt; lars;&lt;br /&gt;Math.rand2(0, oots.cap()) =&gt; larsa;&lt;br /&gt;oots[larsa] =&gt; temp;&lt;br /&gt;oots[lars] =&gt; oots[larsa];&lt;br /&gt;temp =&gt; oots[lars];&lt;br /&gt;}&lt;br /&gt;// initialize MOS array&lt;br /&gt;float doit[n];&lt;br /&gt;diffs(makeMOS()) @=&gt; doit;&lt;br /&gt;//for(0=&gt;int i; i&lt;n;&gt;i)&lt;br /&gt;// &lt;&lt;&lt;doit[i]&gt;&gt;&gt;;&lt;br /&gt;// seq[] is sequence of samples&lt;br /&gt;// play seq[] in order, to MOS rhythm, but swertch each period&lt;br /&gt;// problem: if multiples of these are sporked, it will update&lt;br /&gt;// the MOS multiple times!&lt;br /&gt;// problem: still hard-wired to 16!&lt;br /&gt;fun void liftme(int seq[]) {&lt;br /&gt;0 =&gt; int i;&lt;br /&gt;while(true)&lt;br /&gt;{&lt;br /&gt;while(z&lt;16)&lt;br /&gt;{&lt;br /&gt;if( z&gt;-1 )&lt;br /&gt;{&lt;br /&gt;0 =&gt; bufs[seq[z]].pos;&lt;br /&gt;}&lt;br /&gt;doit[z]*p =&gt; now;&lt;br /&gt;z++;&lt;br /&gt;}&lt;br /&gt;delta(); diffs(makeMOS()) @=&gt; doit;&lt;br /&gt;swertch(seq);&lt;br /&gt;0 =&gt; z;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;// not using 0, 1, 6, 11, 18&lt;br /&gt;[17,12,3,8,19,15,13,9,10,9,7,2,14,4,5,16] @=&gt; int ooks[];&lt;br /&gt;spork ~ liftme(ooks);&lt;br /&gt;while(1)&lt;br /&gt;{&lt;br /&gt;2::second =&gt; now;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37148185-5015475121050879840?l=scalesmith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalesmith.blogspot.com/feeds/5015475121050879840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37148185&amp;postID=5015475121050879840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/5015475121050879840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/5015475121050879840'/><link rel='alternate' type='text/html' href='http://scalesmith.blogspot.com/2007/12/chuck-little-bit-more-now.html' title='Chuck a little bit more, now'/><author><name>bacob jarton</name><uri>http://www.blogger.com/profile/04488073901426120788</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37148185.post-8494784326196481171</id><published>2007-07-15T20:37:00.000-07:00</published><updated>2007-07-15T21:12:33.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chuck'/><category scheme='http://www.blogger.com/atom/ns#' term='mos'/><title type='text'></title><content type='html'>&lt;span style="font-size:130%;"&gt;ChucK poke: Rhythmic generator/period explorer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;For hearing Moment-of-symmetry rhythms and rhythms otherwise defined by a three values:  the period (an interval of time), generator (a fraction of that duration), and...well, the third value doesn't have a standard name; I'll say n.  N is the number of notes you're using.  Because, depending on the exact ratio of generator/period, the pattern can be calculated sometimes to infinite density.&lt;br /&gt;&lt;br /&gt;Traditionally the n notes are defined by the number of iterations g's they are defined by (I'm calling this the multiplier, m), always modulo by p.  For example, say p = 1 second, and g = 5/12 of that, and n = 7.  To get a 7-note scale generated by these values, you could take g*m where m runs from 0 to 6:&lt;br /&gt;&lt;br /&gt;0/12&lt;br /&gt;5/12&lt;br /&gt;10/12&lt;br /&gt;3/12&lt;br /&gt;8/12&lt;br /&gt;1/12&lt;br /&gt;6/12&lt;br /&gt;&lt;br /&gt;(if we were speaking of scales, this is Locrian) these define a rhythm that repeats every second.  As an additive pattern, this will sound like 1-2-2-1-2-2-2.  However, in the ChucK code presented, which centers the multiples on zero, this would run from m = -3 to 3:&lt;br /&gt;&lt;br /&gt;9/12&lt;br /&gt;2/12&lt;br /&gt;7/12&lt;br /&gt;0/12&lt;br /&gt;5/12&lt;br /&gt;10/12&lt;br /&gt;3/12&lt;br /&gt;&lt;br /&gt;(Rhythmically these are the same, but with an offset "downbeat".)  At any rate, what interested me enough in this process was an understanding of the Scale Tree (see Erv Wilson) and a desire to watch one rhythm (tree) change into another.  So the code is equipped with a delta function that might slowly (or rapidly) alter the value of g and/or p and let us hear slow and creepy paradigm shift.&lt;br /&gt;&lt;br /&gt;On my Lombard laptop I can only get 7 notes before ChucK becomes annoyed; I am unsure if this is a processor or a ChucK limitation.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;//mosmando.ck&lt;br /&gt;//rhythm mos explorer&lt;br /&gt;// manifestation 0: equal-tuned mando-handbells&lt;br /&gt;&lt;br /&gt;//period (tempo)&lt;br /&gt;.56::second =&gt; dur p;&lt;br /&gt;&lt;br /&gt;//generator (initial value, fraction of 1)&lt;br /&gt;1. =&gt; float g;&lt;br /&gt;&lt;br /&gt;//number of notes patterning (also tones per octave)&lt;br /&gt;7 =&gt; int e;&lt;br /&gt;&lt;br /&gt;//the change to g and/or p each iteration of period&lt;br /&gt;fun void delta()&lt;br /&gt;{&lt;br /&gt; 0.01 +=&gt; g;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//each boop sporked plays one multiplier (m) of the period...&lt;br /&gt;// only activates notes (no noteOff)&lt;br /&gt;//  queries global variables g and p each time anew&lt;br /&gt;fun void boop( float m, float freq, StkInstrument v)&lt;br /&gt;{&lt;br /&gt; //Std.fabs(m)*p =&gt; now;&lt;br /&gt; v =&gt; dac;&lt;br /&gt; &lt;br /&gt; freq =&gt; v.freq;&lt;br /&gt; dur begin;&lt;br /&gt;&lt;br /&gt; while ( true )&lt;br /&gt; {&lt;br /&gt;  if ( m &lt; 0 )&lt;br /&gt;  {&lt;br /&gt;   (1+ (g*m%1) % 1) *p =&gt; begin;&lt;br /&gt;  } else {&lt;br /&gt;   if ( m == 0 )&lt;br /&gt;   { 0::second =&gt; begin; }&lt;br /&gt;   else {&lt;br /&gt;   g*m%1 * p =&gt; begin; } }&lt;br /&gt;  begin =&gt; now;&lt;br /&gt;  v.noteOn(0.6);&lt;br /&gt;  p - begin =&gt; now;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// make a Mandolin with random timbre, chuck to dac&lt;br /&gt;fun StkInstrument mandome()&lt;br /&gt;{&lt;br /&gt; Mandolin m;&lt;br /&gt; Std.rand2f( 0, 1 ) =&gt; m.bodySize;&lt;br /&gt;    Std.rand2f( 0, 1 ) =&gt; m.pluckPos;&lt;br /&gt; 0.3 =&gt; m.stringDamping;&lt;br /&gt; m =&gt; dac;&lt;br /&gt; return m;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// iterative version.&lt;br /&gt;fun void multispork(int n)&lt;br /&gt;{&lt;br /&gt; for(0=&gt;int i; i &lt; n; i++)&lt;br /&gt; {&lt;br /&gt;  spork ~ boop( i-(n/2), Std.mtof(57.+(12.*i/n)), mandome());&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// sequence-of-notes version (make sure size is the same as n!)&lt;br /&gt;[ 57., 59., 61., 57., 59., 57., 53. ]@=&gt; float arr[];&lt;br /&gt;fun void multispork2(int n)&lt;br /&gt;{&lt;br /&gt; for(0=&gt;int i; i &lt; n; i++)&lt;br /&gt; {&lt;br /&gt;  spork ~ boop( i-(n/2), Std.mtof(arr[i]), mandome());&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;multispork(e);&lt;br /&gt;&lt;br /&gt;while (true)&lt;br /&gt;{ &lt;br /&gt; delta();&lt;br /&gt; p =&gt; now; }&lt;br /&gt;&lt;br /&gt;// a favorite: g-delta = 2/9., eq5&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37148185-8494784326196481171?l=scalesmith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalesmith.blogspot.com/feeds/8494784326196481171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37148185&amp;postID=8494784326196481171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/8494784326196481171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/8494784326196481171'/><link rel='alternate' type='text/html' href='http://scalesmith.blogspot.com/2007/07/chuck-poke-rhythmic-generatorperiod.html' title=''/><author><name>bacob jarton</name><uri>http://www.blogger.com/profile/04488073901426120788</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37148185.post-8496504299271161397</id><published>2007-01-08T21:40:00.000-08:00</published><updated>2007-01-08T22:18:38.650-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='supercollider'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='31'/><title type='text'></title><content type='html'>&lt;span style="font-size:130%;"&gt;Supercollider Stabs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Recent attempts to learn the language of &lt;a href="http://www.audiosynth.com/"&gt;Supercollider&lt;/a&gt; finally yield elementarily fruitful results.  Behold.&lt;br /&gt;&lt;br /&gt;1)&lt;span style="font-weight: bold;"&gt; Vari-loop&lt;/span&gt; allows me to sing a round with myself at any interval up to 6 seconds - the exact interval is determined by the amount of time between the two most recent clicks of the mouse!&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;({&lt;br /&gt;var max, trig, time;&lt;br /&gt;max = 5;                          //maximum delay interval, in seconds&lt;br /&gt;trig = MouseButton.kr(-1,1);&lt;br /&gt;o = AudioIn.ar(1);                // microphone&lt;br /&gt;time = Timer.kr(trig);&lt;br /&gt;v = DelayN.ar(o, max, time, 0.2); // first delay&lt;br /&gt;w = DelayN.ar(v, max, time, 1);   // second delay follows first, etc.&lt;br /&gt;x = DelayN.ar(w, max, time, 1);   // for less than 4 delays, comment out some&lt;br /&gt;y = DelayN.ar(x, max, time, 1);   // just don't forget to change the next line&lt;br /&gt;m = v+w+x+y;                      // mix&lt;br /&gt;[m,m]                             //out to left and right&lt;br /&gt;}.play)&lt;/span&gt;&lt;/pre&gt;This plans to flourish into a full loop/delay laptop interface;  now it's a start.  Sound examples may come in time.&lt;br /&gt;&lt;br /&gt;2. Simple &lt;span style="font-weight: bold;"&gt;31-EDO&lt;/span&gt; ear training.  Drone e; moving the mouse left to right gives the octave above it quantized to 31; moving the mouse up and down controls the volume of the second voice.&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;({Formant.ar({ 2 ** ( floor(MouseX.kr(0, 32, 0, 0.1))/31.0 ) * 160.0}, //32 steps of 31st root of 2&lt;br /&gt;           1000, 500,                                               //formant parameters&lt;br /&gt;           MouseY.kr(0.4, 0, 0),                                    //0-0.4 mul&lt;br /&gt;           Formant.ar(160, 1000, 600, 0.2)                          //da drone&lt;br /&gt;         )}.play)&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;This can be easily changed to any other equal tuning.  I personally see 31 as a gateway tuning to the more heavy, trippy, life-threatening tunings...&lt;br /&gt;&lt;br /&gt;I don't claim to know much more about Supercollider than how to get these things running (and every red herring function tried in the meantime), but if that's all you'd like to do, I could might help.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37148185-8496504299271161397?l=scalesmith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalesmith.blogspot.com/feeds/8496504299271161397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37148185&amp;postID=8496504299271161397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/8496504299271161397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/8496504299271161397'/><link rel='alternate' type='text/html' href='http://scalesmith.blogspot.com/2007/01/supercollider-stabs-recent-attempts-to.html' title=''/><author><name>bacob jarton</name><uri>http://www.blogger.com/profile/04488073901426120788</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37148185.post-7171761072415149759</id><published>2007-01-06T23:15:00.000-08:00</published><updated>2007-01-07T11:13:59.818-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nonlinear'/><category scheme='http://www.blogger.com/atom/ns#' term='looks'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='scalesmith'/><category scheme='http://www.blogger.com/atom/ns#' term='31'/><category scheme='http://www.blogger.com/atom/ns#' term='scala'/><title type='text'></title><content type='html'>&lt;span style="font-size:180%;"&gt;Circles tied in knots&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a nice look that would work on a variety of systems;  it is particularly useful in ultrachromatic (lots of small steps) scales for drawing out characteristic intervals that aren't the basic tiny step.  It is based on the MOS look at equal temperaments, which requires you to choose an interval whose index is coprime with the size of the scale.  But it could work equally well in an unequal scale for mixing things up.&lt;br /&gt;&lt;br /&gt;The look itself notices that the easiest way not to get lost on a keyboard is to play it linearly.  Especially if you've found a nice juicy chord and you want to try it in various transpositions;  you don't want to jump around a lot, but moving up or down by a "semitone" is manageable.  Therefore, re-order the notes in a scale to that of a circle (of fifths, of anything), but keep it in the right order (2/1).  The distance on the keyboard becomes a harmonic distance in relation to the generating interval chosen.  One has an easy look at the related MOS structures, and as an added bonus the intervals move up or down (to stay in the 2/1) in exciting ways.&lt;br /&gt;&lt;br /&gt;I already is not saying what I wants to because of a lack of terminology, dang.  Today I did it this way:  I chose an interval in 31, made a one-note scale with that interval, extended it to 31 notes, and reduced it into an octave.  Some pretty things I've found:&lt;br /&gt;&lt;br /&gt;• When generating interval is a fifth and the compass is limited to the octave, playing a descending figure of four adjacent "semitones" and descending that figure by a "semitone" each iteration.&lt;br /&gt;&lt;br /&gt;• When g = 12/31-oct, playing on the black keys.&lt;br /&gt;&lt;br /&gt;• When g = 7/31-oct (orwell!), find a 4:5:6:7 tetrad and modulate it by single steps!  Juicy common tone AND diesis movement!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37148185-7171761072415149759?l=scalesmith.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scalesmith.blogspot.com/feeds/7171761072415149759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37148185&amp;postID=7171761072415149759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/7171761072415149759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37148185/posts/default/7171761072415149759'/><link rel='alternate' type='text/html' href='http://scalesmith.blogspot.com/2007/01/here-is-nice-look-that-would-work-on.html' title=''/><author><name>bacob jarton</name><uri>http://www.blogger.com/profile/04488073901426120788</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
