Введение
Аудиоязык программирования ChucK — это язык программирования для синтеза, композиции и исполнения звука в реальном времени, поддерживающий параллельное выполнение и точное управление временем. Он работает в операционных системах Linux, Mac OS X, Microsoft Windows и iOS. При разработке ChucK приоритет отдавался читаемости и гибкости для программиста, а не сырой производительности. Он обеспечивает детерминированное параллельное выполнение и поддержку множественных, одновременных, динамических частот управления. Важной особенностью является возможность интерактивного редактирования кода – добавления, удаления и изменения кода "на лету", во время работы программы, без её остановки или перезапуска. ChucK обладает высокоточной моделью синхронизации и параллельного выполнения, позволяющей достичь произвольно малого шага дискретизации. Он предоставляет композиторам и исследователям мощный и гибкий инструмент для создания и экспериментирования со сложными программами звукового синтеза и интерактивного управления в реальном времени. ChucK был создан и разработан Ге Ваном во время обучения в аспирантуре под руководством Перри Р. Кука. ChucK распространяется бесплатно под лицензией GNU General Public License для Mac OS X, Linux и Microsoft Windows. На iPhone и iPad, ChiP (ChucK для iPhone) распространяется по ограниченной лицензии с закрытым исходным кодом и в настоящее время не доступен для публичного лицензирования. Однако команда разработчиков выразила намерение изучить "возможности открытия ChiP, создав благоприятную среду для всех".
ChucK is a concurrent, strongly timed audio programming language for real time synthesis, composition, and performance,
which runs on Linux, Mac OS X, Microsoft Windows, and iOS. It is designed to favor readability and flexibility for the programmer over other considerations such as raw performance. It natively supports deterministic concurrency and multiple, simultaneous, dynamic control rates. Another key feature is the ability to live code; adding, removing, and modifying code on the fly, while the program is running, without stopping or restarting. It has a highly precise timing/concurrency model, allowing for arbitrarily fine granularity. It offers composers and researchers a powerful and flexible programming tool for building and experimenting with complex audio synthesis programs, and real time interactive control. ChucK was created and chiefly designed by Ge Wang as a graduate student working with Perry R. Cook. ChucK is distributed freely under the terms of the GNU General Public License on Mac OS X, Linux and Microsoft Windows. On iPhone and iPad, ChiP (ChucK for iPhone) is distributed under a limited, closed source license, and is not currently licensed to the public. However, the core team has stated that it would like to explore "ways to open ChiP by creating a beneficial environment for everyone".
Применение
ChucK использовался в выступлениях Принстонского ноутбучного оркестра (PLOrk) и при разработке приложений Smule, в том числе эмулятора окарины. Организаторы PLOrk отмечают, что уникальность их выступлений во многом обусловлена возможностью живого кодирования с использованием ChucK.
Казалось бы, независимый охват
Грэм Моррисон, (2009) Создавайте треки с Чаком. Устав от однообразной музыки в чартах, мы создаем собственную музыку из серии псевдослучайных чисел. Linux Format, выпуск 125.
Алан Блэквелл и Ник Коллинз, Язык программирования как музыкальный инструмент в сборнике трудов под редакцией P. Ромеро, J. Гуда, Э. Акоста Чапарро и С. Брайанта (Eds). Proc. PPIG 17, с. 120–130.
Alan Blackwell and Nick Collins, The Programming Language as a Musical Instrument in P. Romero, J. Good, E. Acosta Chaparro & S. Bryant (Eds). Proc. PPIG 17, pp. 120–130