2010-11-21 19 views
10

私はiOSに移植しているAndroid用ギター・ダイアグラム・アプリを持っています。 AndroidにはMIDIシンセサイザー(sonivox)が組み込まれているため、MIDIファイルを生成してAndroidで再生を処理できます。iOS向けのシンプルな組み込み可能なMidiSynth?

iOSでこれを行う方法はありますか?それとも、iOS向けに非常に軽量の組み込み可能なシンセがありますか?

答えて

4

更新:私の答えは期限が切れています。 @ lukebuehlerの答えは非常に適切です。

非opensourceソリューションを気にしない場合は、FMODを試してください。ゲーム用の市販オーディオエンジンであるfmodは、シンプルなMIDIシンセを装備しています。私は無料の評価版を試しました。それは私のiPhone 3GでGMのMIDIファイルを正しく再生します。

あなたが望むものが単なるSMFファイルプレーヤーではない場合、あなたはリアルタイムで個々のMIDIイベントに応答できるフル機能のGS/GM softsynthが必要です。 midisynth from CrimsonTechを試すことができます。そのライセンス料は公正です。 Crimsontechは、アプリストアでいくつかのデモアプリを提供しています。また、無料の評価SDKも提供しています。あなたは本当にあなたのアプリを公開するまでライセンスのペニーを支払う必要はありません。

+0

これは素晴らしいことです。私は商用ソフトウェアは気にしない、オープンスタンダードだけが私が本当に重要だと思うものである。ヘッドアップありがとう、何かが必要な場合は私に教えてください、多分私は助けることができます。 – Peterdk

+0

midiイベントをストリームできないようですが、それはかなり厄介です。アップサイドは、それがアンドロイドとwp7をサポートしているということです。うまくいけば1つのライセンスが必要です。 – Peterdk

+0

うわー、あなたはたくさんのものを知っています!ポインタありがとう。私は彼らに連絡した。 – Peterdk

-3

iOS 4.2にはMIDIがサポートされています。 OS Xが提供しているものと同じであれば、trhereも基本的なシンセが含まれます。見てみな。

+0

4.2のMIDIサポートには、シンセエンジンは含まれていません。 – hotpaw2

+4

この回答を削除するとよいでしょうか? –

1

iOS 4.2のMIDIサポートでは、携帯電話自体からMIDIデータを再生することはできません。 MIDIコマンドを他のMIDI機器に送受信するためのものです。

最新のiOS 4.2ドキュメントからは、MIDIサポートを使用して他のデバイスにMIDIコマンドを送信して再生できるようです。他のデバイスからコマンドを受信したり、これらのコマンドを変更したり、ファイルに保存したりすることもできます。しかし、私は実際に直接電話からMIDIファイルを再生するためのサポートを見つけることができません。私が間違っていると誰かが私を修正してください(私は間違っていると思います!!)。

21

サウンドバンク(リンゴプリセットとサウンドフォント)をロードし、MIDIメッセージでサンプラー/シンセをコントロールできるAUSamplerオーディオユニットが追加されました。

Seeeこの例のアプリ: https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html

それは素晴らしい作品!

+0

驚くべき発見、ありがとう! –

+2

ありがとうございます。あなたの答えは、私のものよりも最新の更新です。 iOS 5.0には強力なサンプラーエンジンが搭載されています。 GM/GSのミッドファイルを再生するには、豊富な楽器を含むサウンドカードを供給したところです。私はDLS2 soundfontファイルをロードする方法について[公式の技術者] [1]を見つけました。誰でもこれを試した? [1]:https://developer.apple.com/library/mac/#technotes/tn2283/_index.html –

+0

を追加しました。私のアプリ(WorldScales)にサウンドフォントを使用しています。100MBのsf2ファイルをロードしています。パッチごとに複数のサウンドバンク、ベロシティレイヤー、およびサンプルが含まれています。ただし、同じサウンドフォントでサウンドバンクを切り替えたままにしておくと、メモリに問題が発生します。つまり、別のサウンドフォントファイルを読み込んだ場合、メモリはただちに消去されます。 – lukebuehler

関連する問題