sr = 96000
kr = 96000
ksmps = 1
nchnls = 1
#define fundamental #11.21#; choose a fundamental frequency 30 Hz or below (infrasound allowed)
#define normalize #1#; normalize if necessary, 1 is normally OK (dynamic level changable)
; set tempo in score below
itmp ftgen 1, 0, 16384, 10, 1
instr 1
ip4 = $fundamental*p4; partial
ip5 = $fundamental*p5; partial
aenv linen 1, p6, p3, p6; envelope
arnd rand 32767, 2, 1; white noise
kfreq line ip4, p3, ((ip5-ip4)/2)+ip4; calculate sweep frequency
ares1 butbp arnd, kfreq, (kfreq-ip4)*2.58; implement filters
ares2 butbp ares1, kfreq, (kfreq-ip4)*2.58;
ares3 butbp ares2, kfreq, (kfreq-ip4)*2.58;
ares4 butbp ares3, kfreq, (kfreq-ip4)*2.58;
ares5 butbp ares4, kfreq, (kfreq-ip4)*2.58;
ares6 butbp ares5, kfreq, (kfreq-ip4)*2.58;
ares7 butbp ares6, kfreq, (kfreq-ip4)*2.58;
ares8 butbp ares7, kfreq, (kfreq-ip4)*2.58;
iran1 random .005, .014
iran2 random 88, 107
iran3 random 63, 85
iran4 random 67, 100
kamp transeg iran2, p3*iran1, -2, iran3, p3*(.019-iran1), -2, iran4, p3*.031, 3, 0, p3*.95, 0, 0;
aosc poscil3 kamp, ip4, 1
out $normalize*(ares8+aosc)*aenv
endin
#define bpm #763#; choose a tempo in bpm, must be 1450 or below (base note value .04138 seconds or greater)
t 0 $bpm
i1 0 1 0 0 0; silence
i1 + 1 1 3 .0205
i1 + 3 3 4 .0198
i1 + 4 4 7 .0192
i1 + 7 7 11 .0178
i1 + 11 11 18 .0159
i1 + 18 18 29 .0131
i1 + 29 29 47 .0103
i1 + 47 47 76 .0083
i1 + 76 76 123 .0065
i1 + 123 123 199 .0046
i1 + 199 199 322 .0037
i1 + 322 322 521 .0031
i1 + 521 521 843 .0029
i1 + 1 0 0 0; silence
e