考察とは名ばかりで感想?

最近は主にゲーム(戦略系)と資産運用(FXで食ってくぞ!)

windowsPC最強オーディオソフト「JPLAY」をポータブルに

「PCオーディオの最先端はLinux? いいでしょう。windowsの底力を見せてあげますよ! このJPLAYデュアルPCモード+WindowsServer2012R2 Coreモードがね!!」
「最近スティックPCというものがありましてね…」
windowsタブレットの裏側にポタアンやら何やらを貼り付けて、できた! ポータブルPCオーディオ!!」

ネットで見かけたこれらの話が僕の脳内で混ざり合い、スパークした結果、「windows最強みたいな事言われる音楽ソフトJPLAYの、PCを2台使うことで音質を向上させるデュアルPCモード、スティックPCとタブレットPCを組み合わせればポータブルな環境で使用できるのでは?」とナイスなことを思いつきました。そしてゴールデンウィークの大部分を費やして環境を構築し、それから半月くらいかけて改善を加えてちゃんとポータブルに使用できるようになりました。一段落というこのタイミングで、このポータブルJPLAY環境と試行錯誤して得られた「こつ」についてまとめておこうと思います。

はじめに

そもそもJPLAYとは何なのか説明するのは非常にややこしいので、日本語公式サイトとそこの「ユーザーの声」に載ってる先人達による説明で勘弁してください。

音質

ところで肝心の音質について先に書き記しておきましょう。背景の雑音が静かで、音がごちゃごちゃせず鮮明で実にいいです! ところで公式で「ASIO機能よりもネットワークプレイヤー機能使う方が音質がいい」と明言しているそうですが、確かにネットワークプレイヤーの方がこの長所がよく出ています。あんまり設定など追い込んでないMPDを使った自分の据え置き環境よりは確実に上ですね。

構成

最終的なシステム構成は次の図のようになりました。

スティックPC

JPLAYデュアルPCモードで音声信号を出力する"Audio PC"となる部分。JPLAY公式でも言ってるようにPCとしての性能はそんなに求められない*1のでスティックPCでも安心ですが、OSをWindowsServerに変更して高音質を狙う場合には注意が必要になります。現在タブレットPCやスティックPCはメモリ容量が少ないことから32bitOSが主流。しかし2012以降のWindowsServerは64bit版しかありません。システムが64bitに対応してないからインストールできない→じゃあWindowsServer2008の32bit版で我慢しよう→レガシーBIOSモードがないので32bitOSもインストールできないよ というような悲劇も起こります。今回はBIOSで32bitOSと64bitOSを選択できるスティックPCを選びました。ちゃちいながらもHDMI端子カバーが付いているので「オス端子むき出しで使うのはちょっと…」という要望も満足。それにしても"Audio PC"にはスペックどころか一度設定が終わってしまえば大したインターフェイスすら必要ない*2ので、スティックPCはおあつらえ向きですね!

タブレットPC

JPLAYデュアルPCモードで音声データを読み込む"ControlPC"となる部分。JPLAYを極まった設定で動かすには結構なマシンパワーが必要になりますが、普通に再生する分には最近のwindowsOSが動けば問題ないです。(タブレットなので大層なものは無理だし。)かさばるのが嫌なので8インチと小さいものを選びました。

モバイルバッテリー

バッテリーからの給電でスティックPCが動いてくれるおかげで、今回のようなシステムがポータブルで成立するわけですが、音質的にも電源アダプタからの給電よりも有利ですね。実際聴き比べてみると音の透明度が段違いでした。スティックPCを動かすには2A以上の給電ができる、タブレットPCへの充電に対応しているようなバッテリーが必要になります*3。あんまりスペックの高いスティックPCだとバッテリー駆動では電流不足になるかも…?

LANケーブル

"ControlPC"と"Audio PC"をつなぐ部分。以前据え置きのシステムで色々試した中から持ってきました。そのときはオーディオ用ではない普通のケーブルでもカテゴリー7ならかなり十分な音質でしたが、今回のシステムではオーディオ用ケーブルの方が大きく改善しました。音の厚みがはっきりと違う。やはりNASからファイルを読み込む部分に使うのとでは重要度が違うようですね。JPLAYが具体的にはどういう仕組みになっているかはよくわかりませんが、おそらくリアルタイムでデータを送受信していてジッターの影響も出てくるのでしょう。

LANアダプタ

