Как синтезировать звуки инструментов на Android (фортепиано, барабаны, гитара и т. Д.) - PullRequest
3 голосов
/ 05 августа 2011

Может кто-нибудь подсказать мне, как синтезировать звуки инструментов (фортепиано, ударные, гитара и т. Д ...)

Я даже не уверен, что искать.

Спасибо

Ответы [ 5 ]

6 голосов
/ 05 августа 2011

Не уверен, что это все еще так, но у Android, похоже, есть проблемы с задержкой, которые мешают ему выполнять настоящий синтез звука.NanoStudio, на мой взгляд, является лучшим аудио приложением для iOS, и автор до сих пор отказывается делать версию для Android, потому что фреймворк еще не существует.

См. Эти ссылки:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=nanostudio+android#hl=en&q=+site:forums.blipinteractive.co.uk+nanostudio+android&bav=on.2,or.r_gc.r_pw.&fp=ee1cd411508a9e34&biw=1194&bih=939

Все зависит от того, какое приложение вы делаете, если это будет Акайский БТР, издающий звуки, вы можете быть в порядке.Если вам нужен настоящий синтез (создание волновых форм для воспроизведения пианино, гитар и ударных), что и делает JASS, упомянутый выше, то Android может не справиться с этим.

Если выищите руководство по эмуляции органических инструментов с помощью синтеза, посмотрите книги Фреда Уэлша http://www.synthesizer -cookbook.com /

3 голосов
/ 05 августа 2011

Синтезировать гитару, пианино или натуральные барабаны было бы сложно. Вызывает сэмплы, которые вы проходите через механизм синтеза меньше. Если вы хотите синтезировать аналоговые звуки синтезатора, это проще.

Вот проект, из которого вы можете получить код:

https://sites.google.com/site/androidsynthesizer/

В конце концов, если вы хотите создать полноценный синтезатор или многодорожечное приложение, вам придется визуализировать ваши осцилляторы + фильтры и т. Д. В аудиопоток, который можно передать в MediaPlayer. Вам не обязательно нужен MIDI для этого.

Вот опыт одного человека:

http://jazarimusic.com/2011/06/audio-on-android-a-developers-perspective/

Интересное чтение.

1 голос
/ 05 августа 2011

Два проекта, которые стоит посмотреть на JASS (Java Audio Synthesis System) и PureData . PureData довольно интересный, хотя, вероятно, более сложный путь.

1 голос
/ 05 августа 2011

поддержка MIDI на Android отстой. (Так же как и со звуковой поддержкой в ​​целом, но это уже другая история.) Здесь есть интересный пост в блоге , в котором обсуждаются (отсутствие) возможностей MIDI на Android. Вот что он сделал, чтобы обойти некоторые ограничения:

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

0 голосов
/ 05 августа 2011

Android, к сожалению, отказался от поддержки MIDI в официальном Java SDK.

То есть вы не можете воспроизводить аудиопотоки напрямую.Вы должны использовать предоставленные классы MediaStream.

Для этого вам придется использовать некоторые знания DSP (цифровая обработка сигналов) и NDK.

Я не удивлюсь, еслиобщий пакет (не обязательно для Android), позволяющий вам сделать это.

Надеюсь, это указало вам верное направление!

...