Introduction to Nyquist and Lisp Programming
Nyquist и Lisp в Audacity
Nyquist — язык для синтеза и анализа аудио, написанный Р. Данненбергом. Audacity использует его подмножество; плагины создаются обычным текстом, без компиляции. Поддерживаются Lisp и C-подобный SAL (до 1.3.8 — только Lisp).
Lisp за 2 минуты
Всё — S-выражение: (функция аргументы…)
Пример: (setf area (* 3.14159 (expt radius 2)))
-
Математика: префиксная нотация
(* 3 7) -
Своя функция:
(defun circlearea (r) (* 3.14159 (expt r 2)))
(setf a (circlearea 5)) -
Списки:
(setf lst '(1 2 3))или(list 1 2 (sqrt 9))
first/rest— доступ к элементам.
Ключевые функции
+ - * / abs sqrt min max expt sin cos tan
listp length reverse sort (first/rest)
if when unless cond
Готово — можно писать эффекты прямо в Audacity.