Audacity Support Forum / Audacity and Nyquist / Nyquist Reference Manual / Nyquist Examples and Tutorials
Back to Pedro Morales' Examples Page
Sound Example: chaos.ogg
;;; ADDITIVE SYNTHESIS ;;; Sinus Chaos ;;; coded by Pedro Jose Morales ;;; pmorales@iele-ab.uclm.es (load "pjmg.lsp") (defun env31 () (pwlv 0.99 25e-3 0.99 225e-3 0.318 275e-3 0.318 475e-3 0.99 500e-3 0.99)) (defun env32 () (pwlv 0.377 250e-3 0.99 500e-3 0.377)) (defun env33 () (pwlv 0.5 20e-3 0.5 225e-3 0.99 250e-3 0.99 480e-3 0.5 500e-3 0.5)) (defun env34 () (pwlv 0.333 25e-3 0.333 225e-3 0.999 275e-3 0.999 475e-3 0.333 500e-3 0.333)) (defun make-env31 () (setf *env31* (list (env31) (hz-to-step 2) T))) (defun make-env32 () (setf *env32* (list (env32) (hz-to-step 2) T))) (defun make-env33 () (setf *env33* (list (env33) (hz-to-step 2) T))) (defun make-env34 () (setf *env34* (list (env34) (hz-to-step 2) T))) (if (not (boundp '*env31*)) (make-env31)) (if (not (boundp '*env32*)) (make-env32)) (if (not (boundp '*env33*)) (make-env33)) (if (not (boundp '*env34*)) (make-env34)) (defun make-table12 () (setf *table12* (sim (build-harmonic 21.0 2048) (build-harmonic 29.0 2048) (build-harmonic 39.0 2048))) (setf *table12* (list *table12* (hz-to-step 1) T))) (if (not (boundp '*table12*)) (make-table12)) (defun chaos-partial (amp rate frq dur env &optional (table *table*)) (scale amp (fmosc (hz-to-step 1e-3) (scale frq (osc (hz-to-step rate) dur env)) table))) (defun partial2 (amp frandi rate frq dur env) (mult (randi1 frandi dur) (scale amp (fmosc (hz-to-step 1e-3) (scale frq (osc (hz-to-step rate) dur env)))))) (ss (sim (chaos-partial 4.5 0.12 880.0 24 *env31*) (partial2 4.0 200.0 0.17 1660.0 24 *env32*) (chaos-partial 1.2 0.05 200.0 24 *env33*) (chaos-partial 0.7 0.33 2400.0 24 *env34*) ))
Back to Pedro Morales' Examples Page
Audacity Support Forum / Audacity and Nyquist / Nyquist Reference Manual / Nyquist Examples and Tutorials