Chord Mojo2 + Poly

音はよいけど使い勝手や設定が面倒で本質以外のところで好き嫌いがわかれると思われるChordのPolyです。

これまで使っていたAK100とXduooのDACアンプXD-01がいろいろと使いにくいことになってきたため,それを一度は使ってみたかったChordのDACを調達する理由にしてMojo2の中古をe-earphoneの中古の日にたまたま見つけてしまったのでさっさと調達してしまいました。そうするとやっぱりPolyもいるよな,って話になってこれもはじめてメルカリを使って中古を調達しました。

AK100とXD-01を光ケーブルでデジタル接続した音は決して悪くないのですが,AK100は64GBのマイクロSDを2枚挿入して使っていますが(本当は製品の仕様外使用),2枚目を認識しなくなってしまいました。sdカードを出し入れするとたまには認識しますが,出先でマイクロSDの出し入れをして再認識させるなんてことはどう考えても紛失するリスクのほうが高くて泣きそうです。XD-01はもともと仕様として高感度のイヤホンではボリュームを大きくできないためボリュームを絞ったところでのギャングエラーが半端なく大きくて非常に使いにくいところがありました。しかも,充電用のマイクロusb-b端子がやたらと繊細でケーブルを選ぶところがあって,今まで使った様々なマイクロusbケーブルのなかでちゃんと充電できるのはAK100に付属していたケーブルだけ,というなんとも困ったヤツでした。

それでも,長距離の出張でもなければ使わないし,コロナのおかげで出張がなくなってこれらを持ち出すこともすっかりなくなっていました。最近になってコロナ何するものぞ,ということで出張が復活し始めたため,これらを持ち出すと上記のような最初からわかっている問題が気になり出して,内に飼っている悪魔が買い替えをささやき始めた,という次第です。悪魔の囁きには贖えず,結局,Mojo2 + Polyを調達してしまいました。

調達してから気がついたのですが,PolyはMojo2にも使えるけれどもファームウェアのバージョンが3.0.0以降でなくてはならないということでした。しかも,3.0.0以前から3.0.0にアップデートするためにはMojoの本体が必要という,鬼仕様でした。メルカリに出品していた人はちゃんとVer.3にアップデートしてMojo2で使っていた,と説明に書いておられたので心配はなかったのですが,何も考えないでうっかり中古を調達すると死んでしまうところでした。

そもそも,Chordは音についてはマニアックだし,DACのアルゴリズムも素晴らしいと思いますが,ユーザーインターフェースのような部分のソフトについてはある意味,素人っぽい,というかど素人のようなところがあって,その製品価格とのバランスはかなり悪いという気がします。据え置きのオーディオならそれでも差し支えないのでしょうけれど,持ち歩くDACアンプ+プレイヤーで,かつ,スマホでの操作が前提の機械ならばユーザーインターフェースはそれなりにウェイトが大きいわけで,どう考えても中国の新興メーカーに大幅に遅れをとっているように思います。

AK100はマイクロsdカードが2枚挿入できましたが,polyは1枚だけです。普通は1枚ってのが当たり前だと思いますが,使えるSDカードの最大容量に関する情報がどこにもありません。sdxcなのかsdhcなのかくらいは書いてくれ,と思いますが,私は見つけられませんでした。さすがにこのご時世に最大64GBどまりってことはないだろうと思いますが,手元には64GBのマイクロSDカードしかないので実際にどれだけの容量が使えるのかはわかりません。

Polyは小さなLEDが2灯あるだけで画面などはありません。すべてスマホからコントロールする仕様です。ネットワークプレイヤーとして使うつもりはまったくないので,sdカードに入れたデータを再生するということだけを考えていますが,見事にはまりましたので忘れない様にメモをしておきます。ネットワークプレイヤーとしての使い方も含めて基本的な設定方法はphilewebに掲載されている内容が参考になると思います。この記事は,bluetoothで接続する設定用アプリであるgofigureがリリースされる前のもののようですので,wifiのホットスポットモードを使うことが前提になっています。

