Подтвердить что ты не робот

Язык программирования высокого уровня для музыкальной композиции

Я хотел бы написать интерактивную песню. Он будет содержать состояние и логику. Слушатель/пользователь должен иметь возможность изменять некоторые государственные вары, используя графический интерфейс или MIDI-интерфейс. Доступным для просмотра слушателям не требуется прямое представление темпа, высоты тона или любого другого музыкального свойства. Они скорее будут представлять ценности, которые логика будет обрабатывать, чтобы внести изменения в песню.

Должен ли я писать такую ​​платформу самостоятельно или что-то подходящее для моего воображения уже существует?

4b9b3361

Ответ 2

Если вы счастливы использовать Java, посмотрите JFugue.

Ответ 3

Я пробовал PureData, CSound и SuperCollider.

Обходной код очень громоздкий для программирования и имеет серьезные проблемы с защитой для моих требований (24-бит/96 кГц в режиме реального времени с низкой задержкой) в версии 4.

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

Победителем вручается SuperCollider, потому что это небольшой ориентированный на объект объектно-ориентированный язык, с которым приятно работать. Он разделен на управляемый OSC звуковой сервер и язык клиента. Я могу рекомендовать сервер синтеза звука и использовать язык для создания инструментов без оговорок для его отличной стабильности, большой гибкости и невероятной мощности. Я использовал его на сцене, и производительность невероятно хороша.

Язык создания оценки страдает синдромом многих рук; в отсутствие четкого руководства в последнее время слишком много способов сделать слишком много вещей со слишком большим количеством ограничений, но это все же лучше, чем CSound, потому что по крайней мере вы можете использовать разумные структуры высокого уровня.

Ищите язык композиции, который просто прав.

Ответ 4

Посмотрите Strasheela:

Это композиционная система, основанная на языке программирования Oz. Изучение Оз непросто, так как оно сочетает в себе функциональную и логическую парадигму программирования. Однако, если вам понравилась книга SICP, вам также понравится.

Страшила рассматривает музыкальную композицию как проблему ограничения ограничений (CSP) и ищет для нее "решения". Это означает, что стиль музыки определяется как математические ограничения на целочисленные числа (конечный домен), которые должны быть сопоставлены, а встроенная система решения ограничений автоматически вычисляет решения.

P.S.: Я не могу программировать в Оз, но я нахожусь на пути к его изучению.

Ответ 6

Я не уверен, что он охватывает то, за чем вы после, но посмотрите Java Sound API. Для часто задаваемых вопросов о том, что он может увидеть здесь. Преимущества, которые уже включены в SDK и JRE, являются кросс-платформенными. Кроме того, вы можете создать графический интерфейс с помощью любого инструментария Java.

Ответ 7

Если бы не интерактивные биты, я бы предложил посмотреть Haskore или Nyquist, оба из которых фактически являются DSL для генерации музыки.

Определенно взгляните на Alex McLean livecoding, однако. Это более гибкое и интерактивное, как вы можете себе представить, используя SuperCollider через OpenSoundControl.

Ответ 8

Ответ для .NET:
Я нашел что-то, checkout NAudio Mark Heath, отличная музыкальная библиотека .NET, я бы сказал, что она должна содержаться в BCL.

midi-dot-net - еще один отличный проект С# Тома Локовича.

Ответ 9

Для взаимодействия с музыкой лучше всего использовать PureData, Max/MSP и OpenMusic (эти два последних из IRCAM). PureData - бесплатная программа. Google их!

Ответ 10

Я действительно не понимаю, что вы хотите сделать, но вот список некоторых музыкальных программ CL, как для композиции, так и для познания: http://www.cliki.net/Music

Ответ 11

Вы ищете Язык аудиопрограмм. Другой вариант, который вы должны рассмотреть, - Processing - используется многими художниками и музыкантами для такого рода работ.

-Adam

Ответ 12

Его позор, что никто не сказал о Чаке................ Chuck - это язык программирования, специально созданный для генерации музыки и звука и композиции. Вы можете скачать Chuck в http://chuck.stanford.edu его намного проще в использовании, и он очень хорошо знаком с c, С++, java и т.д., но его также легче изучить. Вы можете найти в Coursera о бесплатном выпуске чата из Калифорнийского университета искусств, ссылку здесь.