CDDA paranoiaをmacOSでコンパイルしてみた
昨日(2017/09/01)のffmpegメーリングリストで、flacに関するスレッドが立った。筆者は脇道にそれかけたこの投稿に興味が行った。
ffmpegコンパイルガイドを作成する際、お気に入りの動画を携帯で見ようという名前のサイトに随分お世話になったことがあり、そこでcdparanoiaという言葉を見かけていたからである。
パラノイアは、偏執病とか偏執症と訳される英語だ。薄々どんなものなのかは想像がつくが、全く言葉通りで、オーディオCDのリッピング(それも極端に正確な)に特化したソフトウェアである。
cdparanoiaのくわしい機能は日本語のマニュアルページを参照して戴くとして、本エントリでは、macOS版としてのコンパイル、実際の使用感について説明したい。
-
- macOS版コンパイル
-
2020.09.23追記:
何故か不明だが、macOS 10.15.x Catalinaではimplicit declaration of function ‘xxxx’
is invalid in C99というエラーが出てコンパイルできない。macOS 10.14.x mojaveではOKである。→2020.09.26パッチにて対応。cdparanoiaはlinux用に開発されている。が、有志によりmacOS上で動作するようにするパッチが用意されていて、これを用いることで非常に簡単にコンパイルできる。
-
ソースコードの入手
cdparanoiaのソースコードは、こちらから入手できる。
Current stable release version: cdparanoia III 10.2のリストの一番上、Complete cdparanoia 10.2 package source, ready to buildをダウンロードする。 -
解凍
tar xf cdparanoia-III-10.2.src.tgz
-
パッチファイルの入手
見つけるのに大変苦労したが、HomeBrew絡みのページにURLがあった。それによると、HomeBrewはMacPortのパッチを流用しているようだ。以下の2つのパッチをダウンロードする。
-
osx_interface2.patch
このパッチはmacOS Catalina以降でコンパイルする時のエラーを対策するものである。
ダウンロードしたら、先程のソースコードフォルダに入れる。
cp osx_interface.patch osx_interface2.patch cdparanoia-III-10.2
-
パッチの適用
cd cdparanoia-III-10.2 patch -p1 < osx_interface.patch patch -p1 < osx_interface2.patch
-
コンパイルとインストール
./configure make sudo make install
-
ソースコードの入手
-
試してみる
取り敢えずCDをリッピングしてみることにした。実行するコマンドは至ってシンプル。cdparanoia -Bf
コマンド実行後カレントディレクトリには、
trackxx.cdda.aiff
というファイルができる。 -
CDDBが使えない!
インストールしてから知ったのだが、正確なリッピングに特化しているだけあって、CDDBからトラック情報を取得する機能すら ない! -
必要となる作業
したがって次の作業が発生すると考えられる。(ALACエンコードは好みの問題)- cdparanoiaでリッピング
- Apple Lossless コーデックでエンコード
- id3Tagエディタ(筆者はKid3が好み)でタグ打ち
- iTunesに読み込み
-
作業項目のうち、
Apple Lossless コーデックでエンコード
は以下のコマンドで可能。mkdir -p ~/Desktop/afconvert/aiff mkdir -p ~/Desktop/afconvert/alac cd ~/Desktop/afconvert/aiff for file in *.aiff; do afconvert -f m4af -d alac "$file" ../alac/"${file%aiff}mp4"; done
-
XLD
慣れの問題もあるのだろうが、あまり好みではない(Macらしい明快さがない)GUIソフトウェアにXLDがある。
実はXLDはcdparanoiaによるオーディオCDの読み込みに対応しており、XLDを用いれば、上記で必要になるとした作業はなくなる。が、このエントリはXLDについて説明するものではないので詳細は省く。 -
終わりに
そもそも、Bluetoothオーディオを受け入れた筆者が、なぜCDの読み込みの正確さに関連するエントリを書くのかと言われたら、答えに詰まる。自己矛盾そのものとさえ言えるかもしれない。だがもう一つの考え方として、Bluetoothでロスする前までは可能な限りの手を尽くすというのも有りかもしれないとも思う。
実現するかは分からないが、この作業工程を自動化するmacOS用のアプリが作れたら使ってくれる人はいるかなと疑問符を投げかけて終わりとする。
以上。
参考サイト
この投稿へのトラックバック
トラックバックはありません。
- トラックバック URL
この投稿へのコメント