1<CsoundSynthesizer>
2<CsOptions>
3--env:SSDIR+=../SourceMaterials -o dac
4</CsOptions>
5<CsInstruments>
6;example by Andrés Cabrera
7sr = 44100
8ksmps = 32
9nchnls = 2
100dbfs = 1
11
12giSine    ftgen     0, 0, 2^10, 10, 1
13
14    instr 1 ;harmonic additive synthesis
15;receive general pitch and volume from the score
16ibasefrq  =         cpspch(p4) ;convert pitch values to frequency
17ibaseamp  =         ampdbfs(p5) ;convert dB to amplitude
18;create 8 harmonic partials
19aOsc1     poscil    ibaseamp, ibasefrq, giSine
20aOsc2     poscil    ibaseamp/2, ibasefrq*2, giSine
21aOsc3     poscil    ibaseamp/3, ibasefrq*3, giSine
22aOsc4     poscil    ibaseamp/4, ibasefrq*4, giSine
23aOsc5     poscil    ibaseamp/5, ibasefrq*5, giSine
24aOsc6     poscil    ibaseamp/6, ibasefrq*6, giSine
25aOsc7     poscil    ibaseamp/7, ibasefrq*7, giSine
26aOsc8     poscil    ibaseamp/8, ibasefrq*8, giSine
27;apply simple envelope
28kenv      linen     1, p3/4, p3, p3/4
29;add partials and write to output
30aOut = aOsc1 + aOsc2 + aOsc3 + aOsc4 + aOsc5 + aOsc6 + aOsc7 + aOsc8
31          outs      aOut*kenv, aOut*kenv
32    endin
33
34    instr 2 ;inharmonic additive synthesis
35ibasefrq  =         cpspch(p4)
36ibaseamp  =         ampdbfs(p5)
37;create 8 inharmonic partials
38aOsc1     poscil    ibaseamp, ibasefrq, giSine
39aOsc2     poscil    ibaseamp/2, ibasefrq*1.02, giSine
40aOsc3     poscil    ibaseamp/3, ibasefrq*1.1, giSine
41aOsc4     poscil    ibaseamp/4, ibasefrq*1.23, giSine
42aOsc5     poscil    ibaseamp/5, ibasefrq*1.26, giSine
43aOsc6     poscil    ibaseamp/6, ibasefrq*1.31, giSine
44aOsc7     poscil    ibaseamp/7, ibasefrq*1.39, giSine
45aOsc8     poscil    ibaseamp/8, ibasefrq*1.41, giSine
46kenv      linen     1, p3/4, p3, p3/4
47aOut = aOsc1 + aOsc2 + aOsc3 + aOsc4 + aOsc5 + aOsc6 + aOsc7 + aOsc8
48          outs aOut*kenv, aOut*kenv
49    endin
50
51</CsInstruments>
52<CsScore>
53;          pch       amp
54i 1 0 5    8.00      -13
55i 1 3 5    9.00      -17
56i 1 5 8    9.02      -15
57i 1 6 9    7.01      -15
58i 1 7 10   6.00      -13
59s
60i 2 0 5    8.00      -13
61i 2 3 5    9.00      -17
62i 2 5 8    9.02      -15
63i 2 6 9    7.01      -15
64i 2 7 10   6.00      -13
65</CsScore>
66</CsoundSynthesizer>