ChucK

редактировать
Язык программирования аудио для синтеза, композиции и исполнения в реальном времени
ChucK
ChucK logo2.jpg
Парадигма Мультипарадигма
Разработал Ге Ван
Впервые появился2003; 17 лет назад (2003 г.)
Стабильный выпуск 1.4.0.0 / 9 февраля 2018 г.; 2 года назад (2018-02-09)
Печатная дисциплина Сильная
OS Кросс-платформенная
Лицензия Mac, Linux, Windows : Стандартная общественная лицензия GNU. iOS : закрытый исходный код (не общедоступный)
Веб-сайтchuck.cs.princeton.edu

ChucK - это параллельный, строго синхронизированный аудио язык программирования для синтеза, композиции и производительности в реальном времени, который работает на Linux, Mac OS X, Microsoft Windows и iOS. Он разработан для обеспечения удобочитаемости и гибкости для программиста по сравнению с другими соображениями, такими как чистая производительность. Он изначально поддерживает детерминированный параллелизм и несколько одновременных динамических скоростей управления. Еще одна ключевая особенность - это возможность живого кода ; добавление, удаление и изменение кода «на лету» во время работы программы, без остановки или перезапуска. Он имеет очень точную модель синхронизации / параллелизма, обеспечивающую сколь угодно мелкую детализацию. Он предлагает композиторам и исследователям мощный и гибкий инструмент программирования для создания и экспериментирования со сложными программами синтеза звука, а также интерактивного управления в реальном времени.

ChucK был создан и главным образом разработан Гэ Ван как аспирант работал с Перри Р. Куком. ChucK распространяется бесплатно в соответствии с условиями Стандартной общественной лицензии GNU для Mac OS X, Linux и Microsoft Windows. На iPhone и iPad программа ChiP (ChucK для iPhone) распространяется под ограниченной лицензией с закрытым исходным кодом и в настоящее время не лицензирована для широкой публики. Однако основная группа заявила, что хотела бы изучить «способы открыть ChiP, создав благоприятную среду для всех».

Содержание
  • 1 Языковые функции
  • 2 Пример кода
  • 3 Использование
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
    • 6.1 Литература авторов
    • 6.2 Внешне независимое освещение
  • 7 Внешние ссылки
Возможности языка

Программирование ChucK язык - это объектно-ориентированный язык, в некоторой степени похожий на C, с сильной статической типизацией.

ChucK отличается следующими характеристиками:

  • Прямая поддержка в реальном времени синтез звука
  • Мощный и простое параллельное программирование модель
  • Унифицированный механизм синхронизации для многоскоростной обработки событий и управления.
  • Синтаксис языка, который поддерживает синтаксис и семантику слева направо в программе операторов.
  • Точная синхронизация: строго синхронизированная по времени модель синхронизации с выборкой.
  • Программы динамически компилируются в виртуальную машину ChucK byt ecode.
  • Среда выполнения, поддерживающая программирование на лету.
  • Оператор ChucK (=>), который можно использовать несколькими способами для «отбрасывания» любого упорядоченного потока данных слева направо.

Стандартные библиотеки ChucK предоставляют:

Пример кода

Ниже приводится простая программа ChucK, которая генерирует звук и музыку:

// наш график сигналов (патч) SinOsc f =>dac; // устанавливаем усиление.3 =>f.gain; // массив классов высоты тона (с половинными шагами) [0, 2, 4, 6, 9, 10] @ =>int hi; // бесконечный цикл while (true) {// выбор ноты, сдвиг регистров, преобразование в частоту Std.mtof (65 + Std.rand2 (0,1) * 43 + hi [Std.rand2 (0, hi.cap () -1)]) =>f.freq; // увеличиваем время на 120 мс 120 :: мс =>сейчас; }
Использует

ChucK использовался в выступлениях Princeton Laptop Orchestra (PLOrk) и для разработки приложений Smule, включая их Окарина эмулятор. Организаторы PLOrk приписывают уникальность своих выступлений живому кодированию, которое они могут выполнять с помощью ChucK.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Дополнительная литература
Внешние ссылки
  • ChucK домашняя страница в Принстонском университете
  • ChucK зеркало в Стэнфордском университете

.

Последняя правка сделана 2021-05-15 06:29:03
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте