4

私は、単語のグループ (約 17,000 単語から) をグループ化し、mp3 ファイル (各 mp3 ファイルは単語) に一致するプレイリストを生成する C# WPF アプリケーションに取り組んでいます。

現在、各 mp3 ファイルには、ウェーブの最後に 1 秒から 30 秒の間のランダムな無音部分があります。

ファイルの末尾から無音の波をプログラムで削除できるようにしたいと考えています。

NAudio for .NET を使用して、mp3 ファイルの末尾から無音の波を削除するにはどうすればよいですか?

4

2 に答える 2

2

SoXの使用を達成しました

SoX Silenceのドキュメント:http: //digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/

SoX SilenceのStackoverflowヘルプリファレンスファイルの終わり: https ://stackoverflow.com/a/11834671/677607

C#を使用したコマンドラインの実行: https ://stackoverflow.com/a/1469790/677607

于 2012-10-29T21:16:43.523 に答える
1

MP3 ファイルをトリミングするには 2 つの方法があります。1 つ目は、Mp3FileReader を使用してオーディオを WAV として読み取り、WaveFileWriter を使用して必要な量だけを新しい WAV ファイルに書き込む方法です。次に、NAudio には MP3 エンコーダーが含まれていないため、LAME.exe などのツールを使用して MP3 に変換し直します。

2 つ目は、Mp3Frame を破棄することで、デコードと再エンコードを必要としないという利点があります。MP3 ファイルは、一連の Mp3Frame で構成されます (オプションで、開始または終了に ID3 タグなどのメタデータが含まれます)。次に、必要な MP3 フレームを新しいファイルに追加し、最後のフレームをスキップして、新しい MP3 ファイルを作成できます (オプションで、ID3 タグが切り捨てられたファイルに含まれていることを確認します)。Mp3FileReader のソース コードを見て、MP3 ファイルから Mp3Frame を 1 つずつ読み取る方法を確認してください。

于 2012-10-24T14:12:20.703 に答える