DUICUO

MetaFlacを使って音楽タグを管理する方法

[[282588]]

この強力なオープンソース ツールを使用すると、コマンド ラインから音楽タグのエラーを修正できます。

長年、CDをコンピュータにリッピングしています。その間、いくつかの異なるリッピングツールを使ってきましたが、それぞれがタグ付けの処理方法、特に保存される音楽メタデータが異なることに気づきました。「観察」というのは、音楽プレーヤーがアルバムを面白い順番で並べ替えたり、カタログ内のトラックを2つのアルバムに分割したり、その他イライラさせられるような不具合を引き起こしたりするということです。

非常に曖昧なタグもいくつか見かけますが、多くの音楽プレーヤーやタグエディタでは表示されません。それでも、極端なケースでは、音楽を分類したり表示したりするためにタグを活用できます。例えば、あるプレーヤーでは、XYZタグを含むすべての音楽ファイルを、そのタグを含まないすべてのファイルとは別のアルバムに分けるといった具合です。

では、タグ付けアプリや音楽プレーヤーに「奇妙な」タグは表示されないものの、何らかの影響を受けている場合はどうすればよいでしょうか。

Metaflac が救いの手を差し伸べます!

オープンソースの音楽ファイルフォーマットとして私が愛用しているmetaflac(コマンドラインFLACファイルメタデータエディタ)をずっと使いこなしたいと思っていました。EasyTAGのような優れたタグ編集ソフトウェアに問題があるわけではありませんが、「ハンマーを持っていれば、すべてが釘に見える」という古い諺を思い起こさせてしまいます。また、実用的な観点から言えば、ArmbianとMPDを搭載した小規模な専用サーバー、ローカルに保存された音楽、そして音楽専用の洗練されたヘッドレス環境があれば、自宅やオフィスのステレオ音楽のニーズには十分です。そのため、コマンドラインのメタデータ管理ツールは非常に役立ちます。

以下のスクリーンショットは、私が長時間のリギング プロセス中に遭遇した典型的な問題を示しています。Putumayo の Columbia 音楽コンピレーションが 2 つの別々のアルバムとして表示され、1 つには 1 つのトラックが含まれ、もう 1 つには残りの 11 トラックが含まれています。

タグが間違っているアルバム

metaflac使用して、これらのトラックを含むディレクトリ内のすべての FLAC ファイルのタグのリストを生成しました。

  1. rm - f tags . txt
  2. for f in *. flac ; do
  3.         echo $f & gt ;& gt ; tags . txt
  4. metaflac -- export - tags - to = tags . tmp "$f"
  5.         cat tags . tmp & gt ;& gt ; tags . txt
  6.         rm tags . tmp
  7. done

これを実行可能なシェルスクリプトとして保存しました(同僚のDavid BothによるBashシェルスクリプトに関する優れた記事シリーズ、特にループに関する章をご覧ください)。基本的に、ここで行っているのは、ファイル名( echoコマンド)に続けてそのタグを全て記述し、さらに次のファイル名を記述するという形で、 tags.txtというファイルを作成することです。結果の最初の数行は次のとおりです。

  1. A Guapi . flac
  2. TITLE = A Guapi
  3. ARTIST = Grupo Bahia
  4. ALBUMARTIST = Various Artists
  5. ALBUM = Putumayo Presents : Colombia
  6. DATE = 2001
  7. TRACKTOTAL = 12
  8. GENRE = Latin Salsa
  9. MUSICBRAINZ_ALBUMARTISTID = 89ad4ac3 - 39f7 - 470e-963a - 56509c546377
  10. MUSICBRAINZ_ALBUMID = 6e096386 - 1655 - 4781 - 967d - f4e32defb0a3
  11. MUSICBRAINZ_ARTISTID = 2993268d - feb6 - 4759 - b497 - a3ef76936671
  12. DISCID = 900a920c
  13. ARTISTSORT = Grupo Bahia
  14. MUSICBRAINZ_DISCID = RwEPU0UpVVR9iMP_nJexZjc_JCc -
  15. COMPILATION = 1
  16. MUSICBRAINZ_TRACKID = 8a067685 - 8707 - 48ff - 9040 - 6a4df4d5b0ff
  17. ALBUMARTISTSORT = 50 de Joselito , Los
  18. Cumbia Del Caribe . flac

調べてみると、PutumayoのCDを複数枚同時にコピーしていたことが判明しました。当時使用していたソフトウェアは、1枚を除くすべてのファイルにMUSICBRAINZ_*タグを追加していたようです。(バグだったのでしょうか?おそらく。6枚のアルバム全てで確認しました。)さらに、時折発生する奇妙な順序付けに関してですが、 ALBUMARTISTSORTタグによってスペイン語のタイトル「Los」がタイトルの最後(カンマの後)に移動されていることに気付きました。

私は単純なawkスクリプトを使用して、 tags.txtに報告されたすべてのタグをリストしました。

  1. awk - F = 'index($0,"=") > 0 {print $1}' tags . txt | sort - u

これは、 =フィールドセパレータとしてすべての行をフィールドに分割し、等号を含む行の最初のフィールドを出力します。結果はsort-uフラグを使用して渡されるため、出力中の重複はすべて除去されます( sortプログラムに関する同僚の Seth Kenlon の記事を参照してください)。このtags.txtファイルの出力は次のようになります。

  1. ALBUM
  2. ALBUMARTIST
  3. ALBUMARTISTSORT
  4. ARTIST
  5. ARTISTSORT
  6. COMPILATION
  7. DATE
  8. DISCID
  9. GENRE
  10. MUSICBRAINZ_ALBUMARTISTID
  11. MUSICBRAINZ_ALBUMID
  12. MUSICBRAINZ_ARTISTID
  13. MUSICBRAINZ_DISCID
  14. MUSICBRAINZ_TRACKID
  15. TITLE
  16. TRACKTOTAL

調査の結果、 MUSICBRAINZ_*タグが 1 つの FLAC ファイルを除くすべてのファイルに出現していることがわかったので、 metaflacコマンドを使用してこれらのタグを削除しました。

  1. for f in *. flac ; do metaflac -- remove - tag MUSICBRAINZ_ALBUMARTISTID "$f" ; done
  2. for f in *. flac ; do metaflac -- remove - tag MUSICBRAINZ_ALBUMID "$f" ; done
  3. for f in *. flac ; do metaflac -- remove - tag MUSICBRAINZ_ARTISTID "$f" ; done
  4. for f in *. flac ; do metaflac -- remove - tag MUSICBRAINZ_DISCID "$f" ; done
  5. for f in *. flac ; do metaflac -- remove - tag MUSICBRAINZ_TRACKID "$f" ; done

完了したら、音楽プレーヤーを使ってMPDデータベースを再構築できます。結果は次のとおりです。

正しいタグが付いたアルバム

完成しました。12曲が1枚のアルバムに収録されています。

素晴らしい! metaflac大好きです。最近間違えてしまった音楽コレクションのタグを修正しながら、もっと頻繁に使いたいと思っています。超おすすめです!

音楽について

CBCミュージック(CBCはカナダの公共放送局です)のオダリオ・ウィリアムズの番組「After Dark」を何晩も聴いていました。オダリオのおかげで、ケヴィン・フォックスの「Songs for Cello and Voice」を聴くことができ、大変気に入りました。この曲では、ユーロスミックスの「Sweet Dreams (Are Made of This)」を歌っていました。

この CD を購入し、正しいタグが整理された状態で音楽サーバーに保存しました。