2017-10-07 19 views
1

MIDIトラックとMIDIトラックが使用していたSoundFontを知っていれば、理論上、そのオーディオを(おそらく)MIDIコンポーネントに戻すことはできますか?もしそうなら、これを行うための最善の方法は何でしょうか?使用されたSoundFontを使用して、オーディオを可能な限り正確にMIDIに分解することは可能ですか?

最後の目標は、音声ファイル(音声サンプルも)をMIDIにエンコードして、元の音声をBearFileConverterよりもMIDI形式で再生できるようにすることです。うまくいけば、バンドパスフィルターやFFTだけでなく、より良い結果が期待できます。

いいえ、これは音声の圧縮やシートの文字化けのためではありません。これは主に私の好奇心のためです。

+2

(1)これはおそらくdsp.stackexchange.comサイトでよりよく尋ねられます。 (2)これは部分的に未解決の研究課題である。数多くの研究論文については、http://www.music-ir.org/mirex/wiki/MIREX_HOME – hotpaw2

答えて

3

SoundFont合成エンジンとレコードサンプルレートが正確に一致している(1ppm以上に同期している、追加の効果がない、既知のA440基準周波数イントネーションなど)、事前に知られているフォントの各MIDIピッチで、録音されたオーディオの相互相関のセットを使用して、各MIDIノートの統計的尤度のタイムラインを作成できます。ピッチ範囲、スレッショルド、ピーク・ピックのローカル最大値を見つけて、最も可能性の高いMIDIノートオンセット時間を見つけます。

別の可能性は、滑り音の指紋であるが、さらに高い計算コストである。

これは、不完全にマッチングされたサンプルレートに加えて、ノイズ、スピーカーおよびルームアコースティックエフェクト、マルチパスリバーブなどの不具合により、実際には失敗します。また、独自の倍音に非常に似ているノート波形。音声サンプルは、どのテンプレートからもさらに変化します。

バンドパスフィルタを忘れたり、FFTのマグニチュードピークを探すのは、非常に少ない楽器や面白いフォントのように聞こえる(まるで退屈な)正弦波の近くでのみ確実に機能するためです。

+0

を参照してください。エンド・ゴール・ビットについては、原音を再現する限り、誤検出は問題にはなりません。だからそれは倍音のマッチングは良いことができる? – Sonny6155

+0

偽陽性は、それらの元の曲を隠す可能性のある多くの音符につながります。 – hotpaw2

関連する問題