(setf *ihad* ":::jan27:ihad.aiff") (setf *ihad* "ihad.aiff") (set-sound-srate 11025.0) (defun ihad () (s-read *ihad*)) (defun result-file () (s-read "nyquist-temp.snd")) (setf two16 (* 256.0 256.0)) (defun qscale (signal levels) (scale (/ levels two16) signal)) (defun quantize (signal levels) (s-save (qscale signal levels) ny:all "temp.snd") (scale (/ two16 levels) (s-read "temp.snd")) ) (defun test (levels) (play (quantize (ihad) levels))) ;(test 256) ;(s-plot (extract 4 5 (ihad))) ;(test 16) ;(s-plot (extract 4 5 (ihad))) ;(test 4) ;(s-plot (extract 4 5 (ihad))) (defun dtest (levels) (play (quantize (sum (ihad) (scale (/ 1.0 levels) (noise 15.0))) levels))) ;(dtest 16) ;(dtest 4) ;(s-plot (extract 4 5 (result-file))) (defun resam (signal rate) (resample (resample signal rate) *sound-srate*) ) (defun rtest (rate) (play (resam (ihad) rate))) (defun alias (rate) (resample (force-srate rate (ihad)) *sound-srate*)) (play (scale 0.05 (fmosc c4 (scale 10000.0 (ramp 10))))) Assignment: Question: does band-limited dither sound better? Use resampling to create less-than full-bandwidth noise. Use it to dither a signal of your choice. You might need to experiment with bandwidth and amplitude. Can you make something that sounds better than uniform (white noise) dither?