私のコレクションには、次のような不具合があるMP3がいくつか含まれています。
私はこれらのグリッチをできるだけ多く検出し、修正できるものを修正できるツールを探しています(明らかに、たとえば、ほとんどの場合、ノイズを単純に除去することはできません)。
コマンドラインツール mp3val を使用すると、mp3ファイルの構造上の欠陥をスキャンし、必要に応じて修復する作業をすばやく行うことができます。私は、「傷つけない」という原則に基づいて、コレクション内のほぼすべてのファイルに対して実行しようとしています。それは、取るに足らないものから深刻なものまでの範囲の欠陥を持つ、見かけ上は良いファイルの驚くべき数を識別します。
mp3valは、VBRファイル内のVBRヘッダーの欠如(ほとんどの間違った期間とシークの問題の原因)など、ヘッダーの欠陥を認識して修正するのに特に優れています。ただし、ガベージ/破損したオーディオフレームデータもクリアされます。これは、一部のプレーヤーがファイルに残された場合にエレガントに処理できない、使用できない残骸です。
Mp3のディレクトリ全体で実行し、問題が見つかったファイルのみを修復し、バックアップを保持し(またはオプションで)、タイムスタンプを保持し(オプション)、セッションをテキストファイルにログする(オプション)ように指示することもできます。
そして、それは無料でオープンソースです! (リンクは、sourceforgeプロジェクトへのリンクです。)
編集:最後にもう1つ、言及し忘れていました。 「しかし、mp3valは2009年以来更新されていません!!」、私はあなたが泣くのを聞きます。それはまさにtrue! 2009年以降は正常に動作しており、アップデートは必要ありません。 (結局のところ、過去2年間でMP3ファイル形式が変更されたようではありません!)
私はあなたがすでに試したことを想定しました グーグルの最初のオプション ...?また、Perlスクリプト mp3checker も役立ちます。
編集:
あなたのトラックを修復することに関しては MP3 Diags (lifehacker記事へのリンク)に見えるかもしれません。
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タグに正しい情報が含まれるようになりました。