Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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 г.

Внешние ссылки [ править ]

  • Официальный веб-сайт