ユーザーのアクションで継続的な MIDI サウンドを再生する必要があるという要件があります。再生する必要がある楽器/サウンドのセットが多数あるため、midi のみを使用する必要があります。それは私が達成できたアプリの一部です。それを達成するためにオーディオグラフなどを使用しました。問題は、それらのメモの記録にあります。前述したように、私は多くの楽器を持っているので、各楽器の音を別々に録音する必要があります。そこで、楽器ごとに MIDI ノート番号を配列に保存しようとしました。ここでの問題は、これらのサウンドをすべてミックスし (理想的にはミキサーで再生せずに)、それらから音楽ファイルを作成する必要があることです。私が考える退屈な方法の 1 つは、MIDI トーン自体が再生されるときに各楽器を個別に音楽ファイルに録音し、最後にすべての楽器の音楽ファイルを合計してミックスすることです。しかし、ユーザーはいくつかの楽器の曲などを遅らせる可能性があり、ミックスするのがかなり難しいと感じています。また、さまざまな長さのオーディオ ファイルとその前の遅延をミックスする適切な方法を見つけることができませんでした。マルチチャンネルミキサーを介して再生し、すべてのサウンドがミキサーを介して再生されて録音が完了するまで待つことなく、さまざまな楽器のMIDIノート番号からオーディオファイルを生成できる方法があるかどうか、誰か教えてください。彼ら?これが可能と思われる別のアプローチがあるかどうかも教えてください。マルチチャンネルミキサーを介して再生し、すべてのサウンドがミキサーを介して再生されて録音が完了するまで待つことなく、さまざまな楽器のMIDIノート番号からオーディオファイルを生成できる方法があるかどうか、誰か教えてください。彼ら?これが可能と思われる別のアプローチがあるかどうかも教えてください。マルチチャンネルミキサーを介して再生し、すべてのサウンドがミキサーを介して再生されて録音が完了するまで待つことなく、さまざまな楽器のMIDIノート番号からオーディオファイルを生成できる方法があるかどうか、誰か教えてください。彼ら?これが可能と思われる別のアプローチがあるかどうかも教えてください。
質問する
535 次
1 に答える
0
あなたが達成しようとしていることを完全には理解していませんが、試してみます。
Core Audio でミュージック プレーヤー API を使用する場合、必要な数のトラックを含むミュージック シーケンスをセットアップし、ミュージック トラックごとに 1 つのインストゥルメントを作成し、MIDI データを発生時に各トラックに書き込むことができます。これにより、再生されたすべての同期レコードが得られます。同期はあなた次第です: リアルタイムでメモを追加するか (すべてのトラックが同期されます)、各トラックの先頭にメモを追加し始めます。
Music Player では .midi ファイルをエクスポートできますが、それではカスタム AUSampler サウンド フォントを取得できないため、あまり役に立ちません。実際にレンダリング (再生) せずにオーディオ ファイルを生成する方法がわかりません。おそらく、ミキサー出力でのレンダリング コールバックと、ミキサーが remoteIO に接続されていない (それが可能かどうかはわかりません)。
于 2012-11-06T06:33:02.030 に答える