1

PHP を使用して、サーバーに配置されたオーディオ ファイルのビート レート (1 分あたりのビート数または 1 秒あたりのビート数) を取得できる可能性はありますか。主なシナリオは、サーバーのどこかにいくつかのオーディオ ファイル (mp3、wav など) があり、ビート レートに従ってそれらを分類する必要があるというものです。


私はこれを得ました: http://pear.php.net/reference/MP3_IDv2-0.1.4/__filesource/fsource_MP3_IDv2__MP3_IDv2-0.1.4IDv2FrameTBPM.php.html

関数 getBPM() の使用方法を説明してください。

4

3 に答える 3

2

オーディオ ファイルの BPM 検出用の単純な php クラスを作成しました。BPM を取得するには、soundtouch と ffmpeg を使用します。ここで入手できます - php-bpm-detect

于 2014-08-09T08:07:29.567 に答える
1

サーバーにインストールした後、SoundTouch オーディオ処理ライブラリを php から呼び出してみてください。

FAQ には、BPM を検出できると記載されています。mp3 ファイルを処理できるかどうかはわかりませんが、ffmpeg を使用して wav に変換し、bpm 検出を実行できます。

詳細については、リンクを確認してください。

SoundStretch オーディオ処理ユーティリティ

于 2013-04-23T13:23:27.327 に答える
0

ビート レート (BPM) は、さまざまな方法で計算できます。まず、音エネルギーの局所的なピークに過ぎないビートを検出する方法を見つける必要があります。WAV ファイルを分析したい場合、ファイル全体をサンプルごとに検索し、連続したサンプル間の大きな違いを見つけるのが最善です。大きな違いは?わかりにくいので、別の値 (別の検出しきい値) で試す必要があります。MP3 も圧縮されているため、MP3 の検出は困難です。

その他のアイデアを次に示します。

PHPで曲のBPMを検出する方法

ところで: BPM 検出に PHP を使用してもよろしいですか? サーバーをお持ちの場合は、cgi スクリプトとして起動される C/C++ など、他の言語も使用できるでしょう。これにより、メモリと CPU の効率が大幅に向上します。

あなたのプロジェクトで頑張ってください!

EDIT : Google を使用してさまざまなプロジェクトを見つけてみてください。ただし、同じトピック (wav 分析) をカバーしています。 PNGに保存します。波形を描画する場合は、一歩先を行っています。サンプル値を描画するのではなく、それらを分析してビートを見つけるアルゴリズムを実装する必要があります。

于 2013-04-23T13:17:31.830 に答える