1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NetBSDでCDリッピング(完全敗北)を試した話

Posted at

NetBSD Advent Calendar 2025 10日目の記事です。今日はNetBSDでCDリッピングを試した話をしようと思います。

CDは部屋の隅に片付けておきたい

部屋を整理していると、昔よく聴いていたCDが何枚か出てきました。CDプレーヤーは今は持っておらず、再生することができません。そのため、CDリッピングしてmp3に変換し、CDはダンボール等に入れて部屋の隅で保管することにしました。

CDリッピング(FreeBSDの場合)

近くにFreeBSDマシンがあったので、こちらで試してみました(理由は後述)。

FreeBSD環境(aarch64)でのCDリッピング

Raspberry Pi 4とFreeBSD-13.0-aarch64でのCDリッピングです。USB接続のCD-ROMを接続してみたのですが、Raspberry Pi 4ではCD-ROM自体が認識されないようです…。

$ dmesg
...
ugen0.6: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus0
umass0 on uhub1
umass0: <I-O DATA DEVICE, INC. Optical Storage Device, class 0/0, rev 2.00/2.01, addr 5> on usbus0
umass0:  8070i (ATAPI) over Bulk-Only; quirks = 0x0100
umass0:0:0: Attached to scbus0
ugen0.6: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus0 (disconnected)
umass0: at uhub1, port 1, addr 5 (disconnected)
g_dev_taste: g_dev_taste(cd0) failed to g_attach, error=6
umass0: detached
ugen0.6: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus0
umass0 on uhub1
umass0: <I-O DATA DEVICE, INC. Optical Storage Device, class 0/0, rev 2.00/2.01, addr 5> on usbus0
umass0:  8070i (ATAPI) over Bulk-Only; quirks = 0x0100
umass0:0:0: Attached to scbus0
ugen0.6: <I-O DATA DEVICE, INC. Optical Storage Device> at usbus0 (disconnected)
umass0: at uhub1, port 1, addr 5 (disconnected)
(cd0:umass-sim0:0:0:0): got CAM status 0x44
(cd0:umass-sim0:0:0:0): fatal error, failed to attach to device
g_dev_taste: g_dev_taste(cd0) failed to g_attach, error=6
umass0: detached

FreeBSD環境(amd64)でのCDリッピング

次にamd64なFreeBSD環境で試してみます。今度はCD-ROMが認識されました。abcdeというCDリッピングツールがあるので、こちらをインストールします。

$ pkg search abcde
abcde-2.9.3                    Front-end shell script to encode CDs in flac/mp3/ogg/speex format
$
$ sudo pkg install abcde

以下の手順でCDリッピングを行い、mp3データとして取り出します。私の環境では20分ほど時間がかかりました。

$ time sudo abcde -d /dev/cd0 -o mp3
Grabbing entire CD - tracks:  1 2 3 4 5 6 7 8
MusicBrainz lookup returned an error "Not Found"
Selected: # (template) (Unknown Artist / Unknown Album)                                                                 [168/1925]
---- Unknown Artist / Unknown Album ----
1: Track 1
2: Track 2
3: Track 3
4: Track 4
5: Track 5
6: Track 6
7: Track 7
8: Track 8
Edit selected CDDB data [Y/n]? n
Is the CD multi-artist [y/N]? n
Grabbing track 1: Track 1...
...
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 20761/20761 (100%)|    0:22/    0:22|    0:22/    0:22|   24.145x|    0:00
---------------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  128.0       65.0  35.0        97.9   1.2   0.9
Writing LAME Tag...done
ReplayGain: -6.7dB
Tagging track 8 of 8: Track 8...
/usr/home/fbsd/abcde.7c0c4208/track8.mp3                                                                           [ 8.28 MB ]
----------------------------------------------------------------------------------------------------------------------------------
Setting artist: Unknown Artist
Setting album: Unknown Album
Setting title: Track 8
Setting genre: 255
Unknown genre ID: 255
Finished.

