2 ; supertux - various sound effect orchestra
4 ; note - The sounds can't be looped right away, an external program needs
5 ; to be used to make them loop
7 ; Bastiaan Zapf - freenode.net basti_
17 ; Generate a random between 0 and 1.
22 a1 exprand 10 ; exponential noise as a base
24 kncrck exprand 1 ; get new crackle raw
25 kcrck = (kocrck-kncrck)/2 ; dc correct crackle
26 kocrck = kncrck ; remember old crackle
28 a1 pareq a1, p4, 30 , 1 , 1 ; growl
29 a1 pareq a1, p5, 0 , 1 , 2 ; high stop
30 a1 pareq a1, p6, kncrck, p7, 0 ; "crackling" of various intensity
32 a1 pareq a1, 10, 0 , 1 , 1 ; thunder stop (dc correction)
34 aout = a1*750 ; adjust your volume here
40 ; rain / water - this is quite similar to lava, just "crackles" more
47 kncrck exprand 1 ; get new crackle
50 kncrck = kncrck^p8 ; few high values, many low values - how sparse
51 ; the highs are is controlled by the power (p8).
52 kcrck = (kocrck-kncrck)/2 ; dc correct crackle
53 kocrck = kncrck ; remember old crackle
55 a1 pareq a1, p4,p5, 1, 1 ; growl
56 a1 pareq a1, p6 ,1+kncrck*p7 ,1, 0 ; "crackling"
57 a1 pareq a1, p6/2,1+k2crck*p7 ,1, 0 ; "crackling"
58 a1 pareq a1, p6/3,1+k2crck*p7 ,1, 0 ; "crackling"
60 a1 pareq a1, 10, 0, 0.7, 1 ; thunder stop (dc correction)
61 a1 pareq a1, p9, 0, 0.7, 2 ; extreme high stop
63 out a1*700 ; adjust your volume here
70 kamp linseg 0,p3/4,1,p3/2,1,p3/4,0
74 aout oscil3 p5,ifqc*kff,1 ; make a sound
75 aout butterhp aout,500,0.5 ; ear protection ;)
77 kff = kff*p6 ; frequency exponential rise
87 kamp linseg 0,p3/8,1,p3*6/8,1,p3/8,0
88 kfenv expseg 0.001,p3/8,3,p3,1,p3*1,0.001
90 asrc oscili p5/4,ifqc,1
91 aout lowres asrc,ifqc*kfenv/2,2
92 aphs phaser2 aout, ifqc*(kfenv+1), 0.89,20, 2, 2, 0.6
96 aecho reverb aout,0.01,0.1
99 aout balance aout,asrc
101 aout butterhp aout,1000,0