After 5.07
sr = 44100; set sample rate in score as well
kr = 44100
ksmps = 1
nchnls = 1
#define fundamental #9.95#; choose a fundamental frequency 30 Hz or below (infrasound allowed)
;must be defined in score below with same values as well
#define fftsize #262144#
#define overlap #8192#
#define normalize #1#; normalize if necessary, 1 is normally OK (dynamic level changable)
;set tempo in score below
;the following 10 macros are not changable
#define lpartial #ip4=$fundamental*p4#
#define upartial #ip5=$fundamental*p5#
#define fftdelay #idel=($fftsize+($overlap*2))/sr#
#define envelope #aenv linseg 0, idel, 0, p6, 1, p3-p6-p6-idel, 1, p6, 0#
#define white(seed) #arnd rand 32767, $seed, 1#
#define fftanal #fsig pvsanal arnd, $fftsize, $overlap, $fftsize, 1#
#define cutoff #aflt linseg 0, idel, ip4, p3-idel, ip5#
#define bandpass #fbps pvsbandp fsig, ip4*.999, ip4, aflt, aflt*1.001#
#define resynth #atps pvsynth fbps#
#define output #out $normalize*atps*aenv#
instr 1
$lpartial
$upartial
$fftdelay
$envelope
$white(.05)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 2
$lpartial
$upartial
$fftdelay
$envelope
$white(.075)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 3
$lpartial
$upartial
$fftdelay
$envelope
$white(.7)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 4
$lpartial
$upartial
$fftdelay
$envelope
$white(.6)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 5
$lpartial
$upartial
$fftdelay
$envelope
$white(.88)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 6
$lpartial
$upartial
$fftdelay
$envelope
$white(.91)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 7
$lpartial
$upartial
$fftdelay
$envelope
$white(.28)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 8
$lpartial
$upartial
$fftdelay
$envelope
$white(.55)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 9
$lpartial
$upartial
$fftdelay
$envelope
$white(.08)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 10
$lpartial
$upartial
$fftdelay
$envelope
$white(.98)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 11
$lpartial
$upartial
$fftdelay
$envelope
$white(.02)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 12
$lpartial
$upartial
$fftdelay
$envelope
$white(.017)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
instr 13
$lpartial
$upartial
$fftdelay
$envelope
$white(.022)
$fftanal
$cutoff
$bandpass
$resynth
$output
endin
#define sr #44100#; must be the same as in orchestra
; must be the same as in orchestra; used to calculate fft-delay
#define fftsize #262144#
#define overlap #8192#
#define bpm #73#; set tempo here; version with Butterworth filters recommended for very fast tempi
t 0 $bpm
i1 0 [ (1 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 1 3 .0205
i2 1 [ (3 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 3 4 .0198
i3 4 [ (4 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 4 7 .0192
i4 8 [ (7 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 7 11 .0178
i5 15 [ (11 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 11 18 .0159
i6 26 [ (18 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 18 29 .0131
i7 44 [ (29 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 29 47 .0103
i8 73 [ (47 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 47 76 .0083
i9 120 [ (76 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 76 123 .0065
i10 196 [ (123 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 123 199 .0046
i11 319 [ (199 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 199 322 .0037
i12 518 [ (322 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 322 521 .0031
i13 840 [ (521 + (($fftsize + ($overlap * 2)) / $sr) * ($bpm / 60)) ] 521 843 .0029
e