2008-09-27 2 views
13

В последнее время я много думал о музыкально-ориентированном проекте, над которым я хотел бы работать. Вид вроде игры ... вроде как студийная рабочая станция (FL Studio, Reason).Программное обеспечение Synth Library for Java

Я думаю, что лучший способ описать это будет: как «Guitar Hero», но без консервов. Вся оригинальная музыка - составленная вами, на лету - но программное обеспечение будет использовать свои знания теории музыки (а также некоторые контролируемые алгоритмы обучения), чтобы убедиться, что ваш вход превращается во что-то великолепное.

Это звучит немного глупо, объясняя это так, но там вы идете. Это то, что я думаю, сделает интересный побочный проект.

Во всяком случае, я ищу библиотеку Java для генерации фактического звука. Просмотр на Sourceforge, есть бесчисленные программные синтезаторы, и я понятия не имею, что выбрать.

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

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

Я знаю, что могу отправить MIDI на автономный синтезатор, но я думаю, было бы здорово прочитать фактический код синтезатора и узнать немного DSP, пока я нахожусь на нем.

Любые предложения?

О, да, я нахожусь в Windows, поэтому только для посиков - это не выход.

Спасибо!

ответ

7

Вы проверили JFugue? Это «Java-API с открытым исходным кодом для программирования музыки без сложностей MIDI».

Дополнительная информация: Найдено несколько других ресурсов, упоминаемых в JFugue documentation (pdf):

  • Audio Synthesis Engine Project: открытая версия источника MIDI синтезаторе Явы

  • Gervill: с открытым исходным кодом синтезатор создан как предложение для Проекта двигателя аудиосинтеза

+0

Эй, я написал эту документацию! Если бы я вчера увидел этот вопрос, я бы также предложил заимствовать код из проекта Audio Synthesis Engine. – 2008-09-28 21:42:38

3

Да, я заметил JFugue несколько лет назад. Это в моем списке интересных компьютера/музыкальных закладок:

http://delicious.com/BenjiSmith/computermusic http://delicious.com/BenjiSmith/programming.java.libraries.music

Но JFugue все о структуре самой музыки ... мелодии, гармонии, ритмы, и т.д ....

То, что я ищу сейчас, - это просто синтезатор. Что-то вроде этого...

Synth s = new Synth(); 
Instrument i = s.getInstrument("Robot Bass"); 
i.makeAwesome(true); 

И тогда я пошлю мои события в поток MIDI (или в любой контроль API библиотека синт предоставляет).

+0

Спасибо за ссылки. Я играю с идеей создания java-трекера, и это, несомненно, пригодится. – Oddmund 2008-09-28 01:07:00

0

minim не совсем java-синтезатор, но это библиотека обработки, и я полагаю, что она должна быть довольно проста в использовании с java-версией vanilla.

1

Если Clojure является приемлемым вариантом (работает на JVM, легко интегрируется с Java), то это определенно стоит проверить Overtone.

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

Смежные вопросы