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>