web-dev-qa-db-ja.com

MP3ファイルの不具合を検出(および可能であれば修正)できるツールはありますか?

私のコレクションには、次のような不具合があるMP3がいくつか含まれています。

  • ロード時に誤った期間を表示する
  • マイナージャンプ
  • 継続時間にもかかわらず突然終了すると、あと1分残っている
  • ノイズ

私はこれらのグリッチをできるだけ多く検出し、修正できるものを修正できるツールを探しています(明らかに、たとえば、ほとんどの場合、ノイズを単純に除去することはできません)。

32
Tobias Kienzler

コマンドラインツール mp3val を使用すると、mp3ファイルの構造上の欠陥をスキャンし、必要に応じて修復する作業をすばやく行うことができます。私は、「傷つけない」という原則に基づいて、コレクション内のほぼすべてのファイルに対して実行しようとしています。それは、取るに足らないものから深刻なものまでの範囲の欠陥を持つ、見かけ上は良いファイルの驚くべき数を識別します。

mp3valは、VBRファイル内のVBRヘッダーの欠如(ほとんどの間違った期間とシークの問題の原因)など、ヘッダーの欠陥を認識して修正するのに特に優れています。ただし、ガベージ/破損したオーディオフレームデータもクリアされます。これは、一部のプレーヤーがファイルに残された場合にエレガントに処理できない、使用できない残骸です。

Mp3のディレクトリ全体で実行し、問題が見つかったファイルのみを修復し、バックアップを保持し(またはオプションで)、タイムスタンプを保持し(オプション)、セッションをテキストファイルにログする(オプション)ように指示することもできます。

そして、それは無料でオープンソースです! (リンクは、sourceforgeプロジェクトへのリンクです。)

編集:最後にもう1つ、言及し忘れていました。 「しかし、mp3valは2009年以来更新されていません!!」、私はあなたが泣くのを聞きます。それはまさにtrue! 2009年以降は正常に動作しており、アップデートは必要ありません。 (結局のところ、過去2年間でMP3ファイル形式が変更されたようではありません!)

35
FeRD

私はあなたがすでに試したことを想定しました グーグルの最初のオプション ...?また、Perlスクリプト mp3checker も役立ちます。

編集:

あなたのトラックを修復することに関しては MP3 Diags (lifehacker記事へのリンク)に見えるかもしれません。

10
John

mpckはWindowsおよびGNU/Linuxで動作します。

ホームページ: http://checkmate.gissen.nl/

不良フレームを検出し、オプションのレポートを生成します。
ウィンドウ用のGUIフロントエンドもあります。

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

更新:

このプログラムはutf-8ファイル名を完全に処理できるようですが、私は日本語、中国語、またはよりエキゾチックなグリフを試していません。

Gentoo(UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

UTF-8ロケールのCygwin(Windowsの日本語ロケール)
ネイティブのWindowsバイナリはcygwinを認識しないため、出力を変換する必要がありました。

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            

より簡単な方法は、ffmpegを使用して、ID3タグに無効な期間があるファイルからファイルをコピーすることです。これにより、正しい情報が書き込まれます。

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

コピーを使用するため、元のエンコーディングにかかる​​時間の数分の1です。これは曲ではほとんど目立ちませんが、7時間のオーディオブックでそれを本当に感謝します。再エンコード後、ID3タグに正しい情報が含まれるようになりました。

0
Miriam English