8

.Net (VB.Net または C#) を使用して、wave または MP3 ファイルの BPM をプログラムで取得する必要があるプロジェクトがあります。

このためのバイナリまたはライブラリを知っている人はいますか、それとも私を正しい方向に導くためのコードスニペットを持っていますか?

4

3 に答える 3

2

まず、.Net でサウンドを作成したい場合は、素晴らしい.Net ラッパー (http://www.fmod.org) を備えた fmod をお勧めします。
次に、BPM を取得するにはいくつかの方法がありますが、私が最も効果的だと思うのは「ビート スペクトル」です (ここで説明: http://www.rotorbrain.com/foote/papers/icme2001/icmehtml.htm )。
このアルゴリズムは、音楽の各短いサンプルを他のすべてのサンプルと比較することにより、類似度マトリックスを計算します。類似性行列が計算されると、各時間間隔 T の各サンプル ペア {S(T);S(T+1)} 間の平均類似性を取得できます。これがビート スペクトルです。ビート スペクトルの最初の高いピークは、ほとんどの場合、ビートの持続時間です。最良の部分は、音楽構造やリズム分析なども実行できることです。
この分野に興味がある場合は、Jonathan Foote の他の論文を読むことをお勧めします。

于 2011-02-23T23:11:57.137 に答える
2

.NET コードで WAV または MP3 からサンプルを取得する部分については、(CodePlex で) NAudio を使用します。これは無料で、商用アプリで使用できます。実際のドキュメントはなく、サンプル コードのみです。

于 2010-05-06T23:50:59.037 に答える
1

これは、C# ライブラリを備えた商用製品です。試用版も利用できます: http://adionsoft.net/bpm/

于 2010-05-06T14:43:40.930 に答える