Homework #6:
Scheme Code:
(define lpfilter ; IIR version, aka
feed-back or recursive delay
(lambda (secs
att samps bz)
(let ((del (make-delay (round (* secs (srate)))))
(del1 (make-delay samps))
(yz 0.0)
; use yd, i.e., send output to delay
(y0 0.0)
(yu 0.0)
(yx 0.0)
(a0 0.5))
(lambda
(x0)
(set! yz (tap del))
; where it comes back from delayline
(set! y0 (+ x0 (* att yz)))
(set! yx (tap del1))
(delay del yu)
(set! yu (- (* a0 y0) (* bz yx)))
(delay del1 yu)
;feed into delayline
yu)
)))
(click 0.3)
(map-chan (lpfilter .0032 .85 1 -.5)) --- filter tube
(map-chan (lpfilter .0032
Tube Sound:
String Sound: