正月やすみにMusicBrainz Picardを使って音楽ライブラリのタグ付けをみなおしました。
MusicBrainz Picardとは
MusicBrainz Picardは、mp3やogg vorbisなどのファイルに「半自動で」タグをつけるソフトウェアです。名前から予想されるとおり MusicBrainzのデータをつかってタグが存在しない楽曲でもそれなりに推定してくれます。
なんでやったの?
再生に不備はないので放置していたんですが、自分の音楽ライブラリのタグがカオスでした。
- 昔のmp3には文字エンコードがSJISでタグついてたり
- そもそも自分がローマ字でタグやファイル名つけてたり
- それをoggに変換したときに使ったツールがUTF8前提にしていて文字化けしたり
- さらに自作スクリプトのバグでArtistタグが設定されていないファイルを変換したときに関係ないArtistタグが入ってしまったり……
最近Spotifyを使いはじめたら自分のライブラリをお気に入り楽曲として登録する機能があるんですね。登録するとライブラリの中身を反映していい感じのプレイリストを作ってくれるわけです。この機能には当然タグが使われるわけで、急遽「タグづけちゃんとしないとな……」という機運が高まりました。
おおまかな作業の流れ
- Add Folderからフォルダを適当に選択
- Unclustered Filesに曲がはいるのでClusterを押すと既存のタグ情報でアルバムごとに分類してくれる
- アルバムを選択したScanを押すとAcoustIDを計算し、別のペインに「マッチしそうなMusicBrainzのアルバムとその楽曲、マッチしそうな度合い(タグやAcoustIDのマッチ度から計算)
- その後検出情報を修正する。典型的には「ベストアルバムをスキャンする→複数のシングルとアルバムとして検出される→どれか1つの楽曲で検索して目当てのアルバムを指定→誤分類された楽曲を移動(アルバムからアルバムにまとめてできる)→トラックの誤割り当てがないか確認」
- Saveボタンを押してタグ書き込み
全部やるのに2日くらいかかりました。ずっとやってたわけじゃないけど7-8時間くらいかかった気がします。
誤検出は?
- AcoustIDによる曲の誤検出はほぼ無い。5000曲くらいのアーカイブで作業して2,3曲くらい。むしろ厳しすぎて該当してるのにマッチしてくれない(false negative)のは300-400曲くらいあった。
- アルバムを検出したあとアルバム内の楽曲にフィットするときにはタグ情報を加味して適当にあてはめてくれる。これはもとのタグ品質にもよるので間違い多数。もとのタグやファイル名を見て人間(=僕)ががんばってなおした。
- そしてそれよりはるかに多いのは同じ楽曲が複数のアルバムやシングルに存在していて、想定と違うアルバムに分類されてしまうこと。あと限定版とかバージョン違いとか外国版とかもある(これはOther versionsというメニューで切り替えできる)。
MusicBrainzのDBも完全ではないのでもとのCDのデータがないケースではタグづけてきないことがあります。false negativeの可能性もあるのでここの確認をどれだけするかは悩ましいところ。アルバム10曲あれば1-2曲はヒットしてくれるので全くないときは『たぶんMusicBrainzに無い』ということにしてスルーしました。
MusicBrainz Picardのえらいところ
タグつけなおしのために考え抜かれて作られていることがわかる非常にいいソフトです。
- もとのタグを利用したクラスタリング機能があるおかげで作業が大幅にはかどる。
- アルバムで全曲フィットするとディスクのアイコンが金色表示されたり、マッチ率によりtrackのアイコンや背景色がかわる、変更される可能性があるタグを色づけするなど、人間が見るべきところを見つけやすくする工夫が随所にみられる。
- 誤検出を前提にして 「Search for similar tracks...」というメタデータで探すメニューや、MusicBrainzのWebを参照する機能がある。
- MusicBrainzで推定したアルバムが複数ある場合、アルバムからアルバムにドラッグ&ドロップすると適当に推定してtrackを割りあてなおしてくれる。自動割りあてできなかったtrackはUnmatched tracksのような分類で表示される。
- 基本的にSaveしなければ他の操作でタグが変わることがない。探索的に使いやすい。
- ステータスバーにtrackのファイル名が出るしダブルクリックで詳細がでる。タグをちゃんとつけてなくてファイルの場所から推定するしかないときにとても便利。
オチ
デジタルでしか音楽買わない世代うらやま。