まず、私がやろうとしていることを大まかに述べ、アドバイスを求めます。次に、現在のアプローチを説明し、現在の問題に対する回答を求めます。
問題
話している人の MP3 ファイルがあります。文またはフレーズにほぼ対応するセグメントに分割したいと思います。(手動で行いますが、何時間ものデータについて話しているのです。)
これをプログラム的に、または既存のユーティリティで行う方法についてアドバイスがあれば、ぜひ聞かせてください。(私は音声アクティビティ検出を認識しており、少し調べましたが、自由に利用できるユーティリティは見当たりませんでした。)
現在のアプローチ
最も簡単な方法は、一定の間隔で MP3 をスキャンし、平均音量があるしきい値を下回っている場所を特定することだと思いました。次に、既存のユーティリティを使用して、それらの場所で mp3 をカットします。
私は pymad をいじっていましたが、mp3 の各フレームの PCM (パルス符号変調) データを正常に抽出できたと思います。PCM データが相対ボリュームにどのように変換されるかについて頭を悩ませているように見えないため、今は行き詰まっています。複数のチャネル、ビッグエンディアンとリトルエンディアンなど、他の複雑な要因についても認識しています。
pcm サンプルのグループを相対ボリュームにマッピングする方法に関するアドバイスが重要です。
ありがとう!