;;; examples of one-cut ;;; simple call (no parameters changed) (with-sound () (let ((cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd")) (one-cut 0 0.7))) ;;; changing sample-rate (with-sound () (let ((cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd") (cut-sample-rate '(0 1.5 1 1.5))) (one-cut 0.0 1.0))) ;;; changing sample-rate and sample-rate-mult (with-sound () (let ((cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd") (cut-sample-rate '(0 1.5 1 1.5)) (cut-sample-rate-mult 3.0)) (one-cut 0.0 1.0))) ;;; changing sampling-rate ;;; using loop to generate multiple samples ;;; with random sample-rate-deviation (with-sound () (let ((cut-sample-rate '(0 2 0.5 1 1 2)) (cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd")) (loop for i from 0 by 0.1 below 1.0 do (one-cut i 1.0 :sample-rate-mult (+ 1.0 (random 2.0)))))) ;;; grouping bells by harmonic series (with-sound () (let ((cut-sample-rate '(0 1 0.5 1.3 1 1)) (cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd") (cut-sample-rate-mult 0.1)) (loop for i from 1 to 10 do (one-cut 0.0 1.0 :sample-rate-mult i)))) ;;; grouping bells by subharmonic series ;;; changing vibrato speed and amplitude (with-sound () (let ((cut-sample-rate '(0 2 0.5 1.3 1 1)) (cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd") (cut-sample-rate-mult 0.1) (cut-vib-osc-freq 3.0) (cut-vib-osc-freq-dev 1.5) (cut-vib-osc-amp 0.7) (cut-vib-noi-freq 7.0) (cut-vib-noi-amp 0.3)) (loop for i from 1 to 10 do (one-cut 0.0 1.0 :sample-rate-mult (+ 1 (/ 1 i)))))) ;;; arpeggio bells by subharmonic series ;;; changing vibrato speed and amplitude ;;; scaling each sound and panning (with-sound (:channels 2) (let ((cut-sample-rate '(0 2 0.5 1.3 1 1)) (cut-soundfile "/usr/ccrma/web/html/courses/220b/lectures/2/sounds/tubular-bell.snd") (cut-sample-rate-mult 0.1) (cut-vib-osc-freq 3.0) (cut-vib-osc-freq-dev 1.5) (cut-vib-osc-amp 0.5) (cut-vib-noi-freq 7.0) (cut-vib-noi-amp 0.15) (cut-amp-func '(0 1 0.01 0.707 1 0)) (time 0.0)) (loop for i from 1 to 10 for amp from 1.0 by -0.07 do (one-cut time amp :sample-rate-mult (+ (/ 1.0 i) 1) :degree (between 0.0 90.0)) (incf time (between 0.5 1.0)))))