初回掲出日: 2021-11-26
最終更新日: 2022-08-13
かつては freedb
というのがあったが惜しまれつつサービス終了してしまったのはよく知られた話。
その後継のような立場として
GnuDb
というのがある。
freedb は現役時はメジャーだったみたいで、ノウハウは今でもよく見つかるのだが、 GnuDb については情報が乏しいようなので、ちょっと書いてみようと思う。
なおここでは、新規に登録するのではなく、既にある情報を修正する話を扱う。
Rebis - C.T.i.A / O.S.T (Cyber Team in Akihabara / Original Sound Track) という CD (名盤!) があるのだが..
..これの C.T.i.A の T が Y に間違って登録されていた。
意味が通じないやん!
さすがにこれは許容できない。
筆者は asunder というソフトを使って CD を取り込んでおり、その際 GnuDb を参照するように設定しているが、当然ディレクトリ名やファイル名が間違った名前で入ってしまう。
以下を大いに参考にさせていただく。
まず、修正したい CD を、GnuDb のサイトから 検索 する。
Rebis - C.T.i.A / O.S.T の例でいうと、以下に行き当たる。 (これを書いている時点で既に T に修正されている)
ページの下の方にある Discid: soundtrack / 660d3919 というのがリンクになっており、選択すると、テキストデータが得られる。
2022年8月11日現在、どうも上述の方法ではうまくいかなくなってしまった。 新しいやり方について 以前の方法ではうまくいかなくなったので新しいやりかた を参照。
この内容を、テキストエディタで修正していく。
なお、文字エンコーディングは UTF-8 であることを念のため確認する。
筆者は、以下に示す diff のように修正した。
--- 660d3919.org 2021-08-21 21:33:59.641110000 +0900
+++ 660d3919.txt 2021-08-21 21:51:42.837451000 +0900
@@ -29,12 +29,12 @@
#
# Disc length: 3387 seconds
#
-# Revision: 8
-# Processed by: cddbd v1.5PL3 Copyright (c) Steve Scherf et al.
-# Submitted via: CDex 1.50beta9
+# Revision: 9
+# Processed by: GNU Emacs 27.2
+# Submitted via: curl 7.78.0 (x86_64--netbsd)
#
DISCID=660d3919
-DTITLE=C.Y.i.A./O.S.T. / Rebis
+DTITLE=C.T.i.A/O.S.T / Rebis
DYEAR=1998
DGENRE=Anime
TTITLE0=CYBER TERAM in AKIHABARA(Piano Version)
筆者は、間違えないように、専用のシェルスクリプトを一旦作成して行った。 試行錯誤した末、おおよそ以下のようなものである。
#!/bin/sh
# 2021-08-21 nsmrtks
#curl \
curl -k \
-X POST https://gnudb.gnudb.org/~cddb/submit.cgi \
-H 'Category: Soundtrack' \
-H 'Discid: 660d3919' \
-H 'User-Email: メール@アド.レ.ス' \
-H 'Submit-Mode: submit' -H 'Charset: UTF-8' --data-binary \
@660d3919.txt
# -H 'Category: Anime' \
# EoF
以下、curl のコマンドラインについて。
ちょっと余談のようになるが、「C.T.i.A/O.S.T」のように、「C.T.i.A」及び「O.S.T」の末尾にピリオドが付いていないのが、筆者は気に入らなくなってきた。
これを再修正したい。
そもそも前回、ピリオドを取り除くように修正したのが他ならぬ筆者であり、それを元に戻すことになる。
CD 自体は「C.T.i.A/O.S.T」のように、それぞれの末尾にピリオドが無いのが名前としては近いようだが..
以下に示すように修正する。
(前回の 660d3919.txt は 660d3919r9.txt にリネームしている)
--- 660d3919r9.txt 2021-08-21 21:51:42.837451000 +0900
+++ 660d3919.txt 2021-11-23 19:02:50.017984000 +0900
@@ -29,12 +29,12 @@
#
# Disc length: 3387 seconds
#
-# Revision: 9
+# Revision: 10
# Processed by: GNU Emacs 27.2
# Submitted via: curl 7.78.0 (x86_64--netbsd)
#
DISCID=660d3919
-DTITLE=C.T.i.A/O.S.T / Rebis
+DTITLE=C.T.i.A./O.S.T. / Rebis
DYEAR=1998
DGENRE=Anime
TTITLE0=CYBER TERAM in AKIHABARA(Piano Version)
ちなみに筆者が全く手を入れる前の Revision 8 と比較するなら以下のようである。
--- 660d3919.org 2021-08-21 21:33:59.641110000 +0900 +++ 660d3919.txt 2021-11-23 19:02:50.017984000 +0900 @@ -29,12 +29,12 @@ # # Disc length: 3387 seconds # -# Revision: 8 -# Processed by: cddbd v1.5PL3 Copyright (c) Steve Scherf et al. -# Submitted via: CDex 1.50beta9 +# Revision: 10 +# Processed by: GNU Emacs 27.2 +# Submitted via: curl 7.78.0 (x86_64--netbsd) # DISCID=660d3919 -DTITLE=C.Y.i.A./O.S.T. / Rebis +DTITLE=C.T.i.A./O.S.T. / Rebis DYEAR=1998 DGENRE=Anime TTITLE0=CYBER TERAM in AKIHABARA(Piano Version)
前回と同じシェルスクリプトを用いて送信した。
TTITLE0= が「CYBER TERAM in AKIHABARA(Piano Version)」となっているが、 「AKIHABARA」と「(Piano Version)」の間が詰まっているが、スペースを空けた上で、且つ「Version」のようにキャピタライズせず「version」の方が正確なのではないか?
そこでこれを修正することにする。
また、Submitted via の curl 7.78.0 は 7.80.0
の方が正確であったのでそれも修正している。
(前回の 660d3919.txt は 660d3919r10.txt にリネームしている)
--- 660d3919r10.txt 2021-11-23 19:02:50.017984000 +0900
+++ 660d3919.txt 2021-11-23 20:00:37.890466000 +0900
@@ -29,15 +29,15 @@
#
# Disc length: 3387 seconds
#
-# Revision: 10
+# Revision: 11
# Processed by: GNU Emacs 27.2
-# Submitted via: curl 7.78.0 (x86_64--netbsd)
+# Submitted via: curl 7.80.0 (x86_64--netbsd)
#
DISCID=660d3919
DTITLE=C.T.i.A./O.S.T. / Rebis
DYEAR=1998
DGENRE=Anime
-TTITLE0=CYBER TERAM in AKIHABARA(Piano Version)
+TTITLE0=CYBER TERAM in AKIHABARA (Piano version)
TTITLE1=Birth
TTITLE2=Subtitle
TTITLE3=アキハバラ電脳組
やはり前回と同じシェルスクリプトを用いて送信した。
green$ sh submit.sh
200 OK, submission has been sent.
あらためてテキストデータを取得してみると、改行コードが、CR+LF と LF
が混ざっているようだ。
最初は LF になっていたようなのだが。
こちらが送信したものは LF になっているし、curl で
--data-binary 〜 を指定している。
他の CD のテキストデータも少し見てみたが、そちらも LF になっているようだ。
うーむ..
上記までで当 CD の GnuDb の情報を修正した上で、asunder も GnuDb
を指すようにして、当 CD を asunder
であらためて取り込んでみたが、タイトルや曲名は正しいようであった。
ひょっとしてと思い、かなり新し目の CD (2021年11月) を検索してみた。 すると..
..やはりというか、同様に CR+LF と LF が混ざっていた。
よって、GnuDb 側の問題と思われる。
この CD は、正しくは「Rebis -
C.T.i.A / O.S.T」という全体がタイトルであるが、GnuDb
の情報では、修正前も後も、「Rebis」がタイトルで、「C.T.i.A./O.S.T.」がアーティスト名のようになってしまっている。
本当はこれも何とかしたかったのだが..
だがこの CD
では特定のアーティストというものがおらず、アーティスト名は何とするのが最も正しいのか。
全く別の CD で、以前 various artists としている例を見たような気がするが..
freedb や GnuDb で最もよく使われる作法があるのか。
それとも、このレコード会社での呼び方があるのか。
実は他にも C.T.i.A / O.S.T というのが付いている CD も存在する。
じゃ、もういっそのこと C.T.i.A / O.S.T
がアーティスト名ということでいいじゃんと思われるかもしれない。
だが、C.T.i.A / C.I.S (Character Image Songs か??)
となっている例もあるのである。
2011年の夏休み.. 当時は遙か未来でしたよねえ。
何か良いやり方はないか..
以前は、GnuDB 上で検索したら、リンク先から xmcd のテキストファイルを得られていたのだが、どうも出来なくなった。
探してみると、以下のページを見つけたので、どうやればいいか解釈してみる。
以下の「魔法先生ネギま!」の CD を使って例示する。
修正したい CD を GnuDb のサイトから 検索 する所までは同じである。
この CD でいうと、以下に行き当たる。
ページの下の方に、「Category: blues - Discid: 42057b06」と書かれている。 (リンクにはなっていない)
この「blues」と「42057b06」を指定した、以下の URL にアクセスする。
ウェブブラウザだとうまく表示できないかもしれないが、ウェブブラウザの Page Source 機能を使うなどすると、xmcd のテキスト(を含むもの)が得られる。
今回たまたま短いので、以下に全体を示す。
210 blues 42057b06 CD database entry follows (until terminating `.')
# xmcd CD database file
#
# Track frame offsets:
# 150
# 1615
# 18485
# 35247
# 52185
# 92595
#
# Disc length: 1405 seconds
#
# Revision: 18
# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
# Submitted via: CDex 1.60beta1
#
DISCID=42057b06
DTITLE=図書館探検部(桑谷夏子、石毛佐和、能登麻美子) / 魔法先生ネギま! 麻帆良学園中等部2-A 6月:図書館探検部
DYEAR=2004
DGENRE=Anime
TTITLE0=Tankenbu's Voice
TTITLE1=Invitation〜図書館へいらっしゃい〜
TTITLE2=Invitation〜図書館へいらっしゃい〜 (Remix ver.)
TTITLE3=Invitation〜図書館へいらっしゃい〜 (Instrumental ver)
TTITLE4=図書館探検部ミニドラマ 「ライブラリー・エクスプローラー」
TTITLE5=キャストフリートーク
EXTD= YEAR: 2004
EXTT0=
EXTT1=
EXTT2=
EXTT3=
EXTT4=
EXTT5=
PLAYORDER=
.
この先頭の「210 blues 42057b06 CD database entry follows (until terminating `.')」という行と末尾の「.」の行を取り除き、さらに必要な修正を加える。 今回は、以下の diff で示す修正を加えた。 (やり直したので Revision が 2つ上がっている)
--- 42057b06.ORIG 2022-08-11 22:59:19.404824000 +0900
+++ 42057b06.txt 2022-08-13 20:24:40.960123000 +0900
@@ -1,4 +1,3 @@
-210 blues 42057b06 CD database entry follows (until terminating `.')
# xmcd CD database file
#
# Track frame offsets:
@@ -11,18 +10,18 @@
#
# Disc length: 1405 seconds
#
-# Revision: 18
-# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
-# Submitted via: CDex 1.60beta1
+# Revision: 20
+# Processed by: GNU Emacs 28.1
+# Submitted via: curl 7.84.0 (x86_64--netbsd)
#
DISCID=42057b06
DTITLE=図書館探検部(桑谷夏子、石毛佐和、能登麻美子) / 魔法先生ネギま! 麻帆良学園中等部2-A 6月:図書館探検部
DYEAR=2004
DGENRE=Anime
-TTITLE0=Tankenbu's Voice
+TTITLE0=Toshokan-Tankenbu's Voice
TTITLE1=Invitation〜図書館へいらっしゃい〜
TTITLE2=Invitation〜図書館へいらっしゃい〜 (Remix ver.)
-TTITLE3=Invitation〜図書館へいらっしゃい〜 (Instrumental ver)
+TTITLE3=Invitation〜図書館へいらっしゃい〜 (Instrumental ver.)
TTITLE4=図書館探検部ミニドラマ 「ライブラリー・エクスプローラー」
TTITLE5=キャストフリートーク
EXTD= YEAR: 2004
@@ -33,4 +32,3 @@
EXTT4=
EXTT5=
PLAYORDER=
-.
そうして、送信する方法は、前回までと同じである。 今回もシェルスクリプト (前回より少し改善した) を用いて送信した。
#!/bin/sh
# 2021-08-21,2022-08-13 nsmrtks
# Change this!
category=blues
discid=42057b06
#curl \
curl -k \
-X POST https://gnudb.gnudb.org/~cddb/submit.cgi \
-H "Category: ${category}" \
-H "Discid: ${discid}" \
-H 'User-Email: メール@アド.レ.ス' \
-H 'Submit-Mode: submit' -H 'Charset: UTF-8' --data-binary \
@${discid}.txt
# EoF
$ sh submit.sh
200 OK, submission has been sent.