注: 本記事では、Gracenote社が運営するCD情報データベースではなく、有志により運営されているfreedbのことを指してCDDBといいます。Asunderでも、デフォルト設定でfreedbからディスクデータを取得するようになっています。
FreeBSDでオーディオCDをリッピングする - 本編では、Asunderを用いたオーディオCDのリッピング手順を説明しました。
Asunderはとても便利なソフトウェア(作者さまに感謝!)なのですが、一つだけ不満があります。CDDBから取得したディスクデータの内容に不備があったり、そもそもディスクデータがCDDBに登録されていないときに、Asunderではデータの修正や新規作成を行なうことができません。
こんなときにはどうしましょうか? Windowsであれば、タグエディタの機能を備えたCDリッピングソフトウェア(例: Exact Audio Copy)を用いて楽曲データを手動で追加できます。また、FreeBSDの場合でも、とりあえず楽曲吸い出しとエンコードを行なっておいて、後からEasyTAGなどのタグエディタで楽曲データを修正できます。
しかし、あるときだけWindowsでリッピングするのはめんどうだし、タグエディタも使い慣れないので、別のやり方を模索しました。AsunderがCDDBから取得したディスクデータは、テキストファイルとして保存されます。なので、これを普段から使っているテキストエディタで編集、あるいは新規作成するのが手っ取り早いという結論に達しました。
本記事では、テキストエディタを用いてCDDBのディスクデータを作成、編集する手順について説明します。
ディスクデータを手動で編集するには、対象となるディスクのIDを知らなければなりません。まずは、そのためのパッケージをインストールします。
pkg install cd-discidここからは、手元にあるCD (スーパーゼビウス)を例に説明を進めていきます。ディスクをドライブに挿入して、Asunderでディスクデータが取得できるか確認してみましょう。

スーパーゼビウスはすでにデータベースに登録されていますね。では、次にディスクIDを確認します。
$ cd-discid /dev/cd0
2d04a104 4 150 39992 63995 72092 1187いくつかデータが出力されましたが、それそれの意味は以下のとおりです。
2d04a104: ディスクID4: トラック数150 39992 63995 72092: 各トラックの開始位置オフセット1187: 演奏時間(秒)
ディスクIDがわかったので、ディスクデータがファイルとして書き出されている場所を探します。下記コマンドからわかるように、ディスクIDと同じファイル名で保存されます。
$ find ~/.cddbslave -type f -name 2d04a104 -print
/home/example/.cddbslave/misc/2d04a104注: CDDBにデータが登録されていないときは、対応するファイルがありませんので、既存のファイルをコピーするか、以下の説明を参考にして新規に作成してください。このとき、以下の各項目に注意をお願いします。
- ファイル名はディスクIDと等しいこと
 - ファイルの文字コードはUTF-8であること
 - 任意のサブディレクトリにファイルを保存すること(上記の例の場合、
miscというサブディレクトリ)
(ジャンルと一致していなくてもかまわないようです) 
では、テキストエディタでファイル2d04a104を開いてみましょう。以下のような内容になっています。(右側の#以降は独自に追加したコメント)
# xmcd CD database file                     # 最初の行は# xmcdで始まること
#
# Track frame offsets:
#       150                                 # トラックの開始位置オフセット
#       39992                               # (一行に1トラックずつ)
#       63995                               #
#       72092                               #
#
# Disc length: 1187 seconds                 # 演奏時間(秒)
#
# Revision: 3
# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
# Submitted via: CDex 1.51
#
DISCID=2d04a104                             # ディスクID
DTITLE=ナムコ / スーパーゼビウス            # アーティスト / アルバムタイトル
DYEAR=1984                                  # リリース年
DGENRE=ゲーム音楽                           # ジャンル
TTITLE0=SUPER XEVIOUS                       # トラックタイトル
TTITLE1=GAPLUS                              # (0から始まることに注意)
TTITLE2=THE TOWER OF DRUAGA                 #
TTITLE3=SUPER XEVIOUS  (Gust Notch Mix)     #
EXTD= YEAR: 1984                            # 追加データ(もしあれば)
EXTT0=                                      #
EXTT1=                                      #
EXTT2=                                      #
EXTT3=                                      #
PLAYORDER=
.意に沿うようにファイルの内容を編集します。例えば、トラックタイトルをすべてカタカナに変更して、Asunderの”CDDB Lookup”ボタンをクリックすると以下のような画面に変わります。

エディタでの編集結果が反映されました。
ちなみに、CDDBのディスクデータファイルフォーマットはここで公開されていますので、興味のあるかたはご参照ください。
参考文献
- Asunder, http://littlesvr.ca/asunder/
 - freedb, http://www.freedb.org/
 - Exact Audio Copy, http://www.exactaudiocopy.de/en/
 - EasyTAG, https://wiki.gnome.org/Apps/EasyTAG
 - THE FREEDB FILE FORMAT, http://ftp.freedb.org/pub/freedb/latest/DBFORMAT