Мета-композиция во время музыкальных выступлений

Пару недель назад мы с моим учителем по фортепиано обменивались идеями относительно программного обеспечения для мета-сочинения музыки. Идея была такая:

Есть система, которая принимает MIDI-вход от множества инструментов и передает выходной сигнал на динамики и источники света. Программное обеспечение, работающее в этой системе, анализирует полученные MIDI-данные и определяет, какие звуки использовать, на основе триггеров, установленных композитором (когда я играю аккорд F7 3 раза в течение 2 секунд, переключитесь со звука клавесина на звук фортепиано. ), педали или анализ музыки в реальном времени. Он будет управлять светом в зависимости от исполнения и звуков инструментов аналогичным образом - музыканту нужно будет лишь смутно указать, что он хочет, - а все остальное сделает анализ его игры в реальном времени. Процедурно сгенерированная музыка «на лету» тоже могла подыгрывать музыканту. По сути, программа будет играть вместе с исполнителем, и один направляет другого. Я полагаю, что потребуется некоторая практика, чтобы привыкнуть к такой системе, но она может дать довольно невероятные результаты.

Я большой поклонник импровизационного джаза. Одной из характеристик импровизации, которой не хватает в других формах искусства, является ее временность. Картина может быть оценена через 10 или 1000 лет после того, как она была написана, но музыка (особенно импровизированная) - это исполнение, поскольку это творение. Я думаю, что программа, которую я описал, значительно повысила бы производительность, поскольку игра одной и той же пьесы каждый раз приводила бы к совершенно разному шоу.

Итак, теперь вопросы.

Я сумасшедший?

Существует ли еще программное обеспечение для выполнения всего этого или всего этого? Я провел небольшое исследование и ничего не нашел. Ключ к этой системе в том, что она работает во время выступления.

Если бы я написал что-то подобное, мог бы язык сценариев, такой как Python, быть достаточно быстрым, чтобы выполнять нужные мне вычисления? Предположительно, он будет работать на довольно быстрой системе и сможет использовать преимущества 2 ^ n ядерных процессоров, которые Intel продолжает выпускать.

Может ли кто-нибудь из вас поделиться своим опытом и советами относительно взаимодействия с музыкальными инструментами, световыми приборами и т.п.?

Есть идеи или предложения? Холодная и резкая критика?

Спасибо за то, что уделили время, прочитав это, и за любые советы! (И извините за шутку в тегах, я не удержался.)

это звучит отдаленно похоже на крутящуюся графику, которую большинство медиаплееров будет генерировать на основе MP3 - за исключением добавленного компонента смены инструментов, или я прочитал это неправильно?

warren 27.10.2008 23:25

Я думаю, что в глубине души вы правы, хотя визуализаторы - это только один путь: музыка-> графика, где это будет обоими способами - музыка может влиять на освещение и тому подобное, а система может влиять на звуки инструментов .

mindvirus 27.10.2008 23:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
2
1 045
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Я довольно широко использовал PyAudio для работы с необработанными аудиовходами и обнаружил, что он очень непифоничен, действуя больше как тонкая оболочка очень над кодом C. Однако, если вы имеете дело с midi, а не с необработанными сигналами, тогда ваши задачи немного проще, и python должен быть достаточно быстрым, если вы не играете со скоростью 10000 ударов в минуту :)

Некоторые из вопросов: обнаружение одновременности, гармонический (формальный - т.е.аккордовая структура) анализ.

Это также проблема 80/20: если вы ограничите разрешенные последовательности аккордов, то все станет немного проще. В конце концов, что вообще означает «подыгрывать», не так ли?

(Кроме того, на конференции электронной музыки я тоже был, там много людей проводят различные эксперименты с аккомпанементом в реальном времени, основанные на входном звуке и движении). Удачи!

Я думаю, что в качестве первой цели программное обеспечение могло бы обнаруживать триггеры одной ноты и просто воспроизводить окружающие звуки - возможно, угадать ключевую сигнатуру. Как называются эти конференции электронной музыки? Если это делают другие люди, было бы здорово связаться с ними.

mindvirus 27.10.2008 23:39
spark.cla.umn.edu Фестиваль электронной музыки Spark ... но я думаю, что у большинства крупных школ электронной музыки могут быть похожие проекты.
Gregg Lind 28.10.2008 16:21

Посмотрите на PureData. Он может выполнять обширный анализ midi, и люди используют его для повышения производительности.

Действительно, вот видео, который мигает за экраном чистых данных. Он показывает, как кто-то взаимодействует с довольно сложным инструментом с помощью PD.

Также посмотрите CS звуки.

Ответ принят как подходящий

Люди использовали Макс MSP для такого рода вещей с Midi и создания видео-сопровождения или просто Midi-сопровождения. Это полностью специфичное для предметной области приложение, которое, вероятно, было вдохновлено светской беседой или чем-то в этом роде, что вряд ли может понравиться любому настоящему программисту, но музыканты-программисты любят.

Несмотря на текст на сайте, на который я только что ссылался, и тот факт, что «все» используют коммерческую версию, это не всегда был коммерческий продукт. Ircam в конце концов выпустил свой собственный родословная. Он называется jMax. PureData, упомянутый в другом посте, является еще одной переписыванием той линии передачи.

Также есть CSound; который не предназначался для работы в режиме реального времени, но, вероятно, теперь может работать в режиме реального времени, когда у вас есть приличный компьютер по сравнению с тем, на котором начинался CSound.

Некоторые люди также взломали расширения Macromedia Director, чтобы можно было делать файлы midi в Lingo ... Это очень устарело, и поэтому некоторые из них перешли в среду более современный Adobe.

Вы также можете взглянуть на ChucK и Суперколлайдер, два самых популярных «настоящих» языка программирования музыки в реальном времени.

Кроме того, вы можете быть удивлены, насколько многого можно достичь с помощью стоек Ableton Live.

(и это CSound. Нет в конце)

смотрите также:

Понятия не имею, настоящий ли второй на самом деле и стоит ли на него взглянуть. Keykit, однако, есть.

Вы можете связаться с Гэри Ли Нельсоном в Отдел TIMARA в Оберлине. 20 лет назад я сделал проект, который автоматически сгенерировал ритм-секцию для 12-тактного блюза, и я помню, как он описывал инструмент, который, как он знал, делал по существу то, что вы описываете.

Возможно, вас заинтересует GenJam

Ответ на ваш вопрос - нет - вы не сошли с ума. Подобные системы существуют, но ваше описание красивое расплывчато с самого начала, так что это не та спецификация, против которой можно судить.

Я предлагаю вам начать писать прототип и посмотреть, как он будет работать. Что-то очень маленькое и простое. Будь прокляты существующие системы.

Я использую C++ на win32 api (без mfc). Начал писать свой секвенсор еще на Amiga500. Он не светится, но в музыке есть чем заняться.

Удачи тебе. Это ЧРЕЗВЫЧАЙНО веселый проект. Я бы сказал - не копируйте свой проект на то, как работают другие проекты. Потому что, если вы спросите меня, они не так хорошо работают;) И самое интересное - это возможность делать что-то другое.

Другие вопросы по теме