Raspberry Pi abcde(CDリッピング)

Raspberry Pi1B上で稼働中のMoOde Audioですが音楽サーバーということもありCD(DVD)ドライブを接続してCDリッピングもMoOdeOSでやってみました。

ドライブはI・Oデータ バスパワー対応ポータブルDVDドライブ(DVRPU8NKA)
2ヶ月位前ですが廃番商品になるらしく安かったので購入しました。(1980円)
dvrpu8nka
ドライブ自体は問題なくRaspberry Piで認識します。
$ dmesg | grep sr0
[ 11.931209] sr 1:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
バスパワー対応とありますが電源専用ケーブルがないためそのままではRaspberry PiでCDを起動できません。
Raspberry Pi2をmax_usb_current=1にして試しましたがやはり駄目でした。
Raspberry Piでドライブを考えている方は電源専用ケーブルがついたものを選択したほうがよいですね。

Raspberry Pi 1BはUSBポートが2個しかないためまずはUSBハブの作成から始めます。

hub01
いつもの100均ハブ
USBポート直挿し
Pi1BではLanポートと干渉するので2段構造にします

hub02

マイクロBはUSBに5Vを入力
USB-Aは外部に供給

USBハブ 4ポート

hub03
合体します

hub06
Pi1Bにはアナログ電源(専用ポート)を搭載しているのですが残念ながらCDを起動(回転)できませんでした
CD回転時は1Aクラスの電源が必要そうです。
やむを得ないので今回はスマホ電源(1A)をつないでしのぎました

hub07
はみ出し感満載ですが使い勝っての観点からまあよしとします

さて準備ができたので必要なパッケージをインストールします。
当サイトではflacをメインにしたいと思います。

# apt install abcde flac id3v2

さらにmp3にも対応

# apt install lame eyed3

abcdeはスクリプトなのですがCDDBの問い合わせに際してeuc-jpで取り込むため文字化けをしてしまいます。下記のサイトに解決方法がありました。(詳細は下記を参照)
CDリッピング いち雑記
スクリプトのコピーを取ります。
/usr/bin/abcde

# cp -p abcde abcde.def

/usr/bin/abcdeを編集 修正箇所(diff) abcde.txt

設定ファイル
abcdeをインストールすると/etc/abcde.confができます。
このファイルをcp abcde.conf ~/.abcde.confとして編集するのですが必要な箇所のみ記述したほうがわかりやすいと思います。
記述した以外はデフォルトの設定が適用されます。

上記のサイトを参考に設定したファイル .abcde.conf
CDDBSUBMIT=メールアドレスを記入
LAMEOPTS=’ -b 320′ mp3作成時のレート(適当に)
OUTPUTDIR=`pwd` WAVOUTPUTDIR=`pwd` コマンド実行位置のディレクトリを指定
OUTPUTTYPE=flacを指定
PLAYLISTFORMAT= moode playerでは使用しないがメモ代わりにm3uを作成

テスト
マイクロSDカードに書き込んでみます。
moode audioではmedia/以下に自動マウントされますがfat32では一般ユーザーでのアクセス制限(マウントオプションで変更可能)があるためext4でフォーマットします。
SDカードを差し込むと/media/uuidでマウント、moodeにログインして

$ cd /media/uuid
$ sudo mkdir music
$ sudo chown pi:pi music
$ cd music

日本語タイトルのCDを変換してみましょう。

$ abcde

abcde-02
無事日本語が取得できています
動作としてはCDDBでアルバム情報を取得
WAVOUTPUTDIR=で指定した一時ディレクトリにwavファイルを吸い上げ、同時にflacに変換
OUTPUTDIR=にflacファイルを格納
wavファイル吸い上げが全曲終了するとCDイジェクト
pi1Bは非力なせいかCDイジェクト後にまだ未変換の曲(数曲)をflacに変換しています
flac変換が終了すると一時ディレクトリは削除されてアーティスト_アルバムタイトルのディレクトリが残ります

一時的にOUTPUTTYPE=mp3 ビットレート=192kbpsで作成したい場合は次のコマンドを入力します。

& abcde -o mp3:"-b 192"

CDリッピング中はweb radioを再生していても特に問題なく完了します。
abcdeとコマンドを入力するだけで実にお手軽です。