1<CsoundSynthesizer> ; Wobble bass made using additive synthesis
2
3<CsOptions> ; and frequency modulation
4--env:SSDIR+=../SourceMaterials -odac
5</CsOptions>
6
7<CsInstruments>
8; Example by Bjørn Houdorf, March 2013
9sr = 44100
10ksmps = 1
11nchnls = 2
120dbfs = 1
13
14instr 1
15kamp       =          24 ; Amplitude
16kfreq      expseg     p4, p3/2, 50*p4, p3/2, p4 ; Base frequency
17iloopnum   =          p5 ; Number of all partials generated
18alyd1      init       0
19alyd2      init       0
20           seed       0
21kfreqmult  oscili     1, 2, 1
22kosc       oscili     1, 2.1, 1
23ktone      randomh    0.5, 2, 0.2 ; A random input
24icount     =          1
25
26loop: ; Loop to generate partials to additive synthesis
27kfreq      =          kfreqmult * kfreq
28atal       oscili     1, 0.5, 1
29apart      oscili     1, icount*exp(atal*ktone) , 1 ; Modulate each partials
30anum       =          apart*kfreq*kosc
31asig1      oscili     kamp, anum, 1
32asig2      oscili     kamp, 1.5*anum, 1 ; Chorus effect to make the sound more "fat"
33asig3      oscili     kamp, 2*anum, 1
34asig4      oscili     kamp, 2.5*anum, 1
35alyd1      =          (alyd1 + asig1+asig4)/icount ;Sum of partials
36alyd2      =          (alyd2 + asig2+asig3)/icount
37           loop_lt    icount, 1, iloopnum, loop ; End of loop
38
39           outs       alyd1, alyd2 ; Output generated sound
40endin
41</CsInstruments>
42
43<CsScore>
44f1 0 128 10 1
45i1 0 60 110 50
46e
47</CsScore>
48
49</CsoundSynthesizer>
50