let pi = 3.14159265359
let sr = 44100.0
fn phasor(freq){
(self + freq/sr)%1.0
}
fn osc(freq){
sin(phasor(freq)*pi*2.0)
}
fn amosc(freq,rate){
osc(freq)*(1.0- phasor(rate))
}
fn fbdelay(input,time,fb,mix){
input*mix + (1.0-mix) * delay(40001.0,(input+self*fb),time)
}
fn dsp(){
let f = phasor(1.0)*3000.0+50.0
let sig = amosc(f,1.0)
fbdelay(sig,40000.0,0.9,0.5)
}