2010-11-21 3 views
10

У меня есть приложение для диаграмм на гитаре для Android, которое я переношу в iOS. Android имеет встроенный MIDI-синтезатор (sonivox), поэтому я могу создавать MIDI-файлы и позволять Android обрабатывать воспроизведение.Простой встраиваемый MidiSynth для iOS?

Есть ли способ сделать это на iOS? Или есть очень легкие встраиваемые синтезаторы для iOS?

ответ

4

Обновление: Мой ответ устарел. @ Ответ lukebuehler очень уместен.

Если вы не против решения с открытым исходным кодом, попробуйте FMOD. Будучи коммерческим звуковым движком для игр, fmod оснащает простой MIDI-синтезатор. Я попробовал бесплатную ознакомительную версию. Он воспроизводит GM MIDI-файлы правильно на моем iPhone 3G.

Если вы хотите не только файл с файлами SMF, вам нужна полная функция GS/GM softsynth, которая может реагировать на отдельные midi-события в реальном времени. Вы можете попробовать midisynth from CrimsonTech. Его лицензионный сбор является справедливым. Crimsontech предоставляет несколько демонстрационных приложений в AppStore. Кроме того, он также предоставляет бесплатную оценку SDK. Вам не нужно платить за лицензию, пока вы действительно не опубликуете свое приложение.

+0

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

+0

Похоже, что он не может транслировать миди-события, это довольно облом. Поверхность заключается в том, что она поддерживает андроид и wp7. Надеемся, что для одной лицензии. – Peterdk

+0

Вау, ты знаешь много чего! Спасибо за указатель. Я связался с ними. – Peterdk

-3

В iOS 4.2 есть поддержка MIDI. Если это то же самое, что и OS X, то trhere также будет включать базовый синтезатор. Проверьте это.

+0

Поддержка MIDI в 4.2 не включает в себя синтезатор. – hotpaw2

+4

Возможно, вы удалите этот ответ. –

1

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

Из недавних документов iOS 4.2 кажется, что вы можете использовать поддержку MIDI для отправки MIDI-команд другим устройствам для воспроизведения. Вы также можете получать команды с других устройств и вносить изменения в эти команды или сохранять их в файле. Однако я не могу найти какую-либо поддержку для фактического воспроизведения MIDI-файла с телефона напрямую. Кто-то, пожалуйста, поправьте меня, если я ошибаюсь (я хочу, чтобы я ошибся!).

21

С iOS 5 теперь есть аудиоустановка AUSampler, для которой вы можете загрузить звуковой банк (предварительный набор и звуковые настройки Apple), а затем управлять сэмплером/синтезатором через MIDI-сообщения.

Seee этот пример приложения: https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html

Он отлично работает!

+0

Удивительная находка, спасибо! –

+2

Спасибо. Ваш ответ более обновлен, чем мой. iOS 5.0 оснащается мощным движком пробоотборника. Чтобы играть в midi-fi GM/GS, мы просто накормили его звуковым файлом, содержащим богатый набор инструментов. Я нашел [официальный технот] [1] о том, как загрузить файл звукового файла DLS2. Кто-нибудь пробовал это? [1]: https://developer.apple.com/library/mac/#technotes/tn2283/_index.htmladd complete –

+0

Да, я использую звуковые шрифты для своего приложения (WorldScales). Я загружаю файл размером 100 МБ sf2 , содержащий несколько звуковых банков, скоростных слоев и выборок на патч. Остерегайтесь, однако, есть некоторые проблемы с памятью, если вы просто продолжаете переключать звуковую банку на один и тот же звуковой шрифт, т. Е. Память быстро очищается, если вы загружаете другой файл звукового шрифта. – lukebuehler

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