Polyがsdカードのデータを再生するのはmpdを使うということですので,中身は普通にlinuxが動いているものと思われます。上記philewebの記事に書かれている手順に従って,,
1. 起動する
2.Congigボタンにピンを挿してhot spotモードに切り替え
3. P.statesのLEDが青と緑で交互に点滅
4. スマホでPoly-xxxxxx (xxxxxxは数字)に接続
5. 勝手にブラウザが立ち上がってPolyにアクセス
6. Poly Remote Setupのなかの「Keep in Hot-Spot mode」のチェックをはずし
7. MPD Bit Perfect modeとreboot on saveにチェックを入れ
8. otherを選択して
9. saveボタンを押す。
でリモート接続の設定ができます。keep in hot-spot modeのチェックをはずさないと再起動してもhot-spotモードで起動してしまって慌てます。

画面の上部にタブがあってwifi settingというメニューがあるのでこれを選ぶとwifiの設定画面に移行します。これはSSIDとパスワードを入れればOKです。reboot on saveにチェックを入れてsaveを押すと設定が反映された,というポップアップメッセージがでるのでcloseを押してしばらく待っていると勝手に再起動します。P.statesのLEDが緑で常時点灯になればネットワークに接続しています。

なんの説明もありませんが,ネットワーク上でDHCPサーバーが動いていることが大前提です。macアドレスから固定IPをDHCPで割り振ろうとしたらなぜか失敗して接続できなくなりました。かなり焦りましたが,結局,スマホにインストールしたgofigureからbluetooth接続して設定を消去して再度パスワードを設定することで接続できました。手間がかかりすぎるので固定IPを使うのは早々に諦めました。

結局のところ,gofigureからbluetoothで接続して設定するのが一番簡単そうです。gofigureを起動すると近隣にあるPolyを勝手に検索するのでそれで接続します。ペアリングで合言葉の数字をいれるわけでもなく,すぐに接続できてしまいます。これって,セキュリティは何も考えてない,ってことだと思いますが,いつでもだれでもgofigureを起動していればPolyに接続できてしまう,という恐ろしい仕様だと思われます。まぁ,オーディオ屋が考えるネットワークなんてそんなもんでしょう。

gofigureから接続すれば,hot-spot modeで設定したことと同じ内容の設定ができます。電池の残量などが表示されるのがちょっとうれしいところでしょうか。また,wifiネットワークは複数設定できますが,それを選択するのもタップするだけですし,接続が完了すれば,その設定名をタップすると設定されているIPなどのネットワークの設定情報を見ることができます。また,設定を削除するときは設定名を長タップすればメニューがでて簡単にできます。

hot-spot modeではPolyのIPがどのように設定されているか,dhcpサーバーのログを見ないとわからないという普通,ネットワークに詳しくない人は絶対にやらない方法が必要なので非常に使いにくい仕様です。動作のプロセスをある程度想像できて,その情報を取得する方法を知っていたって面倒です。知らない人にはちんぷんかんぷんです。基本的にユーザーはlinux使えるのが当たり前でしょ,って感じでネットワークに詳しくない人が使うことは想定してないんじゃないか,とさえ思ってしまう鬼仕様です。

AK100に使っていた64GBのマイクロsdカードは普通に認識しました。

macOSにインストールしているCantataからPolyのIPアドレスを設定するだけで他はデフォルトのままでカバーアートも表示されて簡単に使えました。とはいえ,モバイル環境ではいちいちmac bookを取り出して再生や停止をやってられません。スマホからコントロールできなければたいへん不便です。

ところがスマホのmpdクライアントではまりました。

android用のmpdクライアントにはM.A.L.P.,MPDroid,MaximumMPD,Supersonicがあるようです。私のスマホはOppo A54なのでAndroid 12互換のColor OS 12です。

