読者です 読者をやめる 読者になる 読者になる

min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi 3 でCD-ROMから音楽をリッピングする

RaspberryPi bash テレビ DVD

知り合いバンド自作のCD-ROM。もらったは良いけど、うちにはコンポとかラジカセとか無い。

RaspberryPi3 + BUFFALO製のDVDドライブ で音楽ファイルにリッピングする。

ーーー

準備

 ドライブはこれ。BUFFALO製「DVSM-PN58U2V-BK」。

RaspberryPi3はこれ。

DVDドライブの接続

 RaspberryPi3 のUSBに挿して接続。

f:id:min117:20160716082813p:plain

$ dmesg | grep sr

f:id:min117:20160716082941p:plain

Attached scsi CD-ROM sr0」とあり、/dev/sr0 で認識されているのが分かる。一応 /dev/ の下も見ておく。

$ ls /dev/ | grep sr

f:id:min117:20160716083238p:plain

マウント用のフォルダ cdrom を作る。

$ mkdir /volumes/cdrom

$ chmod 777 cdrom/

f:id:min117:20160716083355p:plain

CD-ROMをマウントするときは、mountコマンドの-tオプション(type)として「iso9660」を指定すればよいらしい。

$ sudo mount -t iso9660 /dev/sr0 /volumes/cdrom

f:id:min117:20160716084320p:plain

ーーー

CD-ROMをマウントできたので、いよいよリッピングする。ここ参考に。

nico-lab.net

ffmpegエンコードできるらしい(ちなみにffmpegは既にインストールしてある)。

f:id:min117:20160716084625p:plain

ただ、この例だとドライブ指定が「F:」となっている。Windowsでの案内みたい。今回はLinuxなので、ドライブ指定は /dev/sr0 のようにする。

ffmpeg のサイトに使い方の案内があった。

FFmpeg Devices Documentation

f:id:min117:20160716084936p:plain

同じようにやってみる。注意点は3つ。

-f libcdio を指定する。

-ss で入力時間を指定しないとリッピングできない。

③ 吸い出すCD-ROMの指定は -i /dev/sr0 

実行。

$ ffmpeg -f libcdio -ss 0.000001 -i /dev/sr0 out.wav

f:id:min117:20160716090159p:plain

リッピング開始した。

f:id:min117:20160716090239p:plain

CDのリッピング程度だと RaspberryPi3 でも結構速い。16曲のCDが30分もあれば吸い出しが終わる。

その昔、まだCPUが400Mhzですごい!とか言われていた時代は、リッピングが30分で終わる爆速!なんて雑誌に書かれていたのを思い出す。ほんとに進化の速い世界。

ーーー

リッピング終了。RaspberryPi からHDMI接続したテレビで再生してみる。

f:id:min117:20160716090836p:plain

かなり音キレイ。素のwavそのままだからか。

ーーー

あとはCDをトレイから取り出すだけ。これもコマンドで。/dev/sr0 ではなく /dev/cdrom と指定するみたい(なぜ?)。

$ eject /dev/cdrom

f:id:min117:20160716083339p:plain

取り出された。

f:id:min117:20160716090734p:plain

いやほんと RaspberryPi 素晴らしい。何でもできる。