Парадигма | Мультипарадигма |
---|---|
Разработал | Ге Ван |
Впервые появился | 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, создав благоприятную среду для всех».
Программирование ChucK язык - это объектно-ориентированный язык, в некоторой степени похожий на C, с сильной статической типизацией.
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.
.