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>