gi3semitone ftgen 0, 0, 5, -2, 0, 3, 6, 9, 12 gi4semitone ftgen 0, 0, 4, -2, 0, 4, 8, 12 giaeolian ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 8, 10 giaeolian ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 8, 10, 12 gialgerian ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 8, 11, 12 gialgerian1 ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 8, 11, 12 gialgerian2 ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 8, 10, 12 gialtered ftgen 0, 0, 8, -2, 0, 1, 3, 4, 6, 8, 10, 12 giarabian ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 11, 12 giaugmented ftgen 0, 0, 7, -2, 0, 3, 4, 7, 8, 11, 12 gibalinese ftgen 0, 0, 6, -2, 0, 1, 3, 7, 8, 12 gibebopdominant ftgen 0, 0, 9, -2, 0, 2, 4, 5, 7, 9, 10, 11, 12 gibebopdominantflatnine ftgen 0, 0, 9, -2, 0, 1, 4, 5, 7, 9, 10, 11, 12 gibebopmajor ftgen 0, 0, 9, -2, 0, 2, 4, 5, 7, 8, 9, 11, 12 gibebopminor ftgen 0, 0, 9, -2, 0, 2, 3, 5, 7, 8, 9, 10, 12 gibeboptonicminor ftgen 0, 0, 9, -2, 0, 2, 3, 5, 7, 8, 9, 11, 12 giblues ftgen 0, 0, 7, -2, 0, 3, 5, 6, 7, 10, 12 gibyzantine ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 11, 12 gichahargah ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 11, 12 gichinese ftgen 0, 0, 6, -2, 0, 2, 4, 7, 9, 12 gichinese2 ftgen 0, 0, 6, -2, 0, 4, 6, 7, 11, 12 gichroma ftgen 0, 0, 12, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 gichromatic ftgen 0, 0, 13, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 gidim ftgen 0, 0, 4, -2, 0, 3, 6, 9 gidiminished ftgen 0, 0, 9, -2, 0, 2, 3, 5, 6, 8, 9, 11, 12 gidorian ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 9, 10 gidorian ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 9, 10, 12 gidoubleharmonic ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 11, 12 giegyptian ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 8, 11, 12 gienigmatic ftgen 0, 0, 8, -2, 0, 1, 4, 6, 8, 10, 11, 12 giethiopian ftgen 0, 0, 8, -2, 0, 2, 4, 5, 7, 8, 11, 12 giflamenco ftgen 0, 0, 9, -2, 0, 1, 3, 4, 5, 7, 8, 10, 12 gigypsy ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 11, 12 giharmonic ftgen 0, 0, 7, -2, 0, 2, 4, 5, 7, 9, 11 giharmonicmajor ftgen 0, 0, 8, -2, 0, 2, 4, 5, 8, 9, 11, 12 giharmonicminor ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 8, 11 giharmonicminor ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 8, 11, 12 gihindu ftgen 0, 0, 8, -2, 0, 2, 4, 5, 7, 8, 10, 12 gihirajoshi ftgen 0, 0, 6, -2, 0, 2, 3, 7, 8, 12 gihungariangypsy ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 8, 11, 12 gihungarianmajor ftgen 0, 0, 8, -2, 0, 3, 4, 6, 7, 9, 10, 12 gihungarianminor ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 8, 11, 12 giindian ftgen 0, 0, 8, -2, 0, 1, 3, 4, 7, 8, 10, 12 giinverteddiminished ftgen 0, 0, 9, -2, 0, 1, 3, 4, 6, 7, 9, 10, 12 giionian ftgen 0, 0, 7, -2, 0, 2, 4, 5, 7, 9, 11 giionian ftgen 0, 0, 8, -2, 0, 2, 4, 5, 7, 9, 11, 12 giiwato ftgen 0, 0, 6, -2, 0, 1, 5, 6, 10, 12 gijapanese ftgen 0, 0, 6, -2, 0, 1, 5, 7, 8, 12 gijavanese ftgen 0, 0, 8, -2, 0, 1, 3, 5, 7, 9, 10, 12 gijewish ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 10, 12 gikumoi ftgen 0, 0, 6, -2, 0, 1, 5, 7, 8, 12 gileadingwholetone ftgen 0, 0, 8, -2, 0, 2, 4, 6, 8, 10, 11, 12 gilocrian ftgen 0, 0, 7, -2, 0, 1, 3, 5, 6, 8, 10 gilocrian ftgen 0, 0, 8, -2, 0, 1, 3, 5, 6, 8, 10, 12 gilocrianmajor ftgen 0, 0, 8, -2, 0, 2, 4, 5, 6, 8, 10, 12 gilocriannatural ftgen 0, 0, 8, -2, 0, 2, 3, 5, 6, 8, 10, 12 gilocriansuper ftgen 0, 0, 8, -2, 0, 1, 3, 4, 6, 8, 10, 12 gilocrianultra ftgen 0, 0, 8, -2, 0, 1, 3, 4, 6, 8, 9, 12 gilydian ftgen 0, 0, 7, -2, 0, 2, 4, 6, 7, 9, 11 gilydian ftgen 0, 0, 8, -2, 0, 2, 4, 6, 7, 9, 11, 12 gilydianaugmented ftgen 0, 0, 8, -2, 0, 2, 4, 6, 8, 9, 10, 12 gilydiandominant ftgen 0, 0, 8, -2, 0, 2, 4, 6, 7, 9, 10, 12 gilydianminor ftgen 0, 0, 8, -2, 0, 2, 4, 6, 7, 8, 10, 12 gim7 ftgen 0, 0, 19, -2, 0, 3, 7, 10, 14, 17, 21, 24, 27, 31, 34, 38, 41, 45, 48, 51, 55, 58, 62 gimajor ftgen 0, 0, 7, -2, 0, 2, 4, 5, 7, 9, 11 gimarva ftgen 0, 0, 8, -2, 0, 1, 4, 6, 7, 9, 11, 12 gimelodicminor ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 9, 11, 12 gimelodicminorascending ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 9, 11 gimelodicminordescending ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 8, 10 giminor ftgen 0, 0, 7, -2, 0, 2, 3, 5, 7, 8, 10 giminor3 ftgen 0, 0, 7, -2, 0, 2, 2.75, 5, 7.15, 8, 10 gimjnor ftgen 0, 0, 7, -2, 0, 1.75, 2.75, 5.35, 7.35, 8, 10 giminor2v5 ftgen 0, 0, 7, -2, 0, 2, 2.5, 5, 7, 8, 10 gimixolydian ftgen 0, 0, 7, -2, 0, 2, 4, 5, 7, 9, 10 gimixolydian ftgen 0, 0, 8, -2, 0, 2, 4, 5, 7, 9, 10, 12 gimixolydianaugmented ftgen 0, 0, 8, -2, 0, 2, 4, 5, 8, 9, 10, 12 gimohammedan ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 8, 11, 12 gimongolian ftgen 0, 0, 6, -2, 0, 2, 4, 7, 9, 12 gimonotone ftgen 0, 0, 1, -2, 0 ginaturalminor ftgen 0, 0, 7, -2, 9, 11, 0, 2, 4, 5, 7 ginaturalminor ftgen 0, 0, 8, -2, 0, 2, 3, 5, 7, 8, 10, 12 gineapolitanmajor ftgen 0, 0, 8, -2, 0, 1, 3, 5, 7, 9, 11, 12 gineapolitanminor ftgen 0, 0, 8, -2, 0, 1, 3, 5, 7, 8, 11, 12 giocta_1_2 ftgen 0, 0, 8, -2, 0, 1, 3, 4, 6, 7, 9, 10 giocta_2_1 ftgen 0, 0, 8, -2, 0, 2, 3, 5, 6, 8, 9, 11 gioriental ftgen 0, 0, 8, -2, 0, 1, 4, 5, 6, 9, 10, 12 giovertone ftgen 0, 0, 8, -2, 0, 2, 4, 6, 7, 9, 10, 12 gipa ftgen 0, 0, 6, -2, 0, 2, 3, 7, 8, 12 gipb ftgen 0, 0, 6, -2, 0, 1, 3, 6, 8, 12 gipd ftgen 0, 0, 6, -2, 0, 2, 3, 7, 9, 12 gipe ftgen 0, 0, 6, -2, 0, 1, 3, 7, 8, 12 gipelog ftgen 0, 0, 6, -2, 0, 1, 3, 7, 10, 12 gipentamaj ftgen 0, 0, 5, -2, 0, 2, 4, 7, 9 gipentamin ftgen 0, 0, 5, -2, 0, 3, 5, 7, 10 gipentatonicmajor ftgen 0, 0, 6, -2, 0, 2, 4, 7, 9, 12 gipentatonicminor ftgen 0, 0, 6, -2, 0, 3, 5, 7, 10, 12 gipersian ftgen 0, 0, 8, -2, 0, 1, 4, 5, 6, 8, 11, 12 gipfcg ftgen 0, 0, 6, -2, 0, 2, 4, 7, 9, 12 giphrygian ftgen 0, 0, 7, -2, 0, 1, 3, 5, 7, 8, 10 giphrygian ftgen 0, 0, 8, -2, 0, 1, 3, 5, 7, 8, 10, 12 giphrygianmajor ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 10, 12 giquarter ftgen 0, 0, 22, -2, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5 giromanian ftgen 0, 0, 8, -2, 0, 2, 3, 6, 7, 9, 10, 12 gispanish ftgen 0, 0, 8, -2, 0, 1, 4, 5, 7, 8, 10, 12 gispanish8tone ftgen 0, 0, 9, -2, 0, 1, 3, 4, 5, 6, 8, 10, 12 gisymmetrical ftgen 0, 0, 9, -2, 0, 1, 3, 4, 6, 7, 9, 10, 12 gitodi ftgen 0, 0, 8, -2, 0, 1, 3, 6, 7, 8, 11, 12 giwhole ftgen 0, 0, 6, -2, 0, 2, 4, 6, 8, 10 giwhole ftgen 0, 0, 7, -2, 0, 2, 4, 6, 8, 10, 12 gibp ftgen 0, 0, 12, -2, 0, 1.3324, 3.0185, 4.3508, 5.8251, 7.3693, 8.8436, 10.1760, 11.6502, 13.1944, 14.6687, 16.0011, 17.6872, 19.0196 #define chinese #gichinese# #define persian #gipersian# #define indian #giindian# #define arabian #giarabian# #define minor #giminor# #define major #gimajor# opcode scale_up, k, ikkk iscale, kmin, kmax, kspeed xin ktrig = metro:k(kspeed) idiff = abs( i(kmax) - i(kmin) ) ibase = i(kmin) kpick init 0 knote init ibase kitv init 0 ilen = ftlen(iscale) if(ktrig == 1) then kpick = (kpick + 1) ;% ilen if(kpick == ilen) then kpick = 0 kitv = 0 endif kitv = table(kpick, iscale) - kitv printk2 kitv knote = knote + kitv if(knote > kmax) then knote = kmin + (knote - kmax) endif endif xout knote endop /* opcode scale_up, k, ikkk iscale, kmin, kmax, kspeed xin ktrig = metro:k(kspeed) idiff = abs( i(kmax) - i(kmin) ) ibase = i(kmin) + (idiff/2) kpick init 0 knote init ibase ilen = ftlen(iscale) if(ktrig == 1) then kpick = (kpick + 1) % ilen kitv = table(kpick, iscale) knote = knote + kitv if(knote > kmax) then knote = kmin + (knote - kmax) endif endif xout knote endop */ opcode scale_down, k, ikkk iscale, kmin, kmax, kspeed xin ktrig = metro:k(kspeed) idiff = abs( i(kmax) - i(kmin) ) ibase = i(kmax) kpick init 0 knote init ibase ilen = ftlen(iscale) if(ktrig == 1) then kpick = (kpick + 1) % ilen kitv = table(kpick, iscale) knote = knote - kitv if(knote < kmin) then knote = kmax ;- (kmin - knote) endif endif xout knote endop opcode scale_random, k, ikkk iscale, kmin, kmax, kspeed xin ktrig = metro:k(kspeed) idiff = abs( i(kmax) - i(kmin) ) ibase = i(kmin) + (idiff/2) kpick init 0 knote init ibase ilen = ftlen(iscale) if(ktrig == 1) then ksign = (rint:k(0, 1) == 0) ? -1 : 1 kpick = (kpick + 1) % ilen kitv = table(kpick, iscale) knote = knote + (kitv * ksign) if(knote < kmin) then knote = kmax ;- (kmin - knote) endif if(knote > kmax) then knote = kmin ;+ (knote - kmax) endif endif xout knote endop