Nyquist (диалект Лиспа)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Nyquist
Класс языка audio programming language[вд]
Появился в 4 марта 2009
Автор Роджер Данненберг
Разработчик Роджер Данненберг
Расширение файлов .lsp, .sal
Выпуск 3.15
Испытал влияние Лисп
Сайт cs.cmu.edu/~rbd/doc/nyqu…

Nyquist — язык программирования для синтеза и анализа звука, основанный на диалекте Лиспа XLISP[1]; разработан Роджером Данненбергом в университете Карнеги — Меллона при поддержке Yamaha и IBM[2], назван в честь Гарри Найквиста[3]. Используется для написания плагинов для Audacity[4].

Основные возможности интерпретатора языка:

  • импорт и экспорт аудио и MIDI-файлов, а также партитур Adagio;
  • взаимодействие с протоколом OSC[5];
  • вывод звука в реальном времени.

Начиная с третьей версии поддерживает SAL — язык с алголоподобным синтаксисом, впервые представленный в Common Music[исп.] Рика Таубе.

Интерпретатор языка работает под Linux, Unix, Mac OS и Windows.

Примеры кода

[править | править код]
  • Проигрывание нот:
(defun note (pitch dur) 
  (osc pitch dur *table*))

(play (seq (note c4 q) ;q - 1/4
           (note d4 i) ;i - 1/8
           (note e4 i)
           (note f4 i)
           (note g4 q)))
  • Запись и последующее проигрывание звукового файла:
(defun note (pitch dur) 
  (osc pitch dur *table*))

(setf sound-file "a-snd-file.snd") ;имя файла, местоположение - папка по умолчанию
(s-save (seq (note c4 q) ;q - 1/4
           (note d4 i) ;i - 1/8
           (note e4 i)
           (note f4 i)
           (note g4 q)) 1000000000 sound-file) ;запись файла
(play-file sound-file) ;проигрывание файла

Примечания

[править | править код]
  1. Dannenberg, Roger B. Machine Tongues XIX: Nyquist, a Language for Composition and Sound Synthesis (англ.) // Computer Music Journal : journal. — 1997. — Vol. 21, no. 3. — P. 50. — ISSN 0148-9267. — doi:10.2307/3681013. — JSTOR 3681013.
  2. Preface. www.audacity-forum.de. Дата обращения: 2 сентября 2019. Архивировано 5 июля 2021 года.
  3. Krapp, Peter. Noise Channels: Glitch and Error in Digital Culture (неопр.). — University of Minnesota Press[англ.], 2011. — С. xiii. — ISBN 9781452933191.
  4. Nyquist Plug-ins Reference - Audacity Wiki. wiki.audacityteam.org. Дата обращения: 30 августа 2019. Архивировано 30 августа 2019 года.
  5. Appendix 2: Open Sound Control and Nyquist. www.audacity-forum.de. Дата обращения: 2 сентября 2019. Архивировано 5 июля 2021 года.