perkypat.lsp Version 1.00 16 January 2005 Author Steven Jones Contact jones57@swbell.net include the word "nyquist" in subject line The contents of this file are released under the terms of the GNU General Public License. See the file LICENSE.txt A filtered sawtooth and narrow-band noise instrument with resonant filter. The name is after the Barbi like toy in Philip K Dicks "The Three Stigmata of Palmer Eldritch"
wrapper
(perkypat plist dur [:vel][:pos][:arpeg][:comp][:r][:bw])
;; perkypat.lsp
;; Version 1.00 16 January 2005
;; Author Steven Jones
;;
;; Contact jones57@swbell.net include the word "nyquist" in subject line
;;
;; The contents of this file are released under the terms of the GNU General
;; Public License. See the file LICENSE.txt
;;
;; A filtered sawtooth and narrow-band noise instrument with resonant
;; filter. The name is after the Barbi like toy in Philip K Dicks "The Three
;; Stigmata of Palmer Eldritch"
;;
(require 'saw-16)
(require 'map)
(require 'rmband)
(require 'definst)
(provide 'perkypat)
(current-file "perkypat")
(setq perkypat:*vel-filter-map* (map:linear 1 16))
(defun perkypat:voice (pitch dur &key vel r bw)
(let ((vel (or vel 64))
(r (or r 1.01))
(bw (or bw 100))
(hz (step-to-hz pitch))
(env (percussion dur)))
(mult (reson (sum (osc pitch dur *saw-16*)
;(osc (hz-to-step (* r hz)) dur *saw-16*)
(scale 32 (rmband (hz-to-step (* r hz)) :dur dur :bw 10))
)
(sum hz (scale (* hz (send perkypat:*vel-filter-map* :get vel)) env))
bw 2)
env)))
;; @doc wrapper perkypat
;; (perkypat plist dur [:vel][:pos][:arpeg][:comp][:r][:bw])
;;
(defwrapper perkypat #'perkypat:voice)