楽器(ピアノ、ドラム、ギターなど)の音を合成する方法を教えてもらえますか?
何を探すべきかさえわかりません。
ありがとう
これがまだ当てはまるかどうかはわかりませんが、Androidには遅延の問題があり、真のサウンド合成を実行できないようです。私の意見では、NanoStudioはiOSで最高のオーディオアプリであり、フレームワークがまだ存在しないため、作成者はこれまでのところAndroidバージョンの作成を拒否しています。
これらのリンクを参照してください。
それはすべてあなたが作っているアプリケーションの種類に依存します、それがAkai APCが音を発することになるなら、あなたは大丈夫かもしれません。上記のJASSが行うことである、真の合成(ピアノ、ギター、ドラムを複製するように波形を作成する)を求めている場合、Androidはそれを処理できない可能性があります。
シンセサイザーを介して有機楽器をエミュレートするためのガイドを探している場合は、FredWelshの本をチェックしてくださいhttp://www.synthesizer-cookbook.com/
ギター、ピアノ、またはナチュラルドラムを合成するのは難しいでしょう。合成エンジンを通過するサンプルのトリガーはそれほど多くありません。アナログシンセサウンドを合成したい場合は、それが簡単です。
これがあなたがコードをつかむことができるかもしれないそこにあるプロジェクトです:
https://sites.google.com/site/androidsynthesizer/
最終的に、完全なシンセサイザーまたはマルチトラックアプリケーションを作成する場合は、オシレーターやフィルターなどを、MediaPlayerにパイプできるオーディオストリームにレンダリングする必要があります。そのために必ずしもMIDIは必要ありません。
これが一人の経験です:
http://jazarimusic.com/2011/06/audio-on-android-a-developers-perspective/
興味深い読み物。
AndroidでのMIDIサポートは最悪です。(オーディオサポート全般もそうですが、それは別の話です。) AndroidのMIDI機能(の欠如)について説明している興味深いブログ投稿がここにあります。いくつかの制限を回避するために彼がしたことは次のとおりです。
個人的には、動的なMIDI生成の問題を次のように解決しました。プログラムでMIDIファイルを生成し、デバイスストレージに書き込み、ファイルを使用してメディアプレーヤーを起動し、再生します。ダイナミックなMIDIサウンドを再生する必要がある場合は、これで十分です。シーケンサーのようなユーザー制御のmidiのものを作成するのに役立つとは思えませんが、それ以外の場合は素晴らしいです。
JASS(Java Audio Synthesis System)とPureDataを検討する価値のある2つのプロジェクト。PureDataは非常に興味深いものですが、おそらくより難しい道です。
残念ながら、Androidは公式のJavaSDKでMIDIサポートを廃止しました。
つまり、オーディオストリームを直接再生することはできません。提供されているMediaStreamクラスを使用する必要があります。
これを行うには、DSP(デジタル信号処理)の知識とNDKを使用する必要があります。
これを可能にする一般的なパッケージ(必ずしもAndroid用ではない)があったとしても、私は驚かないでしょう。
これがあなたを正しい方向に向けたことを願っています!