Homework #6

by Graham Waldon

Tube ModelString Model
Sound File

Image File

Sound File

Image File

Code:


(define echo  
  (lambda* (secs #&optional (att 1.0) (a 0.5) (b -0.5))
    (let ((echodelay (make-delay (round (* secs (srate)))))
	  (filterdelay (make-delay 1))
	  (yz 0.0)   
	  (yz1 0.0)
	  (y0 0.0)
	  (ydel 0.0)
	  (ydelz 0.0))
      (lambda (x0)
	      (set! yz (tap echodelay)) 
	      (set! yz1 (tap filterdelay))
	      (set! y0 (+  x0 (* att yz)))
	      (set! ydel (+ (* a y0) (* b yz1))) 
	      (delay echodelay ydel)  
	      (delay filterdelay ydel)
	      ydel)
      )))



(click 1.0)

(map-chan (echo 0.0048 -0.7 0.5 0.6))          ; tube model

(map-chan (echo 0.0048 -0.99 0.5 0.5))          ; string model