タブレットもスティックPCも有線LAN端子を備えていないので、USBで外付けするアダプタを使います。後述するように無線は結局使ってないしケーブルは検討の余地ありありなので、そのうちまた手を加えるであろう部分です。そしてやっぱりLANアダプタでも音が変わるんですねこれが。今回試した限りではそこそこ以上に名前の知られているメーカーだと安心できそうです*4

USBケーブル

PCからDACへの出力にUSBケーブルを使うのは普通のPCオーディオと同じです。USBは必ずしもオーディオに適しているわけではありませんが、拡張性が非常に限られるスティックPCでもこのように普通に扱えるのはUSBのありがたみを感じますね。「USBはPCオーディオの必要悪」だとはよく言ったものです。面白いことに、LANケーブルとは逆で非オーディオ用USBケーブルとオーディオ用USBケーブルの差は、据え置きシステムでは非常に大きいにも関わらず、今回のシステムでは意外と小さいものとなりました。それにしてもマイクロ端子となるとオーディオ用ケーブルの選択肢が少ない…

ポタアン

スティックPCから給電されるのでバッテリー切れの心配がないぞ! やったね!!
ところでドライバが必要かつそれがWindowsServerにインストールできないUSB-DAC/DDCは大人しく別のOSを使う必要がある。Pioneer U-05! おめーのことだ!!

ソフトウェアの導入と設定

スティックPCとタブレットとはいえWindowsServerからJPLAYその他諸々に至るインストールで特に変わったことはないので、ここで敢えて述べるようなことはあまりありません。先述したJPLAY公式と先駆者の方々の記述に従い、OSやネットワークオーディオ関係のソフトについてはググれば何とかなります。ですのであれこれ細々述べる面倒はせず、自分が引っかかったようなポイントを箇条書きにしていこうと思います。

  • OSをインストールするパーティションを選択する際に、ディスクに元からあるパーティションを削除できるので全部削除してからインストールしましょう。インストールの際に新たにパーティションが作り直されます。パーティションをそのままにして、元のOSのシステムファイルがあるパーティションにWindowsServerをインストールしてもファイルがコピーされるだけでブート可能になりません。インストール中の再起動後に新しいOSが立ち上がらずにまたOSのインストール画面が立ち上がることになります。
  • OSの認証って何するのよ?って思ったらネットに繋げるだけで勝手に認証してくれます。これで180日のWindowsServer試用期間が有効になります。
  • Windows8以降では電源ボタンを押すとシャットダウンするのが標準かと思いますが、OSがタブレット仕様なスティックPCだとそうでもなかったりするのでコントロールパネルで確認しましょう。シャットダウンに設定してもシステムが対応してない場合もあるので、そういうときは長押しの強制終了で電源を切りましょう。変なタイミングでやらなければ壊れることはないはず。電源ボタンでシャットダウンできてもJPLAYで再生終わって復帰した時にログイン画面まで戻り、ボタンでシャットダウンできないパターンもあります。やはり強制終了しましょう。
  • JPLAYの設定はあんまり調子に乗らない方がいいです。あまりタブレットに負荷がかかるようだと、ちゃんと再生できると思ったら数分で止まったりします。今回のタブレットでは安定して再生するには再生エンジンをclassicにするほかありませんでした。
MinimServerの設定

ネットワークプレイヤー(ソフト)にファイルを渡すサーバソフトとしてJPLAY公式も推奨しているMinimServerを使っているのですが、このソフトは色々細かい設定ができるようで面白いです*5。例えば自分は以前からアルバムを五十音できっちり並べるために読みをタグに打ち込んでいるのですが、MinimServerを活用すればこれを利用してネットワークプレイヤーを操作するコントロールソフトにきっちり五十音順で表示させることができます。例としてこの設定方法を説明します*6

MinimServerはタスクトレイのアイコンを右クリックでPropertiesを選ぶと設定画面を開けます。まず、"Server"タブの"indexTag"欄に入力されているタグに"AlbumSort"とアルバムの読みのタグ名を加えます。MinimServerがファイルから読み込んでコントロールソフトに送ってくれるのはこの欄に入力してあるタグだけです("Album"などの基本的なタグは除く)。

次に、"tagOptions"欄に入力されている"Album.sortTags={Album, Artist}"を"Album.sortTags={AlbumSort, Artist}"に書き換えます。これは"Album"タグについて、並べるのに使用するデータを"sortTags"オプションを用いて{}内のタグの値に変更しています。デフォルトではまず"Album"タグで並べ、アルバム名が同じアルバムは"Artist"タグでアーティスト名順に並べるということですね。これを書き換えることで、"Album"タグのアルバム名ではなく"AlbumSort"タグの読みで並べるようにしています。

