Парадигма | Функциональный , мультипарадигмальный |
---|---|
Разработано | Эндрю Соренсен |
Впервые появился | 2005 |
Стабильный выпуск | 2,5 |
Печатная дисциплина | Динамический и статический |
Операционные системы | Mac OS X |
Веб-сайт | импровизированный |
Под влиянием | |
Под влиянием | |
Экспромтом |
Impromptu - это среда программирования Mac OS X для живого кодирования . Impromptu построен на языке Scheme , который является членом семейства языков Lisp . Исходный код его ядра был открыт как проект Extempore .
Описание [ править ]
Среда позволяет вносить изменения в программу во время выполнения , поэтому переменные и функции могут быть переопределены, и изменения вступят в силу немедленно. Программист также может создавать и планировать код для будущего выполнения, а также события данных, такие как заметки и графические объекты. Как только событие запланировано, выполнение продолжается. Цикл выполняется с использованием идиомы, называемой «временная рекурсия», которая работает за счет того, что функция асинхронно планирует будущий вызов самой себе в качестве своего последнего действия.
Библиотека позволяет взаимодействовать с Audio Units для синтеза звука и с графическими слоями, такими как QuickTime , Quartz , Core Image , OpenGL для композиции видео . Код, написанный на Objective-C, может быть вызван из редактора, а также платформы Objective-C могут выполнять вызовы интерпретатора схемы.
Интерпретатор Impromptu Scheme изначально был построен на основе TinyScheme 1.35, но с тех пор он был существенно изменен, чтобы лучше соответствовать контексту живого кодирования. Добавлен сборщик мусора в реальном времени и интеграция с Objective-C . Кроме того, в систему был интегрирован новый статически типизированный язык под названием Extempore Language . Этот язык синтаксически похож на схему, но семантически ближе к C и предназначен для синтеза звука в реальном времени и других вычислительно тяжелых задач. Он обеспечивает вывод типов и компилируется на машинный язык с помощью LLVM .
Образец выступления [ править ]
«Этюд в Ките» - это живое кодирование в «Экспромте» Эндрю Соренсена. Первые две минуты (1:56) молчат, пока исполнитель пишет программу, которая произведет вступление пьесы. С тех пор он изменяет код на лету, чтобы развить композицию.
Extempore [ править ]
Ядро Impromptu было выпущено как Extempore по лицензии стиля BSD. Он работает как под Linux, так и под Mac OS X. Он включает интерпретатор схемы, компилятор языка Extempore и планировщик. Привязки к библиотекам Apple отсутствуют, но среда может взаимодействовать с динамическими библиотеками.
См. Также [ править ]
- Csound
- Сравнение сред аудиосинтеза
- Суперколлайдер
- Обработка (язык программирования)
- OpenFrameworks
- ChucK
- Список музыкального программного обеспечения
- Макс (программное обеспечение)
- Чистые данные
Ссылки [ править ]
Академические статьи [ править ]
- Соренсен, A (2010) « Распределенная память для сетевого живого кодирования » Международная конференция компьютерной музыки 2010, Нью-Йорк
- Соренсен, A и Браун, A (2008) " Вычислительная модель для создания оркестровой музыки в германской симфонической традиции: отчет о проделанной работе", представленный на Австралазийской конференции компьютерной музыки в 2008 году, Сидней
- Соренсен, А. и Браун, А. (2007) доклад « aa-cell на практике: подход к живому музыкальному кодированию », представленный на Международной конференции компьютерной музыки 2007 г., Копенгаген
- Соренсен, А. (2005) « Экспромт: интерактивная среда программирования для композиции и исполнения » - доклад, представленный на Австралийской компьютерной музыкальной конференции 2005 г., Брисбен: ACMA, стр. 149–153. (Примечание: обсуждаемая импровизированная версия устарела)
- Соренсен, А. " ICR - импровизированная среда выполнения компилятора "
- Тор Магнуссон, « Признания живого кодера », Труды Международной компьютерной музыкальной конференции, 2011 г.
Другие источники [ править ]
- Питер Кирн, « Мысль и исполнение, живое программирование музыки, объяснение любому - правда », Create Digital Music, 2011
- Митчелл Уайтлоу, « С нуля - разговор с Эндрю Соренсеном », 2007 г.
Внешние ссылки [ править ]
- Официальный веб-сайт