Hacker News Digest

08 сентября 2025 г. в 19:54 • manual.audacityteam.org • ⭐ 80 • 💬 1

OriginalHN

#lisp#nyquist#audacity#sal#audio-processing

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.