1<CsoundSynthesizer> 2<CsOptions> 3--env:SSDIR+=../SourceMaterials -o dac 4</CsOptions> 5<CsInstruments> 6;Example by Joachim Heintz 7sr = 44100 8ksmps = 32 9nchnls = 2 100dbfs = 1 11 12;frequency and amplitude multipliers for 11 partials of Risset's bell 13giFqs ftgen 0, 0, -11,-2,.56,.563,.92, .923,1.19,1.7,2,2.74, \ 14 3,3.74,4.07 15giAmps ftgen 0, 0, -11, -2, 1, 2/3, 1, 1.8, 8/3, 1.46, 4/3, 4/3, 1, 4/3 16giSine ftgen 0, 0, 2^10, 10, 1 17 seed 0 18 19instr 1 ;master instrument 20ibasfreq = 400 21ifqdev = p4 ;maximum freq deviation in cents 22iampdev = p5 ;maximum amp deviation in dB 23idurdev = p6 ;maximum duration deviation in % 24indx = 0 ;count variable for loop 25loop: 26ifqmult tab_i indx, giFqs ;get frequency multiplier from table 27ifreq = ibasfreq * ifqmult 28iampmult tab_i indx, giAmps ;get amp multiplier 29iamp = iampmult / 20 ;scale 30 event_i "i", 10, 0, p3, ifreq, iamp, ifqdev, iampdev, idurdev 31 loop_lt indx, 1, 11, loop 32endin 33 34instr 10 ;subinstrument for playing one partial 35;receive the parameters from the master instrument 36ifreqnorm = p4 ;standard frequency of this partial 37iampnorm = p5 ;standard amplitude of this partial 38ifqdev = p6 ;maximum freq deviation in cents 39iampdev = p7 ;maximum amp deviation in dB 40idurdev = p8 ;maximum duration deviation in % 41;calculate frequency 42icent random -ifqdev, ifqdev ;cent deviation 43ifreq = ifreqnorm * cent(icent) 44;calculate amplitude 45idb random -iampdev, iampdev ;dB deviation 46iamp = iampnorm * ampdb(idb) 47;calculate duration 48idurperc random -idurdev, idurdev ;duration deviation (%) 49iptdur = p3 * 2^(idurperc/100) 50p3 = iptdur ;set p3 to the calculated value 51;play partial 52aenv transeg 0, .01, 0, iamp, p3-.01, -10, 0 53apart poscil aenv, ifreq, giSine 54 outs apart, apart 55endin 56 57</CsInstruments> 58<CsScore> 59; frequency amplitude duration 60; deviation deviation deviation 61; in cent in dB in % 62;;unchanged sound (twice) 63r 2 64i 1 0 5 0 0 0 65s 66;;slight variations in frequency 67r 4 68i 1 0 5 25 0 0 69;;slight variations in amplitude 70r 4 71i 1 0 5 0 6 0 72;;slight variations in duration 73r 4 74i 1 0 5 0 0 30 75;;slight variations combined 76r 6 77i 1 0 5 25 6 30 78;;heavy variations 79r 6 80i 1 0 5 50 9 100 81</CsScore> 82</CsoundSynthesizer>