海上忍のラズパイ・オーディオ通信(10)
ラズパイ・オーディオで音楽CDのダイレクト再生に挑戦!果たして使い物になるか?
■パーミッションを緩め、とりあえず再生
MPDは、コンパイル時にオプションを指定することで、さまざまなプロトコルに対応できる。Raspberry Pi上のファイルシステム(file://)のほか、WEBサーバ(http://、https://)やWMPストリーミングサーバ(mms://)、NASやパソコンの公開領域(smb://、nfs://)など、さまざまな場所にある音源を再生できるのだ。
SSHでリモートログインして「mpd -V」を実行すれば、プロトコル欄に「cdda://」という文字列を確認できるはずだ。これは、CDDAフォーマットすなわち音楽CDを読み取れることを意味しており、CDの再生が可能な光学ドライブがシステムに認識され、そこにCDがセットされていればMPDを通じて再生可能なことを意味する。
しかし、これだけでは不十分。というのも、光学ドライブ(システムでは「/dev/sr0」というデバイスファイルの形で存在する)に対してMPDがアクセス権(パーミッション)を持たないのだ。だから、再生指示を出しても何も起こらない。
この問題を解決する方法は2つ、「/dev/sr0」のパーミッションを緩くして一般ユーザでもアクセス可能にするか、MPDの設定ファイルを見直し特権ユーザ(root)として処理を行うかだ。システム管理の話になってしまい恐縮だが、このようにLinux/UNIXの側面がむき出しになりがちなことがラズパイ・オーディオの現状ともいえる。
手軽なのは前者のパーミッションを緩める方法で、SSHでrootとしてリモートログインを開始し「cdmod 666 /dev/sr0」と実行するだけでOK。その後CDをセットして「mpc add cdda://」を実行、続けて「mpc play」を実行すれば、USB-DACなどのオーディオデバイスから音が出るはずだ。停止する場合は「mpc stop」、再生状況を確認する場合は「mpc status」とコマンドを実行しよう。
ところで、VolumioにはCDをイジェクトするコマンドが用意されていないため、いちど再生を始めるとシステムをシャットダウンするまでCDを取り出せなくなる。CDの再生を試す場合は、あらかじめ以下のコマンドラインを実行して「eject」コマンドを使えるようにしておこう。そうすれば、「eject /dev/sr0」と実行してCDをイジェクトできるようになる。
MPDは、コンパイル時にオプションを指定することで、さまざまなプロトコルに対応できる。Raspberry Pi上のファイルシステム(file://)のほか、WEBサーバ(http://、https://)やWMPストリーミングサーバ(mms://)、NASやパソコンの公開領域(smb://、nfs://)など、さまざまな場所にある音源を再生できるのだ。
SSHでリモートログインして「mpd -V」を実行すれば、プロトコル欄に「cdda://」という文字列を確認できるはずだ。これは、CDDAフォーマットすなわち音楽CDを読み取れることを意味しており、CDの再生が可能な光学ドライブがシステムに認識され、そこにCDがセットされていればMPDを通じて再生可能なことを意味する。
しかし、これだけでは不十分。というのも、光学ドライブ(システムでは「/dev/sr0」というデバイスファイルの形で存在する)に対してMPDがアクセス権(パーミッション)を持たないのだ。だから、再生指示を出しても何も起こらない。
この問題を解決する方法は2つ、「/dev/sr0」のパーミッションを緩くして一般ユーザでもアクセス可能にするか、MPDの設定ファイルを見直し特権ユーザ(root)として処理を行うかだ。システム管理の話になってしまい恐縮だが、このようにLinux/UNIXの側面がむき出しになりがちなことがラズパイ・オーディオの現状ともいえる。
手軽なのは前者のパーミッションを緩める方法で、SSHでrootとしてリモートログインを開始し「cdmod 666 /dev/sr0」と実行するだけでOK。その後CDをセットして「mpc add cdda://」を実行、続けて「mpc play」を実行すれば、USB-DACなどのオーディオデバイスから音が出るはずだ。停止する場合は「mpc stop」、再生状況を確認する場合は「mpc status」とコマンドを実行しよう。
ところで、VolumioにはCDをイジェクトするコマンドが用意されていないため、いちど再生を始めるとシステムをシャットダウンするまでCDを取り出せなくなる。CDの再生を試す場合は、あらかじめ以下のコマンドラインを実行して「eject」コマンドを使えるようにしておこう。そうすれば、「eject /dev/sr0」と実行してCDをイジェクトできるようになる。
次ページ直接のCD再生は魅力的だが、やはり現実的なのはリッピングか