MPDroidは起動時に新しいOSに対応していない,というメッセージが出てごちゃごちゃ文句をいうので却下。

M.A.L.P.は評判もよいようですが,カバーアートの表示をしようとするとHTTP経由が前提で音楽ファイルの在り処を%dとしてパスを指定する様になっていますが,そもそもPolyでhttpdが動いているのかどうかよくわかりません。もちろん,hot-spot modeではブラウザ経由で設定するのでhttpdは動くはずなのですが,httpdにとってのルートディレクトリと音楽ファイルがマウントされているディレクトリとの相対的な関係がわからないので設定すること自体が無理な相談です。よって却下。

MaximumMPDはカバーアートを表示のためにmpd経由またはhttp経由を選べるようですが,兎に角,有無をいわせずどこかにアクセスしてファイルをダウンロードしようとする,という謎の挙動をするので却下。

Supersonicはダウンロード数が500くらいで大丈夫か,って感じですし,そもそも,mpd 0.21.0以降にしか対応しないという妙に新しいもの好き仕様です。手持ちのmpdは全て0.1x.xxなのでmpdのバージョンが古いといって接続さえもしてくれません。しかし,幸いにもPolyに載っているmpdは0.21.xxでしたので,Supersonicで接続することができました。しかし,悲しいことにカバーアートは表示できません。

mpd 0.21以降はmpd自身がカバーアートを表示する機能を取り込んだ,ということなのですが,いろいろと調べてみるとカバーアートのファイル名がcover.jpgでなくてはならない,ということでした。AK100は音楽ファイルを置いているディレクトリにFolder.jpgを置いておけばカバーアートを勝手に表示してくれたのですが,ハードコーディングされているファイル名が違うとは。こればっかりはどうしようもありません。しょうがないので試しにFolder.jpgをコピーしてcover.jpgも同じディレクトリに置いてみました。

そうすると,Supersonicでちゃんとカバーアートが表示されました。カバーアートの表示によってmpdに負荷がかかるため音質に悪影響を及ぼす,という話もあるのですが,そんなことよりも何百枚もあるCDからカバーアートなしで選曲するのは拷問に近いのでモバイル環境では利便性のほうが重要です。というわけですべてのディレクトリあるFolder.jpgをcover.jpgにコピーしなくてはなりませんが,これは適当にfindコマンドと組み合わせれば時間はかかるにしても手間をかけずに簡単にできるはずなのでなんとかなりそうです。

ネットワークの基本的な知識はあるつもりでいますが,それでも,Polyの中の動作環境や設定ファイルが見えない状況で,動作を想像しながらクライアント側の設定をせねばならない,というのは相当にたいへんです。これって,ネットワークに詳しくないような人はどうやって使いこなしているのでしょうか。動きはじめれば快適であろうことは容易に想像できますが,最初のハードルがなんぼなんでも高すぎると思いました。

まぁ,マニア向けのオーディオメーカーだからユーザーもマニアでしょ,ってことなのかもしれません。オーディオマニアがネットワークマニアだとは思えないんだけど。

RuneAudioのインストール

Raspberry Pi 2BにmoOde audioをインストールしてお風呂のBGM用に使っていたのですが,何回か停電で落ちたら再起動が怪しくなってしまいました。随分と古いバージョン(Moode 3.1)を使っていましたので新しいものに入れ替えることにしました。最近,Raspberry PiによるPCオーディオ用Linuxにはとんとご無沙汰だったのでどのような状況にあるのかまったくわからなかったのですが,ラズパイオーディオ入門あたりに最近の事情が説明されていたので参考にしました。

どうやらVolumio, moOde, RuneAudioがメジャーどころらしく,RuneAudioの音質が良さそうです。ただ,RuneAudioの開発は既に止まっていてRuneAudio+Rという派生バージョンがその後をつないでいるようです。あまりよくわからなかったのですが,RuneAudio+Re4あたりからRuneAudioのForum上で開発が進んでいるらしく,ダウンロードのリンクもForum経由でたいへんわかりにくくなっています。

