Русская Википедия:Nyquist (диалект Лиспа)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

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

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

Интерпретатор языка работает под 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) ;проигрывание файла

Примечания

Шаблон:Примечания Шаблон:Compu-soft-stub Шаблон:Compu-prog-stub