ところがローマ字やカタカナ書きのタイトルの場合いちいち読みを打ち込んでいないので、最後にもうひと工夫。"tagValue"欄に"AlbumSort.default={Album}"と入力します。これは"AlbumSort"タグが存在しない場合に{}内のタグの値を適用するというものです(defaultオプション)。

スマホからの操作

ネットワークプレイヤーとコントロールソフト、サーバーソフトは同じネットワークに繋がっていれば同じハードウェアで動かす必要は当然ないわけで*7タブレットスマホwifiで繋いでスマホから操作することもできるわけです。そしてタブレットよりもスマホで操作する利点は次のように沢山ある

自分はモバイルルータ持ってないので、LANアダプタの片方*8を有線LAN・無線LAN兼用のものにしてスマホを無線で接続したのですが、どうにもコントロールソフトからのネットワークプレイヤーの認識がろくに安定しない。自宅のルータでなら最近だいぶ安定して認識するようになってきたのに。ということで、スマホからは諦めて大人しくタブレットを取り出して操作することにしました。

ポータブルに安定して再生するために

ポータブル故に制限のあるハードウェアと周囲の環境のために、安定して再生するには色々とこつが必要です。そのあたりを説明します。

再生が止まったら

タブレットに負荷がかかって一瞬コントロールソフトが落ちて止まるのがよくあるパターンです。再生ボタンをもう一度押せば再生できます。落ちる頻度が高いようならばJPLAYの設定を見直して負荷を軽減しましょう。また、スティックPCの冷却が不十分な場合も同じような症状になります。かばんの中でも周りにある程度スペースが空いているようにしてください。

再生ボタンを押しても再生できない場合はLANの接続が切れているのが一番多いです。アダプタをUSB端子から抜き差しして再接続します。この原因以外で再生できない場合や、何故か頻繁に再生が止まる場合は、コントロールソフトを閉じて立ち上げ直したりタブレットそのものを再起動したりましょう。それでも駄目な場合はスティックPCが怪しいので、そちらを再起動したり、そもそもちゃんと起動しているか調べましょう*9

コントロールソフト

そもそもタブレットの比較的貧弱なシステムではその他諸々のソフトとともにコントロールソフトを動かすのは大変なのかもしれません。ちょっと間があくとソフトを立ち上げるのに時間がかかったり、上手く立ち上がらなかったりします。特にソフトをインストールした直後。そういうときは何度も閉じたり立ち上げたりを繰り返しましょう。立ち上げ直したらプレイリストが空になってたパターンも大体これで治ります*10

それと問題ない通常の状態でも再生始まるまで結構なラグがあります。慣れるまで「あれ? 再生できな…始まった」というパターンも

MinimServer

コントロールソフトほどではないですがMinimServerもたまに落ちます。特にインストールした直後。コントロールソフトでサーバーを読み込めませんとなったら再起動しましょう。再起動しても治らない場合はタブレットを再起動しましょう。

LAN接続

USBの接触が悪くて接続が途切れるのがよくあるパターン。USBケーブル同士(LANアダプタから生えてるのも含む)の接続には要注意です。始めタブレットの接続には付属のUSB OTGケーブル (10cm) を使っていたのですが、LANアダプタとの接続が引っ張られるとちょくちょく接触不良になり、タブレットを出し入れすると確実に再生が停止し、下手すると端子が完全に抜ける始末。操作するタブレットをかばんから出し入れできないのはキツイ。そこでmicroB端子用のLANアダプタを新たに用意して不要なケーブルと接点を排除したのが次の図。

こうして無事再生しながらタブレットを出し入れできるようになったのですが、、、このアダプタ、どうにも音が悪い。音が平面的で深みがない。これはいかんと考えた次なる方法はUSB OTGケーブルを長いもの (50cm) に変えて、タブレットを取り出してもアダプタとの接点はかばんの中に残るので動かないというもの。ようやくタブレットの出し入れができて音質も及第点になりました。それでもケーブルが長くなった分、外来ノイズが増えるのか元とくらべて細かい音が埋もれたり音のメリハリが弱まっています。家で使うときは短いケーブルにしようそうしよう。この端子と長さでノイズ対策しっかりしたオーディオ向けケーブルがあればよいのですが

(2016.6.5追記)タブレット付属のケーブルで再生を止めずに出し入れする方法を編み出しました→http://d.hatena.ne.jp/kurutto115/20160605/1465125269

持ち運び方

最初はあれこれタブレットの裏に両面粘着ジェルで貼り付けていたのですが次の通りに問題ありありで止めました。