RuneAudio+Re6がこの系列の最後のバージョンのようでこのページに示されている「New Version」というリンクを叩くとrAudio-1というところに飛んで,どうやらこれが現時点での最新バージョンのようです。基本的にRaspberry Piの全てのバージョンに対応しているらしく,これをインストールすることにしました。OSのイメージはrAudio-1の下のほうをみると「Image files:」という項目があって,RPi 4,RPi 3 and 2,RPi 1 and Zeroという異なる3つのハードウェアむけに3つのイメージへのリンクがあります。私の場合はRPi2に対応するようなので2つめのイメージをダウンロードします。あとは,適当なマイクロSDカードを用意して(4GB以上) ,OSイメージをコピーしてRspberry PiにマイクロSDカードを突っ込んで起動すればOKです。micro SDカードへの書き込みはWindows, MacOS, Ubuntuでは,Raspberry Pi Imagerを使えば良いようです。このページの下の方の「Download for macOS」などと書かれたボタンを押せば書き込み用のアプリが落とせるのでこれを使います。

rAudio-1のインストールはたんにディスクイメージをmicro SDカードに書き込むだけです。rAudio-1の「How-to」に書かれているとおりです。日本語の情報もいくつかあるようで,例えば,Raspberry Piで音楽サーバー (Rune Audio)あたりで説明されています。

といっても覚えておくべきは起動後のrootのパスワードくらいで,デフォルトでrosとなっています。リモートからでもrootでログインできるので,DHCPで割り振られたIPを探してrootで接続すればあとはなんとでもなります。RPi2BはHDMIのモニタを接続することもできますが,起動すれば確実にログインできるのでモニタもキーボードもなくても差し支えありません。設定はコマンドラインでやろうとしても通常の設定ファイルがダミーだったりするので素直にwebクライアントから接続してGUIで設定した方が手っ取り早いです。

参考にしたweb pageのリンクだけでも残しておけばあとから調べようもあるので,とりあえずはメモを。

Sony BDP-S6200 + sacd_extract (その2;手順)

前書きで繰り返し書いた通り,SACDをリッピングすることは違法です。よって以下に書かれていることを真似することは違法です。違法な方法を伝聞として記載することが違法かどうかについては,はっきりしません。違法であることが明らかになればこのページは削除します。

基本的には,ここに書かれている通りですので読めばわかります。最初にブルーレイプレイヤーを使ってSACDのリッピングに成功したのはMediaTeckのSoCであるMT85xxを使ってLinuxをOSとした機種だったようです。たくさんのOEMバージョンがあるらしく,sonyのBDP-S390, S490, S590, S4100, S5100, pioneerのBDP-80FD, 160, 170あたりが安価なユニバーサルプレイヤーとして販売されていました。日本ではpioneerのBDP-160や170はモデル末期には新品が1万円代前半で叩き売られていたようですが,ヤフオク!などでみていると,中古品が新品よりもよほど高い価格で取引されています。それでも買う人がいる,ということは,おそらく,SACDのリッピングをしようという需要ががある程度存在しているから,と想像されます。また,BSD-160や170を用いたリッピングの手順が日本語に翻訳されたものがある,ということも大きいように思います。

その後,2019年2月にARMv7を使ったブルーレイプレイヤーでもSACDをリッピングする方法が「開発」されます。これは,SonyのBDP-S6200, S7200, S790が該当するようです。この情報はここに明記されているのですが,なぜか,BDP-S6200などのヤフオク!での価格は特に高いというわけでもなく,普通に適正な中古価格で取引されているように見えます。それなら,というわけで,このARMv7を使った機種での方法をトレースしてみようと思います。

具体的な手順はここがわかりやすいように思います(ただし,BDP-S390などをターゲットとしていますが,手順はS6200でも同じです)。

