海上忍のラズパイ・オーディオ通信(31)
ラズパイ・オーディオの『ギャップレス再生』を考える。ネットワーク経由は「OpenHome」がカギ
■ネットワークのギャップレス再生は「レンダラー」がポイント
ローカルディスクでのギャップレス再生は問題ないとして、ネットワークも同じとは限らない。ギャップレス再生への対応をうたうオーディオ機器を見回すと、ネットワーク(DLNA)が対象外とされていることは珍しくなく、サポート改善を感じられるようになったのはつい最近の話だ。
ラズパイ・オーディオにおけるネットワーク経由でのギャップレス再生は、第21回(記事はこちら)で取り上げた「OpenHome」の利用が前提と言っていい。その時はMoode Audioに限定して解説しているが、WEBインターフェイスにスイッチが無いなど問題はあるものの、Volumio最新版にもOpenHome関連ソフトは収録されている。早い話が、「Linn Kazoo」や「LUMIN」「BubbleUPnP」といったOpenHomeクライアントアプリ(UPnP Control Point)さえ用意すれば、ラズパイ・オーディオにおけるネットワークを利用してのギャップレス再生は実現できたも同然だ。
ここで結果を左右するのが、実際に再生を担う「レンダラー」の存在。DLNAでは、コントローラ(DMC)から下った指示を受け、レンダラー(DMR)がサーバ(DMS)上の楽曲をデコードするという図式で再生が行われるが、OpenHomeでもUPnPベースのレンダラーがDMR相当の役割を果たす。そのレンダラーソフト(UPnP Media Renderer)が「upmpdcli」だ。
upmpdcliはシステムに常駐する形で稼働し続けるサービス(デーモン)で、クライアントアプリから指示を受けると所定のプロトコル(MPC)でMPDと通信し、楽曲の再生を開始する。OpenHomeにおけるギャップレス再生の仕様をサポートしており、同仕様に準拠したコントロールアプリを使えばギャップレス再生が可能になる(前述したとおりフォーマットやサンプリング周波数が統一されていなければならないが)。ギャップレス再生においてMPDの役割は重要だが、upmpdcliの存在もまた重要なのだ。
実際、upmpdcli以外のレンダラーにはギャップレス再生非対応のものもある。たとえば、Android用UPnP Control Pointアプリ「BubblePnP」には、内部に自前のレンダラーが収録されているが(だからAndroid端末側から音声を出力できる)、このレンダラーに切り替えると曲間にギャップが生じてしまう。upmpdcliではギャップレス再生できた曲を使用するにもかかわらずだ。
upmpdcliの開発元では、ギャップレス再生の対応状況を含めたUPnP Control Pointの動作状況をWEBサイトでレポートしている。筆者は「BubbleUPnP(Android)」と「Lumin(iOS)」でギャップレス再生できることを確認しているが、設定項目の豊富さとカスタマイズ性で言えば、BubbleUPnPが頭一つ抜けている印象だ。
今回は紙幅の都合で取り上げなかったが、このupmpdcliはDSDネイティブ再生にも対応している。MPDのフロントエンドとして、OpenHomeのみならず各種ストリーミングサービスのクライアント機能も備えているので、DSDギャップレス再生の状況も含め次回レポートしてみたいと考えている。