その1:ケーブルの取り回し

バッテリー以外を貼り付けた結果がこちらなのですが…

タブレットの裏に収まらない! オーディオ用のごついケーブルを使っていればさもありなん。ねじれたケーブルが戻ろうとしてLANアダプタすぐ外れるし。これをタブレット用のインナーバッグに入れるとこう。

何とかUSBケーブルがちょっとはみ出してる以外は収まったぞ…(バッテリーは元から外に出すつもりだった

その2:タブレット取り出すの面倒

元々は無線LANを通してスマホで遠隔操作する予定でしたが、結局タブレットを直接操作することになったので、操作するためにタブレットを取り出す→裏についてる諸々も一緒に取り出す→出しにくい! ていうかやっぱケーブルが邪魔! 粘着ジェルが剥がれる! 持ちにくい! そもそもこんな不格好な代物を電車の中でかばんから取り出すのはなぁ…

その3:スティックPCの放熱

先述の通りスティックPCの冷却が不十分だと、再生が頻繁に止まって困るのですが、タブレットに貼り付けておくとそっちの発熱も受けるわ、一緒にインナーバッグに入れておくと熱が篭るわで実にスティックPCが冷えない。

というわけで

それぞれのパーツは基本固定せずにある程度位置を考えた上でインナーバッグに突っ込むことにしました。スティックPCはバッグから出るようにして放熱しやすくし、タブレットはバッグから単体で取り出して操作します。↓のような状態でかばんに入れておくわけです(イヤホンはケースに入れますが

インナーバッグを開けると↓な感じ

ここで工夫してあるのがポタアンですね。そのまま入れると奥に行ってボリュームノブが操作しにくいし、USBケーブルが押されるしなので、対策してます↓。

手元にあったマウスパッド(まあ板状で十分な硬さがあって大きさがちょうどよければ何でもよいのですが*11)に両面粘着ジェルで貼り付けてます。これで都合のいい場所に収まってくれるわけです。

最後に

こうしてPCオーディオ最強の一角を占めるJPLAYデュアルPCモード+WindowsServer2012R2 Coreモードを動かすポータブルなシステムを構築し、実際に持ち運んでまともに使用することができるようになりました。こんな妙なことをやったのはおそらく日本で(下手したら世界で)初めてでしょう。しかしこの記事を読めば同じようなことにチャレンジできるはずです。そうすれば通勤通学の際にJPLAYの高音質を楽しめるのに始まり、友人と会う時に持って行ってJPLAYの高音質を体験してもらったり、ポータブルオーディオのイベントに持って行ってJPLAYの高音質で試聴したりできるわけです。この成果が素晴らしいJPLAYの普及と、多くの人々のポータブルオーディオ環境のクオリティアップに繋がれば幸いです。

*1:再生エンジンをXtreamに設定する場合は十分なメモリが必要になるそうですが、そもそも再生まで30秒とかかかるようではポータブルに向かない

*2:何せ操作は他からするので画面もマウスもキーボードも要らない

*3:タブレットも使うのでそっちに充電できると便利ですしね

*4:ELECOMはイヤホンの他オーディオ意識した製品出してますし、PLANEXはネットワークオーディオにおすすめのスイッチングハブで割と定番ですよね

*5:公式サイトで色々説明されています。英語ですが

*6:他にもアルバムタイトルから"The"を無視して並べるとかに始まり、極めるとアルバム一覧と再生中画面で別の名前を表示させるとか、アルバム名の後ろに発表年を括弧でくくって表示するとか、楽団・指揮者・作曲者のタグを組み合わせてアーティスト欄に表示するとかできるそうな

*7:JPLAY公式は安定性のために同じハードウェアで動かすことを推奨していますが

*8:タブレット側をこれにすると、使ってないときも無線でタブレットのバッテリーをガンガン消費してくれちゃうのでスティックPC側にしました。タブレットにつなぎ直したときは接続認識するのが重いし

*9:何故かBIOSの設定がリセットさせて設定が32bitOSになり、OSが起動できなくなっていたことが何度かありました。画面に繋がないと確認できないのでわかりにくい

*10:JPLAYのネットワークプレイヤーソフトはLINN社由来のネットワークオーディオ規格であるOpenHomeに準拠しており、OpenHomeにおいてプレイリストはコントロールポイント(コントロールソフト)ではなくレンダラー(プレイヤー)に属する。のでコントロールソフトを立ち上げ直したり他のコントロールソフトからアクセスしてもプレイリストは同一になる

*11:普通は下敷き使うところだな