繰り返しますが,やり方がわかったからといってそれをやってよいわけではありません。日本では違法です。

1. ファイルのダウンロード
1.1 プレイヤー(サーバー)側のsacd_extract
BDP-S790は別のソフトがいるようで,S6200とS7200に使えるものがここに置かれています。右上の「ダウンロード」ボタンからローカルに落とします。
1.2 クライアントPC側のsacd_extract
SONOREのサイトの一番下のSoftwareというところからISO2DSDというリンクを辿ります。ISO2DSDのページの一番下にmacOS, Windows, Linux用のアプリケーションが置かれています。適当なOSのものをダウンロードして展開するといくつかファイルが入っていますが,sacd_extractという実行可能ファイルのみを使います。

2. ファイルをUSBにコピー
ダウンロードしたzipファイルを展開してできるAutoScriptというディレクトリごとUSBスティックのルートディレクトリにコピーします。USBスティックはFAT32でフォーマットしておきます。AutoScriptというディレクトリの下にはautorip.shというシェルスクリプト,AutoScriptとsacd_extract_6200という実行可能ファイルが含まれています。ディレクトリ構造を変えてはならないようです。

3. ブルーレイプレイヤーの設定
メニューの名称は微妙に違うかもしれませんがだいたい想像できるんじゃないかと思います。ブツが手元にないので想像です。
3.1 Setup -> オーディオ設定 -> DSD出力モード (off)
3.2 Setup -> BD/DVD視聴設定 -> BDインターネット接続 (許可しない)
3.3 Setup -> 音楽設定 -> スーパーオーディオCDの再生層 (SACD)
3.4 Setup -> システム設定 -> クイックスタートモード (On)
3.5 Setupから現在の設定を参照して,IPアドレスを確認しておきます。

4. sacd_extractの起動
4.1 リモコンを使ってプレイヤーの電源をいったんオフにして,USBスティックをリアのUSBコネクタに挿します。
4.2 改めてプレイヤーの電源をオンにすると,USBスティックのアクセスランプが(存在すれば)光って,ディスクトレーが自動的に開きます。これが,USBスティックにコピーしたソフトが正しく読み込まれた合図です。
4.3 ディスクトレーにSACDディスクを載せて,リモコンを使ってトレーを閉じます。
4.4 これで外部からの読み出し待ちになります。

5. クライアントPCのsacd_extractから書き出し。
クライアントPC (windows, macOS, LinuxのいずれでもOK)にsacd_extractの実行ファイルをコピーします。上記の解説のページではGUIのためのラッパーを使うことが想定されていますが,そんなものは全く不要なのでコマンドラインから直接sacd_extractコマンドを叩くほうが簡単です。windowsならコマンドプロンプトかpower shell,macOSならターミナルを立ち上げて,sacd_extractのあるディレクトリに移動します。macOSなら
./sacd_extract -i 192.168.xxx.yyy:2002 -I
と叩きます。192.168.xxx.yyyは3で確認したプレイヤーのIPアドレスです。最後のオプション(-I; 大文字のアイ)はisoイメージで読み出すことを指定しています。オプションを選べばDSF (-s)やDSDIFF (-p)で書き出すことも可能です。DSTによる圧縮がかかっている場合は-cをつけて圧縮を展開します。-2または-mで2チャンネルで読み出すか,マルチチャンネルで読み出すかを選びます。何も設定しなければ2チャンネルです。

上記コマンドではカレントディレクトリにisoファイルが書き出されます。ISOファイルは改めてsacd_extractを使ってDSFやDSDIFF形式に書き出せばそのあとはいかようにでも扱うことができます。そのあたりは,ここに書いた通りの手順でOKです。

上記サイトに書かれている手順をおおよそ整理するとこんな感じになりそうです。pioneerのBDP-160, 170と手順はまったく変わりません。

しつこいようですが,実際にやったら違法です。