real    20m58.633s
user    2m20.260s
sys     0m4.399s

NetBSDでCDリッピング

NetBSD-9.2-i386環境でCDリッピングを試してみます。OS的にはUSB CD-ROMは問題なく認識された状態で以下のCDリッピングツールを試してみました。

Asunder

$ # asunderをインストールする。
$ pkgin search asunder 
asunder-2.9.6nb1     Graphical CD ripper
$
$ sudo -i pkg_add -v asunder

一般ユーザでも /dev/cd* を読めるようにするため、ユーザを operator グループに追加します。

$ id
uid=1000(nbsd) gid=100(users) groups=100(users),0(wheel),5(operator)
$
$ ls -l /dev/cd*
brw-r-----  1 root  operator  6,  3 Jul 20 14:02 /dev/cd0
brw-r-----  1 root  operator  6,  0 Jul 20 14:02 /dev/cd0a
brw-r-----  1 root  operator  6,  3 Jul 20 14:02 /dev/cd0d
brw-r-----  1 root  operator  6, 11 Jul 20 14:02 /dev/cd1
brw-r-----  1 root  operator  6,  8 Jul 20 14:02 /dev/cd1a
brw-r-----  1 root  operator  6, 11 Jul 20 14:02 /dev/cd1d
$

これで準備は整ったのですが、いざasunderでCDリッピングを実行すると、「ファイルを作成中にエラー」というメッセージが表示されてしまいました。dmesg には以下のエラーが記録されており、asunderではCDリッピングできないようです。

[ 227927.111705] cd0(umass0:0:0):  Check Condition on CDB: 0x28 00 00 00 00 00 00 00 01 00
[ 227927.111705]     SENSE KEY:  Illegal Request
[ 227927.111705]                 Incorrect Length Indicator Set
[ 227927.111705]      ASC/ASCQ:  Illegal Mode For This Track
[ 227927.111705] cd0d: error reading fsbn 0 of 0-3 (cd0 bn 0; cn 0 tn 0 sn 0)

Rhythmbox

次にRhythmboxで試してみました。パッケージをインストールしてRhythmboxを起動し、CDリッピングを…となるハズが、アプリからはUSB CD-ROMが見えない状態でした。というワケでRhythmboxでもリッピングできず…。

$ pkgin search rhythmbox
rhythmbox-3.4.4nb5   Music management application for GNOME
$
$ sudo -i pkg_add -v rhythmbox

abcde

最後はFreeBSDでの実績(?)がある、abcdeに期待を賭けてみます。さっそくパッケージからabcdeをインストールします。

$ pkgin search abcde
abcde-2.9.3nb3       Command-line utility to rip and encode an audio CD
$
$ sudo -i pkg_add -v abcde
...
You need to install at least one encoder to use with abcde.  It has support
for the following encoders in pkgsrc:

    audio/bladeenc
    audio/fdk-aac
    audio/flac
    audio/lame
    audio/musepack
    audio/speex
    audio/vorbis-tools

これでCDリッピングできる…!と思ったのですが、残念ながらRhythmboxと同じく、USB CD-ROMが見えない状態でした…。

$ abcde -d /dev/cd0a
[WARNING] something went wrong while querying the CD... Maybe a DATA CD or the CD is not loaded?
[WARNING] Error trying to calculate disc ids without lead-out information.
$
$ sudo abcde -d /dev/cd0a
[WARNING] something went wrong while querying the CD... Maybe a DATA CD or the CD is not loaded?
[WARNING] Error trying to calculate disc ids without lead-out information.

ということで、NetBSD-9系ではCDリッピングが行えないという結果が得られたのでした…🥺

まとめ

NetBSDでCDリッピングを試してみた話をしました。結果としては残念ですが、実際に試してみて知見を公開することで、誰かが対応されたり、自分で動かせるよう調べてみるきっかけにもなると思うので、このような試してみました的情報を増やしてゆきたいところです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?