Какой хороший API для создания музыки с помощью программирования? - PullRequest
12 голосов
/ 12 мая 2009

Я пытаюсь поиграть с процедурно генерируемой музыкой. Я надеюсь найти действительно простой API, в котором я могу просто вызвать инструмент, отметить, длительность и связать воедино песню (конечно, я возьму что угодно, но это было бы моим предпочтением). Есть ли библиотека, которая делает это?

Ответы [ 5 ]

7 голосов
/ 12 мая 2009

Ваш лучший выбор - это среда программирования музыки, из которых их несколько.

Csound - один из самых известных. Вот их сайт .

Макс. MSP также является другим широко используемым вариантом, и он также предоставляет интерфейс визуального программирования. Это, однако, коммерческий.

Другой хорошо известный вариант (и широко используемый экспериментальными электронными музыкантами) - это SuperCollider. Это его веб-страница.

Вот статья в Википедии , описывающая похожие языки / среды.

Вы также можете использовать общий язык программирования с подходящими библиотеками для аудио / музыкальной работы. Java, например, предоставляет Java Sound API .

2 голосов
/ 05 января 2010

JFugue был разработан специально для поддержки процедурного генерирования музыки. Это бесплатный Java API с открытым исходным кодом (LGPL).

1 голос
/ 12 мая 2009

Трудно дать конкретные рекомендации, так как вы не указали язык. Большинство языков имеют приличную библиотеку MIDI , но это будет первое место, на которое я посмотрю, если вам не нужно что-то более тяжелое, чем позволяет формат MIDI.

0 голосов
/ 12 мая 2009

Может быть Генеративная музыка - хорошее начало. Googling приводит и пару интересных ссылок. Брайан Ино создал процедурно сгенерированную музыку для Spore.

0 голосов
/ 12 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...