Nyquist (диалект Лиспа)
Nyquist — язык программирования для синтеза и анализа звука, основанный на диалекте Лиспа XLISP[1]; разработан Роджером Данненбергом в университете Карнеги — Меллона при поддержке Yamaha и IBM[2], назван в честь Гарри Найквиста[3]. Используется для написания плагинов для Audacity[4].
Основные возможности интерпретатора языка:
- импорт и экспорт аудио и MIDI-файлов, а также партитур Adagio;
- взаимодействие с протоколом OSC[5];
- вывод звука в реальном времени.
Начиная с третьей версии поддерживает SAL — язык с алголоподобным синтаксисом, впервые представленный в Common Music Рика Таубе.
Интерпретатор языка работает под Linux, Unix, Mac OS и Windows.
Общие сведения
| Nyquist | |
|---|---|
| Класс языка | audio programming language[d] |
| Появился в | 4 марта 2009 |
| Автор | Роджер Данненберг |
| Разработчик | Роджер Данненберг |
| Расширение файлов |
.lsp, .sal |
| Выпуск | 3.15 |
| Испытал влияние | Лисп |
| Сайт | cs.cmu.edu/~rbd/doc/nyqu… |
Примеры кода
- Проигрывание нот:
(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) ;проигрывание файла