Composition Under Construction Jacob Joaquin Feb 9, 2010 jacobjoaquin@gmail.com csound.noisepages.com Day 1 sr = 44100 kr = 44100 ksmps = 1 nchnls = 2 0dbfs = 1.0 # define Setup # 1 # # define Random_Interval # 2 # # define Set_Interval # 3 # # define Synth # 4 # gitemp ftgen 13, 0, 64, -2, 13, 2, 261.659, 60, \ 1, 27 / 25, 25 / 21, 9 / 7, \ 7 / 5, 75 / 49, 5 / 3, 9 / 5, \ 49 / 25, 15 / 7, 7 / 3, 63 / 25, \ 25 / 9, 3 / 1 instr $Setup chn_k "mod_interval", 3 chnset 0, "mod_interval" endin instr $Random_Interval ibeats = p4 itable = p5 ibase = p6 ; ifreq = int(rnd(27)) ifreq = int(rnd(ftlen(itable))) + ibase event_i "i", $Set_Interval, 0, 1, ifreq print ifreq print ibeats inext = (int(rnd(8)) / 8 + 0.125) * p3 ibeats = ibeats - inext print inext if (ibeats > 0) then event_i "i", $Random_Interval, inext, 1, ibeats, itable, ibase endif turnoff endin instr $Set_Interval i_interval = p4 chnset i_interval, "mod_interval" turnoff endin instr $Synth kmod chnget "mod_interval" ;kfreq = 262 * 3 ^ (kmod / 13) kfreq cpstun 1, kmod, 13 kfreq portk kfreq, 0.005 aphasor phasor 1 kphasor downsamp aphasor kenv table kphasor, 10, 1 ;k2 oscil 0.5, 3, 1 k2 table kphasor * 2, 1, 1, 0.75, 1 ; Control FM Index k2 = k2 + 0.5 a1 foscil 0.5, kfreq, 1, 1, k2 * 1.5 + 1, 1 a1 = a1 * kenv a3 delay a1, 4 al, ar freeverb a1, a3, 0.5, 0.7 ;out (a1 + a3 * 0.707) outs a1 * 0.5 + al * 0.5, a3 * 0.5 + ar * 0.5 endin # define Setup # 1 # # define Random_Interval # 2 # # define Set_Interval # 3 # # define Synth # 4 # t 0 120 f 1 0 [2 ^ 16 + 1] 10 1 ; Sine f 2 0 [2 ^ 16] -7 1 [2 ^ 16] -1 ; Saw down f 10 0 128 -7 0 16 1 112 0 ; Envelope shape ; Collection of intervals f 100 0 -12 -2 0 2 3 5 7 8 10 12 13 15 17 18 f 101 0 -7 -2 0 5 8 13 18 21 26 f 102 0 -14 -2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 f 103 0 -3 -2 0 5 13 f 104 0 -3 -2 0 6 11 f 105 0 -6 -2 0 3 5 9 11 13 i $Setup 0 1 i $Synth 0 120 i $Random_Interval 0 1 120 105 64