PCオーディオのソフト更新
 - lightMPD/upnpgwの導入 2017年1月 2018年4月追記

 今回の記事は、機器を作る工作ではなく、ソフトウェアの導入だ。電気工作プロジェクト本来の話題ではないが、工作類似ということで御勘弁願いたい。  2018年4月、その後の展開を文末に追記した。 ■ネットワーク・オーディオとPCオーディオ  近年、「ネットワーク・オーディオ」と呼ばれるシステムが普及してきている。音楽コンテンツをインターネットからダウンロードしたり、CDから取り込んだりし、有線・無線ネットワーク(LAN)でつないだ機器を使って聴く方法だ。  イギリスのLinn社が2007年にネットワーク・プレイヤーを発表して、このネットワーク・オーディオがスタートし、現在は、多くのオーディオ機器メーカーがこの種のプレイヤーを出している。  ネットワーク・オーディオの動きに並行し、パソコンを利用して音楽を聴く「PCオーディオ」が発展してきた。普通のパソコンとDAC(デジタル信号をアナログ信号に変換するコンバーター)を使って、高額なLinnのネットワーク・プレイヤ―と同様の機能を低コストで実現する。大メーカーではなく、アマチュアが中心になった動きだった。  私の場合、2009年からこのPCオーディオを始めた。当時、Linnのプレイヤーがどういう概念のものかよくわからなかったのだが、似た機能をソフトウェアで安く実現できるらしい、というので関心を持った。自分でソフトを開発する能力は無いが、ソフトウェアのほとんどが、無料で開放されていたのだ。  その後のPCオーディオの進歩は急速で、音質がぐんぐん向上した。また、LANを利用するようになって、使い勝手もネットワーク・オーディオに近づいた。  私も、ソフトを替え、機器を替え、何歩遅れかで後をついて行った形だ。いつの間にか、CDプレイヤーでCDを聴くより、CDからいったん取り込んでPCオーディオで聴くことが多くなった。棚からCDを探すより画面上の方が早くて便利だし、音質もCDを直接聴くより安定感のある音なのだ。  PCオーディオの「PC」だが、初期のソフトはWindows機やMacといった普通のパソコンを使うものだった。こうしたソフトは今も続いているが、その後は、音楽再生ソフトを小型PCに載せてPCオーディオ専用にする方式の進化が著しい。  機能限定の専用ソフトなので、Linux系OSを含め軽量であり、この場合のPCは基板1枚だけのシングルボード・コンピュータと呼ばれるもので済む。普通のパソコンに比べると、頼りないような小型・超小型でCPUも低性能。ディスプレイなどの周辺機器にも接続せず、機能は最小限だ。その一方、ファンレスで無音、低消費電力、低価格などの利点がある。電源が貧弱な12VACアダプターであることも、良質の電源に交換できる自由さがあるので、かえって有利だ。  OS、ソフトウェアも至ってシンプル。音楽再生ソフトの動作、その一点に徹していて、Windowsのような複雑さ、多くの周辺機器ドライバーや常駐ソフトが起動したり、背後で様々な作業をしていたり、が無い。音楽再生に特化・純化し、結果として高音質が得られるようだ。  私も、普段使いのWindows機で他のソフトと一緒、というところからスタートし、PCオーディオ専用Windows機の時代を経て、小型PC派になった。小型PCと専用ソフトの組み合わせは、設定が少々難しい点が障壁だが、だんだんに慣れた。  2015年の段階では、スイスPC Engines社のAPU.1D4という弁当箱サイズのコンピュータに、lightMPD(lightweight Music Player Daemon)というソフトを入れて使うようになっていた。lightMPDは、digififan氏の開発によるもので国産ソフトだ。「デジファイのおと」サイトで無償ダウンロードできる。  2010年代、PCオーディオはソフトの完成度が一層高まった。市販のネットワークプレイヤーを使うのと、市販DACと小型PCの組合せを使うのと、違いが本当に小さくなったと思う。アンドロイド端末やi-phoneで操作できるようにもなっており、使い勝手もほとんど変わらない。音質も十分に高くなっている。恩恵を受けるばかりの私は、すっかり満足して音楽を聴いている。市販ネットワーク・プレイヤーと比べても、遜色無い水準になってきているのではないか。  と言っても、Linnそのほかの市販ネットワーク・プレイヤーの使用経験がその後もずっと無いままで、比較試聴した上での話ではないのだが。  面倒なことはごめんという人には、市販ネットワークプレイヤーがお勧めだ。お仕着せは嫌、何事もなるべく自分でやりたい、という私のようなタイプには、DACの選択やソフトの設定・更新などが自由にできるPCオーディオが向く。両者の違いは、その程度になっているように思う。  ネット上に、国内・海外問わずこうしたPCオーディオの開発者、先導者が多くいて、知恵を出すことを続け、そのおかげでPCオーディオが発展してきた。無償のボランタリーな活動であり、敬意と感謝の念を表したい。  とりわけ、digififan氏の「デジファイのおと」サイト、yung氏の「PCオーディオ実験室」サイト、yo氏の「みみず工房」サイトには、お世話になってきた。 ■lightMPD の新展開  2016年9月に、「デジファイのおと」に lightMPD/upnpgw が公開された。それまで1年半ほどlightMPDを使っていたが、大きな改訂の新バージョンのようだ。開発者のdigififan氏から、次のように説明されている。  「lightMPD/upnpgw は lightMPDをUPnPのレンダラーとして動作させるためのパッケージです。PC Engines の apu1,apu2 で動作します。UPnP動作時にはmpdとメディアサーバー間にキャッシュサーバーを配置し、より高音質化を目指しました。」  手持ちの APU.1D4 が使えるようだが、それ以外は、UPnP? レンダラー? キャッシュサーバー? 何のことやら。  PCオーディオの世界でよくあることだが、大きな進歩が出現すると、私のような素人には理解が追い付かないのだ。しばらく時間を置き、誰かが試してネット上で補足説明してくれるのを待つことにした。  その後、「デジファイのおと」の掲示板に、試した人の報告が出てきた。それらと、開発者 digififan 氏の説明を読み返し、開発の意図が少しわかってきた。  ネットワーク・オーディオは、PCをはじめとするデジタル機器を有線・無線のLANでつなぐことで成り立ち、使い勝手が良いのがメリットだが、その反面、LANを通してデジタルノイズなどの悪影響を受けるというデメリットもある。  今回の改訂は、第一にUPnPへの対応でLANへの接続を容易にすること、第二に、これがより重要と思うが、LANの悪影響を極力避けるため、キャッシュを設けることでLANから切り離したシステムにすること、この2点がポイントと思う。  同じく悪影響を避ける意図で、「PCオーディオ実験室」のyung氏は、音楽ファイルをPCのメモリーにコピーし、LANケーブルを外してネットワークから物理的に切り離す「メモリー再生」の方法をとっている。「キャッシュ」以上に根源的な対策であり興味深いが、使い勝手は低下することになるので、導入がためらわれる。  2016年12月になると、lightMPD/upnpgw を試しての報告がかなり増えた。一度でうまくいかなかった失敗談もあって原因、対策の事例が積み重ねられており、私にはこれが大いに参考になる。音は、これまでの lightMPD 以上の高音質のようだ。  lightMPD/upnpgwは、小型PCを1台使う方法から2台使う方法まで、使い方が4種類ある。2台にすれば、機能を分担することでさらに動作を単純化でき、その分音質上の効果があるということのようだ。  手持ちの小型PCとしては、APU.1D4のほか、以前に使っていたイスラエル SolidRun社のCuboxがある。こちらはさらに超小型、廉価のPCだ。手持ちの2台でうまい具合に2台使いの方法が可能。これは試す価値がありそうだ。 ■lightMPD/upnpgw の導入  lightMPD/upnpgw についての詳細は、本家の「デジファイのおと」サイトをご覧いただきたいが、次の4通りの使い方が提唱されている。   ①スタンドアローンのUPnPレンダラー   ②オーディオ用ネットワークルーター   ③UPnPアダプター   ④イーサーネットの分離  ①はPC1台、②からは2台を使い、順に複雑な構成になる。どうやら④がゴールらしいが、lightMPDの次のヴァージョンアップを待たなくては実現できない。  現時点では、私の手持ちPCで可能なのは①から③までなので、③を目指すことにする。  そこで、早速、手持ちの APU.1D4 と Cubox の2台を使って③の導入を試したが、あえなく失敗。LANによる接続が全くできない。手強い。 ●①スタンドアローンUPnPレンダラーとしての導入  そこで単純なものからということで、まずはAPU.1D41台だけでできる①を試してみることにした。簡単なところから勉強だ。  ①スタンドアローンのUPnPレンダラーの構成 (出典「デジファイのおと」)  ソフトウェア lightMPD/upnpgw をインストールして、自分のシステムに合わせた設定をいくつかする、それだけのことだが、やはり接続ができない。  システムの仕組みを理解できてなく、ソフトウェアの設定の意味もよくわからない状態なので、一つひとつ組合せを変えて試すことになる。電気工作のハードウェアの世界と比べても、また別の難しさだ。  lightMPD の場合は、APU.1D4 ならSDカード、Cubox ならマイクロSDカードにソフトを書き込む。その時、自分の環境に合わせて各種設定を書き換える。こうしたカードの読み書きは Windows パソコンで行うことができ、後で小型PCそれぞれにカードを差し込めば良い。何度も試行錯誤するのは大変だったが、作業自体は楽なのが救いだ。  二日がかりで、ようやく接続ができ、音が出た。失敗は次の2点が原因だった。設定を云々する以前の、基本のところで間違っていたのだ。 原因1:  APU.1D4 にはLANケーブル差し口が3口あるが、どれに差しても同じと思っていた。ネットワークの設定で interface=eth0 と指定しているので、3口のうち、背面左端の差し口に差すことが必要だった。 原因2:  UPnPの概念を理解せず(今もよく分かっていないが) lightMPD/upnpgwを APU.1D4 に入れるだけで良いものと思っていた。これに加えて、次の二つが必要だった。  ・NASに管理ソフト(TwonkeyServer、MinimServerなど)を入れ、UPnPメディアサーバーにする。  ・Windows PCにコントロールソフト(Kinsky、Kazooなど)を入れ、UPnPコントローラーにする。  どちらも、「デジファイのおと」のlightMPD/upnpgw の説明文に、特筆大書ではないものの、ちゃんと書かれていることであった。何度も試行錯誤し、説明を読み返してようやく正解に到達した。間抜けな失敗だが、基本を理解していないので、こうしたことになる。  Asoyaji氏の「PCで音楽」、逆木 一氏の「言の葉の穴」、NANZO氏の「JoeCOoL」の記事も大変参考になった。感謝申し上げる。  音は、低域が少し薄い感じだ。合唱を聴くと、バスの声が軽くなって違和感がある。 ●③UPnPアダプターとしての導入(Cubox版)  ①を実現できたので、次には②を飛ばして③に挑戦することにした。APU.1D4 と Cuboxの2台を使う。①では1台で実現している機能を、③では2台で分担するようだ。  ③UPnPアダプターの構成 (出典「デジファイのおと」)  2台のPCのSDカードに それぞれlightMPD の適したヴァージョンを入れて、しかるべき設定をする。①の経験で、何をどう設定すれば良いか、見当がつくようになった。  おかげさまで、こちらは難なく音が出た。  コントローラーとして、Windows版の Kinsky と Kazoo を試したが、曲の途中、任意の箇所からの再生が思うようにできない。私の場合、合唱の個人練習の道具として使うことがある。自分のパートの出番までを飛ばして 1分20秒の位置から、といった再生が簡単にできてくれないと困るのだ。  結局、Upplay というコントローラーなら可能なので、これを使うことにした。  音は、良いと思う。低域も普通に厚みがあり、違和感はない。従来の lightMPD と比べ、すぐわかる大幅な向上ではないが、fレンジ、dレンジが少し広がったようで、鮮やかさ、迫力が一段向上した感じだ。私は、この音で何も不満は無く、十分満足して音楽を楽しむことができる。従来の lightMPD も悪くなかったが、新しいものもまた良い。  メディアサーバーの TwonkeyServer と MinimServer、また、Windowsで使えるコントローラーの Kinsky、Kazoo、Upplay の音質の違いはどうか。私の耳では差は無いに等しいが、MinimServer/Upplay の組み合わせが気のせい程度に優るか。この組み合わせは使い勝手もよろしいので、これを採用することにした。    APU.1D4(赤ケース)とCubox(黒の立方体)    ●③UPnPアダプターとしての導入(BeaglBone Green版)  手持ちの Cubox をMPDプレイヤーに使い、満足な結果を得たわけだが、BeaglBoneGreen(BBG)の評判が良い。また、lightMPD の次のヴァージョンがリリースされると、BBGならば、④イーサーネットの分離 への発展が可能になる。  BBGは、カードサイズの超小型、廉価PCで、米テキサス・インスツルメンツ社の製品。先行の BeaglBone Black の機能簡略版だ。価格が5千円ほどと手頃なので、試してみることにした。  BBGの音質は、Cuboxが軽快な感じなのに対し、少し低域の厚みが増した感じになる。どちらかといえば、BBGの方が好みだ。  ところが、BBGは連続してアルバムを聴く分には問題ないのだが、曲の再生途中で停止や早送りなどの操作をすると、ハングアップがよく生じる。問題は、BBGのハードウェア、lightMPD-v1.0.1のソフトウェアのいずれかだと思うが、わからない。  私は合唱の練習に使うので、これは困る。MDプレイヤーをCuboxに戻すと、安定して動作するので、当面はCuboxを中心に使うことにする。  なお、BBGの使用環境を整えるため、ケース、バッテリー電源、USBケーブルを工作してみた。別稿で紹介している。こちら    APU.1D4(赤ケース)とBeaglBone Green(黒の小型ケース)、    左横は5Vニッケル水素電池電源    ■さらなる展開 - 2018年4月追記 ●④イーサーネットの分離(UPnPモード)としての導入  上記のBeaglBone Greenはハングアップを解消できず、結局、その後1年以上、APU.1D4とCuboxによる「③UPnPアダプター」方式で使用してきた。この間ずっと「デジファイのおと」サイトを時々眺め、「④イーサーネットの分離」が可能になる新バージョン lightMPD-v1.1.0 のリリースを待っていた。  実のところ、この「④イーサーネットの分離」については、「PCで音楽を」サイトAsoyaji氏の2016年11月記事をはじめ、lightMPD-v1.1.0以前の既存のバージョンを使って実現できた、というネット上の報告記事が早期から出ていた。が、私のlightMPD/upnpgwについての理解がようやく③UPnPアダプターに到達した程度なので、等閑視していた。1年経ってしまったので、改めて成功情報を集めることにした。  ④イーサーネットの分離(UPnPモード)の構成 (出典「デジファイのおと」)  ネット上の情報の中で、「ミソニコフの趣味の生活」サイトのMisonikoph氏が、まさに私がしたかったことにトライしておられ、大変参考になった。感謝。  この方の記事に、「まだ正式にソフトの仕様としていないようである。」「非公式には、利用可能となっていてLightMPD掲示板で設定の仕方が投稿されている。」とあった。気づいてなかったが、なるほど「デジファイのおと」lightMPD掲示板に、開発者本人digififan氏の説明が、既に2016/11/13の時点で「player側にupnpgwを使う場合の設定」というタイトルで掲載されている。  正式な仕様としないが設定可能というのは、どういう事情なのかわからないが、開発者としては、何かまだクリアしてないものがあって、未完成という位置づけなのかもしれない。 (参考) lightMPD掲示板の過去スレッドに事情説明があった。「イーサーネットの分離のNASモードの雛形」というスレッドだ。イーサーネット分離は、UPnPモードのほかNASモードが構想されているが、後者に関する質問に開発者が答えている。私の生半可な理解だが、要約すると次のような内容だ。   ・個人的に多忙になり、開発に時間が割けず作業が遅れている。   ・lightMPD-v1.1.0は、当初、NASモードとUPnPプレイヤーの両機能を持たせるつもりだったが、無理があると判明し、NASモードに絞ることにした。   ・NASモードでのネットワーク分離も、難しさがあって開発が停滞している。また、そもそもNASモードの音楽再生時には、音楽データが流れるだけで操作信号が流れることはない。分離する意味があるか、という問題もある。  ということで、lightMPDとlightMPD/upnpgwは、少し違うだけのバリエーションと思っていたが、もっと根本的に違うようだ。イーサーネット分離を現時点で実現するには、lightMPD/upnpgwを使ったUPnPモードで良いらしい。  上記の開発者の説明と「ミソニコフの趣味の生活」サイトの記事は、APUを2台使用して、④イーサーネットの分離(UPnPモード)を実現するものだ。  いくつもあるシングルボード・コンピュータの中で、APUはイーサーネット(LAN)端子を3口持っており、この点でBeaglBoneやCuboxと比べて有利だ。UPnPgw側で、これによって、NASとの接続に1口、Player側との接続に2口使うことができる。APU2台のやりとりがLANケーブル2本になり、NASからの音楽デ―タと操作信号が分離する④モードが可能になる。  BeaglBone 2台を使い、Player側のDACとの接続をUSB接続でなくi2S接続にすることで高音質を実現している「みみず工房」サイトyo氏の記事もあるが、これはさらに技術的に高度で難しそうだ。  APU 2台方式で行ける感触を得て、実行を決めた。  APU2台なら好都合だ。既にAPU.1D4を持っているので、もう1台追加すれば良い。  APUは、発売元のスイスPC Engines社のサイトで通販している。APU.1D4は既に販売終了していて、APU.2C4が後継機のようだ。この際なので、APU.2C4基板を2枚買い、2台お揃いにすることにした。ケースは、1D4で使ってきた赤ケースが流用できるので、1台分だけ黒を注文。送料含めて計274ドル、とお安い。  10日ほどで届いた。関税は無課税、消費税を1,200円支払った。段ボール箱にスイスのミニチョコがおまけに入っていたのは御愛敬。  設定方法の詳細は省略するが、2台のAPU.2C4にインストールしたソフトは、   Player側(黒ケース)に、APU2用lightMPD/upnpplayer v1.04   UPnPgw側(赤ケース)に、APU2用lightMPD/upnpgw v1.0.0  上記の開発者本人の説明と「ミソニコフの趣味の生活」サイト記事に沿って設定したところ、一度で音出しに成功した。あまりに簡単にできて拍子抜けした。  2台のAPUを接続するLANケーブルとして、クロスケーブル2本が必要だが、以前の記事「LANケーブルの自作」で紹介した、ぐっとすプラグとBelden 1874A方式で簡単に自作できるので、作り直した。  (追記) PC2台の接続なのでクロスケーブルにしたが、APUにも自動判別機能があり、ストレートケーブルで良いようだ。    2台のAPU.2C4 - UPnPgw側赤ケースとPlayer側黒ケース       背後のLANケーブル接続     音質は、APU.1D4+Cuboxによる③UPnPアダプター方式の時より、重心が下がり、しっかり安定した余裕ある音になった。小型車から大型車に乗り換えたような印象で、悪くない。  ただし、今回の変更は、③UPnPアダプターから④イーサーネットの分離への変更と同時に、APU.1D4+CuboxからAPU.2C4×2への機材の変更、LANケーブルへのアモルメットコア追加を行っている。どの要素がどの程度効いているのか不明だ。直観的には④への変更が最大の要因と思うが。  いずれにせよ、④イーサーネットの分離への変更は悪い方向ではなかったようだ。こんなに簡単に実現できるなら、もっと早くすべきだった。  また予想外のメリットとして、操作性の向上があった。私は、前述のようにUpplayというコントローラーを使っていて、合唱の練習として曲の途中からの再生を繰り返す、といった使い方をよくする。が、任意の箇所から再生しようとしても、曲冒頭に戻ってしまい上手く再生できないことがよくあった。これが、ぴたりと円滑に操作できるようになったのだ。イーサーネット分離のおかげなのか、APU.2C4のキャッシュ・メモリーが大きいためか。これは助かる。  電源については、これまでAPU.1D4を12V鉛バッテリー、Cuboxを5Vニッケル水素電池で運用してきた。ノイズ無しのクリーン電源だ。APU 2台方式に変えて、これまでのニッケル水素電池電源は不要になった。代わりに鉛バッテリー電源をもう1系統欲しい。以前自作した12V・5Vマルチ電源を作り直して、鉛バッテリー2系統の新たな電源を工作したくなった。  で、作ってみましたマルチ電源2号機。さらに、決定版のマルチ電源3号機。 ●追記 2020年7月  その後、NASとスイッチングハブを交代したが、APU.2C4 2台によるイーサーネットの分離(UPnPモード)のシステムについては、継続して使っている。  先日、無線LAN機器を新調し、これに合わせてオーディオ系ネット―ワークの一般系からの分離を試してみた。顛末は関係記事のとおりで、ほとんど効果は見られず、lightMPD・lightMPD/upnpgwシステムの高い完成度を再認識する結果となった。この分離により、コントローラーはPC上のUpplayから、タブレット上のfidata Music Appに交代した。  なお、システムの最新版化は行っており、現在は、次のとおり。   Player側(黒ケース)に、digififan氏の2020.3.4付 lightMPDx86_64-v1.2.0b2   UPnPgw側(赤ケース)に、この版へのdonuts氏のupnpgw機能追加 2020.3.10付 x86_64-upnpgw-20200310  最新版で充実されたリサンプリング機能は使用していない。APU.2C4からx86 64ビット機への交代も、今のところ考えていない。