見出し画像

MusicBrainzに音楽CDのディスクIDを登録:自分以外の誰かもちょっと幸せになるかも

MusicBrainzから音楽CDのカバーアート画像をダウンロードする方法にも書いたように、MusicBrainzに音楽CDのディスクIDが登録されていないため、楽曲情報やカバーアート画像があっても見つからない場合が多々あります。

そこで、自分で音楽CDのディスクIDをMusicBrainzに登録することを試みました。

MusicBrainz Picardを使った方法が下記のサイトで丁寧に説明がされています。楽曲情報を全部入力するのはハードルが高そうですが、存在する楽曲情報にディスクIDを追記するだけなら簡単そうです。

ここではGUIのアプリケーションを使わず、コマンドラインとウェブブラウザを使った方法について説明します。コマンドラインはLinux(ラズパイ5)を使った場合を例として説明します。ウェブブラウザはLinuxでもWindowsでも何でも良いです。

コマンドラインのプログラムには、libdiscidのソースコード内のexamplesにあるdiscidを使います。
libdiscid-0.6をダウンロードして、適当な場所に展開しビルドします。

$ tar xvfz ~/src/app/libdiscid-0.6.4.tar.gz
$ cd libdiscid-0.6.4
$ ./configure
$ make

すでにlibdiscidをインストール済みであるなら、上記のビルドはせずに、ソースコード内のexamplesディレクトリにあるdiscid.cを直接コンパイルしてもOKです。その場合は下記のような感じです。discid.cと一緒にdisc_metadata.cもコンパイルして使えるようにしておくと便利です。disc_metadataのコンパイルにはlibmusicbrainzの開発環境もインストールしておくことが必要です。

$ cd examples
$ gcc -o discid discid.c `pkg-config --cflags --libs libdiscid`
$ gcc -o disc_metadata disc_metadata.c `pkg-config --cflags --libs libdiscid` `pkg-config --cflags --libs libmusicbrainz5`

discidは、PCにつながっているDVDドライブに入っているCDのディスクIDを計算するプログラム、disc_metadataはCDのタイトルと、各トラックのタイトルを表示するプログラムです。

コンパイルがうまくいったら、DVDドライブに適当な音楽CDを入れてdisc_metadataとdiscidを実行してみましょう。
下記はPSY・Sの「Collection」というCDの場合です。

$ ./disc_metadata 
DiscID was not found, but we received a fuzzy match for the TOC.

Release title: Collection
	Media  1:
		Track  1: Wake Up (A Short Version)
		Track  2: ドリーム・スープ
		Track  3: 本当の嘘
		Track  4: ビー玉坂
		Track  5: Woman・S (Bossa nova Version)
		Track  6: サイレント・ソング
		Track  7: 絵に描いたよりPictureness
		Track  8: 風の中で
		Track  9: 私は流行、あなたは世間 (instrumental version)

$ ./discid 
DiscID        : QIwBoJo2z6mFRi4lw4hCO9ZFCpc-
FreeDB DiscID : 64091c09
First track   : 1
Last track    : 9
Length        : 175095 sectors (  38:54.60)
Track 1       :      150    18037 (   4:00.49)
Track 2       :    18187    18993 (   4:13.24)
Track 3       :    37180    17175 (   3:49.00)
Track 4       :    54355    23377 (   5:11.69)
Track 5       :    77732    17418 (   3:52.24)
Track 6       :    95150    17637 (   3:55.16)
Track 7       :   112787    14910 (   3:18.80)
Track 8       :   127697    15080 (   3:21.07)
Track 9       :   142777    32318 (   7:10.91)
Submit via    : http://musicbrainz.org/cdtoc/attach?id=QIwBoJo2z6mFRi4lw4hCO9ZFCpc-&tracks=9&toc=1+9+175095+150+18187+37180+54355+77732+95150+112787+127697+142777

disc_metadataでは、CDのタイトルと各トラックの曲名が表示されています。"DiscID was not found, but …"とあるように、DiscIDは見つからないけど、TOC(Table Of Contents)の情報から見つけた(fuzzy matchで)ことが表示されています。

discidの実行結果では、DiscID: QIwBo…とディスクIDが表示されています。

今回の目的は、このDiscIDを対応する楽曲情報に追加登録することです。

discidの実行結果には、"Submit via: http://musicbrainz.org/…."との表示が出るので、ウェブブラウザでこのアドレスにアクセスします。

MusicBrainzにはあらかじめログインアカウントを作っておく必要があります。登録は簡単で、ユーザー名とパスワード、メールアドレスを入力すると、メールが送られてくるのでメールに書かれているアドレスにアクセス認証すればOKです。

さて、Submit viaに書かれていたアドレスにアクセスすると、下記のように検索画面が出ます。アーティスト名かタイトル名で登録したい楽曲情報を探します。
ここでは、タイトルの"Collection"で検索してみます。

楽曲情報の検索画面

そうすると、タイトルがCollectionという楽曲の一覧が表示されるので、その中から登録済みの楽曲情報(ArtistがPSY・Sのデータ)を選択します。そして、一番下の「Attach CD TOC」のボタンを押します。

楽曲情報の選択画面

そうすると、下記のように選択した楽曲情報が表示されるので、このデータで正しいようなら「Enter edit」ボタンを押せば登録されます。

ディスクIDの登録確認画面

登録ボタンを押すと下記のような画面が表示されます。右上に"Thank you, your edit(#xxx) has been automatically accepted and applied." とあるように、ディスクIDの登録は自動的にすぐに反映されます。

登録完了画面

再度disc_metadataを実行すると、前には表示されていた”DiscID was not found, but we received a fuzzy match for the TOC.”がなくなり、登録されたことが分かります。

$ ./disc_metadata 

Release title: Collection
	Media  1:
		Track  1: Wake Up (A Short Version)
		Track  2: ドリーム・スープ
		Track  3: 本当の嘘
		Track  4: ビー玉坂
		Track  5: Woman・S (Bossa nova Version)
		Track  6: サイレント・ソング
		Track  7: 絵に描いたよりPictureness
		Track  8: 風の中で
		Track  9: 私は流行、あなたは世間 (instrumental version)

前回の記事のart_simpleを実行してみると、Release IDも検索でき、無事、カバーアート画像が取得できました。

$ ./art_simple 
mb_disc_id = QIwBoJo2z6mFRi4lw4hCO9ZFCpc-
freedb_disc_id = 64091c09
Release ID0: 020a5d43-bc7f-4484-b1fb-c5ffe50dbe2d

以上、MusicBrainzにディスクIDを登録する方法を紹介しました。ディスクIDのみを登録するのであれば思いのほか簡単です。
今や音楽CDは過去のものとなりつつあり、使っている人も少ないのかもしれませんが、お手持ちのCDのディスクIDだけでも登録すると、自分以外の誰かもちょっぴり幸せになるかもしれませんね。

いいなと思ったら応援しよう!