abk1's scratched blog 3::AUDIO DIARY

コメントへの書き込み機能は停止していますので宜しくおねがいします。
Page 5 / 14 :  « ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Next › »

May 08, 2022

DaphileでMQAデータをpiCorePlayerに転送再生する

今回はちょっとした小ネタというか。
DaphileでMQAを再生できるかという話、なんだけど、Daphileサーバー本体からの出力(USBとか)は試していない。
LAN経由でpiCorePlayerに送ったらできましたよという話だ。

システムの構成図。

うちではDaphileにNASをマウントして使っている。NASにMQA CDからリッピングしたMQAファイルを置いている。
下図が再生時のDaphileの画面。
というか、ウェブブラウザでの操作画面のスクリーンショットだ。

左上に、マウントされたNASの共有音楽フォルダが、階層化されている状況を含めて表示されている。
その下にフォルダに含まれているflac-mqaのファイル表示。
右のプレイリストに登録された曲が表示されている、、、のだけど、曲名はリッピング時にタグを入れるときに僕がサボったので、ちゃんとしていない。ちゃんと入れたらちゃんとした表示になる。

piCorePlayerのUSB出力からM500に音声データが伝送されて、表示された様子。
MQA 352.8kHzと表示されている。MQAの音がする。

たぶんだけど、Daphileサーバー本体からUSB出力してもMQAを鳴らせるのではないかな。試してないから明言はできないけど。

Posted at 17:34 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Feb 08, 2022

Daphile 設定関係の覚え書き

さて、このエントリーは、適宜追記、修正していくつもり。
読み易いものには出来てないので、気付いたときに直していく。
小さい修正の場合は、いちいち断りを入れないか、入れても時間が経ったら断り書きを消すかもしれない。読みやすさを優先したほうがいいだろうからというのが単純な理由だ。

Daphile – Digital Music Convenience for Audiophiles
https://daphile.com/

DaphileはGentoo Linuxベースの音楽用ディストリビューションで、音声データ処理にはLMS(Lyrion Music Server)が使われている。
非常によくできたディストリビューションだと思うのだけど、困るのは使い方が難しいことだ。
一見、感覚的に使えるように見えるのだけど、気付かないと使い方が分からないことが、ままある。Volumioより難しい。そして使い方のマニュアルがない。

https://daphile.com/download/FAQ.txt
FAQを読んでいて得心した。

Q5.
Hardware. Is Daphile compatible with ... DAC, wifi adapter, motherboard or any device?

A5.
In general I can't answer these questions.
I have also decided that I will not collect and maintain any hardware compatibility information.
I don't want to take responsibility for possibly providing wrong information for anyone's purchase decisions.

割り切ったものである。
あれこれ説明がないのは、自己責任でも喰い付いてくるユーザーだけが使ってくれりゃあいい、ということなのだろう。

このFAQ.txtに書かれている内容は、興味深いと思うところもあるけど、実際の使用に関してはあんまり助けにならない。Daphileの使い方については、あちこちのサイトで書かれているので、ここで繰り返して書いても意味があまりないかも。だけど説明が面倒なことも多くて、書かれていないことも多いように思う。
そして、自分で過去にやったことを再インストールの際には忘れている、、、そういうわけで、覚え書きを作ることにした。

インストールに際しての注意

Daphileは、ダウンロードしたインストール用Daphileを使って、起動に使うメディア(HDD、USBメモリなど)にインストールして使う。
インストールについての基本的な手順は、下記アドレスのpdfに書いてある。
Daphile Installation
https://daphile.com/download/DaphileInstallation.pdf

単純すぎて嵌りそうなことで、DaphileはLAN経由でウェブブラウザからアクセスするんだけど、https:// IPアドレスだとつながらない。http:// IPアドレスでつながる。

動きさえすればどんなメディアにインストールしても構わないと思うけど(上記マニュアルによると最低2GB)、小さすぎるメディアは避けた方が良い。
というのは、使っていくうちにライブラリ(登録してある音源とか、お気に入りとか、プレイリストとか)が大きくなって来ると、運用上、メディアの容量が足りなくなるようなのだ。
そうなるとDaphileの挙動自体が危なっかしくなってくる。プラグインのアップデートや変更などの操作を受付けなくなる。そういう時には、再生音が途切れるようになったり、不具合も出てくるような印象がある。
うちでは2GBのUSBメモリにインストールして使おうとしたのだけど、あれこれやるうちにデータ収納スペースが足りないと表示され(スクショは撮り忘れた)動かなくなった。そこで4GBのを使っていたんだけど、再び挙動がおかしいので、32GBのに変更して様子をみていた。
ちなみに、うちではNAS音源をマウントして使っていたのだけど、うちのNASには8000枚以上のCDリッピングファイル音源が入っており、其々にcue sheetがある。音源データを読み込むとそこそこ結構なデータ量になる。
Daphileよりもmpdのほうがデータベースを作る速さはずっと速いのだけど、mpdはcue sheetの中に書かれたデータまでは、データベースに読み込まない。
しかしDaphileは、それも読み込んでいる。そのぶん、データベースとしてはずっと大きくなる。ハードのスペックにもよるだろうけど、数10分かかっていた。さらにストリーミングサービスのデータもこれに加わることになる。
しかしそれでも実際のところ、使っているUSBメモリの使用量は2GBより小さい。
だから、どうして容量が足りないと表示されたり不具合が出るのか、分からなかったのだけど。

次に気になるのは、マイクロSDカードとかで運用するのはリスクが高いかもしれないということだ。
基本的にシャットダウンする時はメディアへのデータ書き込みが行われるようで、使う音源の数が多いほど扱うライブラリのデータ量も増えて、シャットダウンに時間がかかっている。
うちでは基本、起動しっ放しなので大きな問題にはなりにくいけど、プラグインのアップデータの際には再起動が必要になり、ライブラリの再読み込みも行ったりしているようだ。
そういうわけで、書き込みの繰り返しに強いメディアを選ぶ方がいいだろうと思う。
使ってないときは電源を切るということなら尚のことだ。

インストール後の設定について

ウェブブラウザからDaphileにアクセスすると、操作画面が表示される。
左にボタンが並んでいて、上から4番目「Settings」をクリックしたら、設定画面が表示される。

うちで「Settings」で設定している項目について、ここでメモしていく。
操作画面で上から並んでいる順番に記載する。
ここに記載がない項目は、デフォルトのままで使っているか、記載する根気が無い項目ということだ。
前述した Daphile Installation のpdfファイルに、General、Audio Device、Storage の項目に付いては、基本的なことについての記載がある。

daphile settings
General

うちで設定しているのは「System name」と「Time zone」。
System nameはネットワーク上で使われる名前なので、好きに付けてやればいい。複数のDaphileを使う場合は違う名前にしておけば区別が付く。
Time zoneは「Japan」。
他はデフォルトのまま。

Audio Device

うちではBIOSで音声出力を止めてUPnPサーバーとして使っているので「No compatible audio devices」と表示されている。
USB DACなどつないだ場合は、ここに表示される筈。

Key Bindings、CD Ripping

うちでは触っていない。
リッピングマシンとして使うと便利という話を聞いたことがある。

Networking

デフォルトのままだと有線接続で、Automatic (DHCP)になっている。DHCPサーバーからipアドレスが自動で割り振られる。
WiFiでつなぐなら有線の状態でアクセスしてから無線の設定をする。IPアドレスは同じままで無線接続になる。

Power

ここではCPUやクロックの設定が出来る。
うちでは CPU frequencyを高めに設定している(2026.09.15.現在、2.4Ghz)。処理能力優先だ。これが低いとDeezerとか、パワーが要るプラグインの動きが悪くなるようなのだ。
デフォルトでは低めに設定されているから調整が必要。
よく解らないというのもあって他はデフォルトのまま。

Storage

ここではストレージ音源の設定を行う。うちでは「Local drives」は無し。「Network drives」でNASの共有ディレクトリをマウントする。
NASのマウント方法については以下エントリーを参照。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20210413a.htm
DaphileにNASをマウントしてみる(cue sheetが使える!)

Backup

ここは触っていない。
Backupは、Daphileのローカルに音源を保存する場合にバックアップできるみたい?
設定のバックアップも出来るようだ
しかし、使ったことがないので、よくわからない。

System Firmware

Daphileのアップデートがあると、ここに表示される。
接続したメディアにDaphileの新規インストールができたりもするようだ。

update

Advanced Media Server Settings

ちょうど上の画像を見てもらったらいいけど、「Settings」の表示画面、最下部左側に、暗灰色に白抜き文字のボタンが2つある。
「Save & Restart」と「Advanced Media Server Settings」だ。
後者のボタンをクリックすると、更なる設定用画面が表示される。
横に並んだタブについて、左から順番に記載していく。

AdvancedMediaServerSettings
Player

DACなど音声出力先のボタンと、設定のボタン(Basic Settings)が表示される。
上の画像では、テスト用システムで運用しているpiCorePlayerが表示されているのだけど、複数の出力先があるようなら、左上のプレーヤー名が表示されているプルダウンボタンから選択して、他のプレーヤーの設定もできるようになっている。

Basic Settingと表示されているボタンからプルダウンで、更に細かな設定を選べるのだけど、設定項目は非常に多い。
うちでは「Alarm Clock」をOFFに。
mp3の音質設定「LAME Quality Level」。これがデフォルトでは最低音質になっているようなので調整した方が良い。

うちではUPnP関連プラグインを使ってmpdサーバーに音声信号を送っていて、ボリューム調整はmpdでする。
そこで「audio」の、Volume Controlの項目は「Output level is fix at 100%」にしている。別に「volume controls adjust outputs」でも動くのだけど、無駄な信号を増やす必要はないので、そういう設定にしている。
合わせて、UPnPプラグインでは、LMS volume changesを「ignore all changes」に、Feedback to LMSを「No」に設定。これは後述する。

My Music

ここはデフォルトのままで弄っていない。

(mysqueezebox.com)

このタグは、DaphileがLogitech社のサポートから抜けたことで、無くなったようだ。

Daphileには多くのプラグインが用意されているのだけど、それらの3分の1がLogitechから提供されている。
うちではDeezerを聴くためにDaphileを導入したのだけど、DeezerプラグインもLogitechから提供されていて、使うには下記アドレスのサイト「Logitech Squeezebox」でアカウントを作る必要がある。
https://www.mysqueezebox.com/index/Home

Logitech Squeezeboxにアクセスして、簡単にユーザー登録、アカウントを作ることができる。
そのアカウント情報(メールアドレスとパスワード)を、ここで入力、保存する。
詳細については後述。
Deezerプラグインの使い方についての項に記載する。

Interface

ここではDaphileの表示を設定。「Show Artist with Albums」「Show Year with Albums」を「Enabled」にしている。
Title Format を書き変えることで、再生曲のリストの表示を変えられる。
その他、各種表示の設定が出来る。

アルバム一覧を表示したときにアーティスト名などが表示されるということだが、ストレージで設定された音源(つまり自宅ローカルの音源)では機能するけど、ストリーミング音源の表示には適用されない。
その他、一度に表示される音源数とか、サムネイルサイズとか、設定できる。

Manage Plugins(Plugins)

過去にはPluginsだったが、現在はManage Pluginsという表記に変わっている。

Daphileでは多数のプラグインが動作している。
ここではリストが表示され、上から「Active plugins」、「Inactive plugins」、「3rd party plagins」と、ずらりとプラグインが並んでいる。
デフォルトで要らないものは外したいし、追加したいプラグインもある。

「Active plugins」にリストされているのが、有効化されているプラグインだ。
うちでデフォルトから外したのは、ネットラジオ関係をいくつか。プレイリストの曲が終わったら何か他の曲を鳴らしてくれるプラグインとか、アマゾンのCDストアにつながるプラグインとか、TIDALのプラグインなどだ。「Active plugins」のリストから外したいプラグインを選んでチェックボックスのチェックを外して、表示右下の「Apply」、「close」。
プラグインによっては、DaphileのOS再起動が必要になる。必要ないものもあるようだ。使いながら個別で確認していくしかないかと思う。

追加したプラグインはUPnP関係、Spotifyなど。
未使用のプラグインリスト(「Inactive plugins」と「3rd party plagins」)で該当するプラグインのチェックボックスにチェックを入れ、「Apply」「close」「Save & Restart」で、Daphileを再起動したら使用可能になるけど、ちょっと複雑。
以下、表にする。

UPnP

UPnP関係では、「UPnP/DLNA Media interface」と「UPnP/DLNA bridge」を有効化する。

まず「inactive plagins」のリストにある「UPnP/DLNA Media interface」を、他のプラグイン同様の手順で有効化。
続いて「3rd party plagins」のリストにある「UPnP/DLNA bridge」を有効化する。チェックボックスにチェックして「Apply」をクリック。
ここで暫く待つと、メディアサーバーを再起動していいかという表示が出るので、再起動。更にもうひとつ、再起動してるので待てと表示が出るので、OK。

そうして待つと、UPnP/DLNA bridgeプラグインの最新版がプラグインリストの最上部に表示される。
ここでチェックボックスにチェックして「Apply」(、、、ということなんだけど、この操作は要らないかもしれない。確認できていない)。

この時点でプラグインが有効化され「Active plugins」に表示される(「Audio Player」の画面表示にすると、右下の灰色のボタンにUPnPレンダラーが表示されていて、Daphileからレンダラーに音声データを送ることが可能になっていることが分かる)。

リスト表示されたUPnP/DLNA bridgeプラグインの「settings」から細かい設定が出来るようになっている。
「UPnP player audio capabilities」の項目で、Max sample rateを一応、768000にしている。うちには一応、768kHzのハイレゾ音源があるからだ。

他、うちではSelect binary はx86_64-static。
Send LMS metadata to player は、cover artをNoにしている。

うちではUPnPでDaphileからmpdサーバーに音声信号を送るが、ボリューム調整はmpdでncmpcppを使って行うようにしている。
その方が微調整がしやすくて便利だからだ。
なので、Player volume managementの項目で、LMS volume changesを「ignore all changes」に、Feedback to LMSを「No」に設定している。おそらく「transparent forward」と「Yes」とかの設定でも問題ないんだろうと思うが、無駄なデータの伝送が無い方が良いのではないかと思うので。
前述したが、Playerタブのaudio設定、Volume Controlの項目は「Output level is fix at 100%」に設定している。
Maximum volumeは出力先の許容量ということなので「100」にしている。

Spotify

Spotifyは「3rd party plagins」の「Spotify for Squeezebox, Still Spotty」を有効化する。
Spotify関連のプラグインは複数あるのだけど、どういうときにどれを使うのか詳細はよく分からない。

有効になると「Spotty」にプラグイン名の表示が変わる。
リスト表示されたプラグイン右端の「settings」をクリックし、設定画面から「Username(ユーザー名)」とSpotifyのパスワードを登録する必要がある。
登録したら各種設定の画面が表示されるので、必要に応じて設定。これで使えるようになる。

SpotifyはWebプレーヤーではギャップレス再生ができない。androidスマートフォンのアプリを使った場合は可能。
Daphileを使って聞く場合、ギャップレス再生可能である。

2025年9月に、Spotifyもロスレスデータのストリーミングが始まっているが、データの送信対象は限定的であり、Daphileのプラグインは含まれていない。320kbpsのデータを受信できる。

daphile spotify player
Deezer

下の方、2024年1月末の追記で、DeezerはDaphileで使えなくなると書いて、実際、使えなくなったが、同年春には使えるようになった。
Logitech Media ServerがLyrion Music Serverになり、Logitech社から離れてコミュニティで管理されるようになったのに伴い、新しいプラグインが導入された。
但しDeezer Premiumは対応しているが、Deezer Duo、Deezer Familyには対応しない。
表示は極めてシンプルなものになった。

deezerplugin2025

新しいプラグインの使い方は、下記urlを参照。
lms-deezer/README · GitHub
https://github.com/philippe44/lms-deezer/blob/main/README.md

こまごまとここで説明しなくても、書いてあるとおりにしたらそんなに難しくないと思う。
ハードルは「arl」のコピーだと思うけど、多分ブラウザによって手技も違うし、ここで説明するのは手に余る。各自で対処されたし。

注意点として、Daphileではデフォルトがmp3音質になっている?らしく、確認してCD音質に直したほうが良いかもしれない。ちがってたらごめん。
あと、Spotifyよりも処理にパワーが要るようだ。上の方で記載したPowerの項目で、CPU frequencyを奢ってやること。

2024.01.29.追記。
2月から、Deezerは、Daphileで使えなくなる。
詳細は下記のアドレス。

https://forums.slimdevices.com/forum/user-forums/general-discussion/1668327-uesmartradio-com-and-mysqueezebox-com-servers#post1668327
logitech FORUMS
UESmartRadio.com and MySqueezebox.com Servers

要は、MySqueezebox.comのサーバー保守が終了になるのが原因、ということだ。
セキュリティなど将来的に水準を保って対応していくのが困難と判断したと。

Deezer以外にも、Tidal、Pandoraが使えなくなる。
下記の説明は意味がないものとなるが、記録として残しておく。

(2022.02.記載)
DeezerプラグインはLogitechから提供されていて、デフォルトで有効に登録されているが、そのままでは使えない。
上記「mysqueezebox.com」の項目にも記載したが、Logitech Squeezeboxでアカウントを作り、アカウント情報をDaphileに登録しておく必要がある。

https://www.mysqueezebox.com/index/Home
下の画像は、そのLogitech Squeezeboxサイトのスクリーンショット。

mysqueezebox1

Logitech Squeezeboxのサイトに行き、ユーザー登録しアカウントを作る。
ログインした状態で「App Gallery」のタグをクリック。

mysqueezebox2

リストの中に「Deezer」が表示されている。これをクリックし選択したら、説明の記載と「Install App」のボタンが表示されるので、ボタンををクリック。
インストールしたら「My Apps」に「Deezer」が登録される。
Deezerのユーザーアカウント情報(メールアドレスとパスワード)を登録するようになっているので、登録。
これでLMSでDeezerプラグインが使えるようになるようだ。

mysqueezebox3

DaphileはLMSで動いているので、これでDeezerプラグインを使えるようになる。
Logitech Squeezebox、Daphile、Deezerが、アカウントデータを共有?して連携して動くということだ。

DaphileでDeezerを使うメリットは、何よりギャップレス再生が出来るようになることだ。
加えて、容易にUPnPでデータを送れるので既存のオーディオシステムに組み込みやすい。
うちではmpdを使ったPPAP方式で鳴らすのだけど、UPnP経由でmpd-PPAPフロントサーバーにデータを送れるので、非常にありがたい。

下の画像はDeezerの使用画面をキャプチャしたもの。
Spotifyに比べたら素っ気ないが、使い方には大きな差異はない。

daphile deezer player
Youtube

(2022.02.記載)
Youtubeの音をDaphileで鳴らすことができる。
プラグインは「3rd party plagins」、リストの一番下に載っている。
チェックボックスをチェック、「apply」で有効にしたらアプリ再起動しろの表示、再起動したら暫く待ての表示が出る。じきにアップデートとしてリストのトップに上がるのだけど、放置していて問題無し。
そのうちAudio Playerの「My Apps」にYoutubeが表示される。

しかしこの時点では使えない。Youtubeの管理をしているGoogleで「API Key」というのをもらってこないといけない。
DaphileでYoutubeのアイコンをクリックしたら、音が出るようにする手順が表示される。

Youtube Plugin read me

訳してみた。

YouTube APIキーがありません:キーを取得するには:
https://console.cloud.google.com/apis/dashboard に移動します
クリック:プロジェクトの作成
プロジェクトに名前を付けます。 例 : - (略) -
組織はなしのまま
[作成]をクリックします

プロジェクトダッシュボードで、[API]ボックスの中の「APIの概要に移動」をクリックします。
APIとサービスのダッシュボードで、[APIとサービスを有効にする]をクリックします
APIライブラリで、Youtubeを検索し、Youtube DAta APIv3をクリックします。
Youtube DAta APIv3の画面で、[有効にする]をクリックします
Youtube DAta APIv3の概要で、[クレデンシャルの作成]をクリックします

どのAPIで使用していますか? との問いに、Youtube DAta APIv3を選択。
どこからAPIを呼び出しますか?との問いに、Webブラウザ(java script)を選択。
どのデータの下でアクセスしますか?の問いに、 共有データを選択。
次に、クレデンシャルが必要ですか?で、 ボタンをクリック。
これで、APIキーが表示されます。 それをコピー。

キーの制限をクリックします
APIの制限の下で[キーを制限]を選択し、[Youtube Data APIv3]をクリックします
[保存]をクリックします

Youtubeプラグインに戻り、キーを貼り付けます (以下略)

正直、これを読んだだけではなんのことかさっぱりわからない。
実際に、Googleのサイトに行って操作したら、多少は分かる。当然だけど、Googleアカウントが必要。
原文が英語で、Googleは日本語表示なのでやりにくいし、何だか少し説明と実際が違うような気もするんだけど、まあ、なんとかなる。

無事にキーを取得し、プラグインに書き込めたら、DaphileでYoutube動画の音を聞くことが出きるようになる。最近は48kHz/16bitとかCDと同等以上の音質のものもあるようで、思っていた以上に楽しめる。

daphile youtube player
Advanced

Advancedは弄っていない。
各プラグインへのショートカットがある。

Information

各種情報が見れる。
過去には「Logitech Media Server Status」の表示があったが、現在は「Lyrion Music Server Status」に変わっている。
うちではDeezer、Spotifyといった項目もあって、プレイリストに登録された音源データの数などをリストしている。

プラグインのアップデートなどした後などにはデータベース再構築が行われるのだけど、進捗状況が「Media Scan Details」に表示される。
Cache FolderとかPlugin Folderとかパスの情報も表示されている。

更に下にはLog Fileへのリンクがある。

Theme

右下、「Theme」という記載の後に2つ、グレーのボタンがある。これでブラウザ画面の表示を変更できる。
左側は「Default」の黒、「Light」の白を選択。 右側は「Wallpaper Toggle」と書いてあって、壁紙の使用、不使用を切り替える。

wallpaper

今のところ、設定についてはこんな感じか。
かなり読み辛いけど、読み易くする余裕はないので、仕方ないかな。

Jan 20, 2022

オーディオ状況報告(2022.01.20.)

気が付いたら新年だ。今年は特に年越しの実感がなくて、お餅を食べても正月だという気がしなかった。
もうすぐ北京オリンピックだそうだ。
どうにもこうにも実感がないのは新型コロナの所為かもしれないけど、まあ、それでも新年だ。おめでとう。今年もがんばろう。

ブログ更新はちょっと滞っていたが、それというのもアップする話がなかったからだ。

以前にエントリーでアップしたRaspberry Piのアクセスポイント化については、能力が無く中断、寝かすことにした。僕のようなにわかlinux使いには難しい。
Pegasus DACに1.5MHzにアップサンプリングして入力出来ないかもやってはみていたが、alsa、aplayの対応上限が768kHzらしいということで、将来的な対応を待つほうが良さそうだと判明。
最近は、Daphileが不調になりサーバー機種を替えたけど、1つのエントリーにするほどの話でもなし。
システム構成説明のアップデートでもしとこうか、ということだ。

最近のシステム構成は下図のような感じ。

システム構成図

ほとんど変化がない。
まず、有線LANのハブがひとつ減った。
FX-08miniをもしかして外した方がいいかもしれない?と思って外している。取り敢えず、外して害は無いようだ。ここらは電源やGNDの状況で変わるかもしれない。

あと、さっき書いたけど、Daphileサーバーが変わった。
以前はCompaq 6730bという骨董品?といっていいか、そんなノートPCを使っていたんだけど、1月に入ってぶちぶち音が飛ぶようになった。
NAS音源やSpotifyだと問題ない。Deezerでおかしくなる。
DeezerをWebブラウザで聴いたら問題ないので、やっぱりDaphileとDeezerプラグインが不調なのだ。

原因として思い当たったのは、ひとつはRadio Paradiseを鳴らそうとしたこと。
MQAを鳴らすことが出来るかどうか試してみようと思ったんだけど、なんだかおかしなことになって、ついでにクライアントとして使っているノートPCのWebブラウザまでおかしくなり、DaphileからはRadio Paradiseのプラグインを削除、ノートPCのWebブラウザを再インストールということに。
その頃から、Deezerも不調になった。

Daphileを動かすサーバーを替えてみる。
OSが入ったUSBメモリを、HP Elitebook 2570pに刺して起動。スペックは上がった筈だが、状況は変わらず。OSが壊れている?
仕方ないので、Compaq 6730bでDaphile新規インストールし動かしてみるが、何故か変わらず。
そこで、新規インストールしたUSBメモリを2570pに刺して動かしたら、どうやら問題なく動いている。現在、そういう状況だ。古いOSとサーバーと、両方に問題があったのだろうか。
ネット上の掲示板でDaphileについて書かれたのを読むと、apu2だと重いという記述がある。6730bのスペックはapu2よりも下なので、そこそこ重い状態で使っていたということかも。Deezerを使うに当たって、ライブラリ構築するためにプレイリストやお気に入りを多用しているんだけど、登録数が増えてくるのに従い重くなってきたのかもしれない。

新しいDaphileサーバーにしたElitebook 2570pは、以前はmpdアップサンプリングサーバーとして使っていた機械だ。820 G2と2570p、どちらも其々の趣きがあったんだけど、820 G2のほうがモニター的でHi-Fiに鳴る。2570pは揺らぎが出る。Daphileサーバーの不調があって、2570pを転用することにした。

そんなこんなで、今はあれこれ弄らずオーディオを聴いている。ある意味、平和だが退屈でもある。
また何かあったら手を入れていくつもり。

あ、Brooklyn Ampをどうするかが残ってるな、、、

Posted at 17:13 in audio_diary | WriteBacks (0) | Edit Tagged as:

Oct 31, 2021

カーステレオにRas Pi2+piCore7+MPD+i2s DAC (追記 10月31日、11月03日)

早々に追記。
このエントリーに書かれていることは、再現性がない。
何がどうなっているのやら、、、

もはや自分でもどうやって作ったのかわからないので、バックアップをGoogleに上げておく。
うちのHDDが飛んだりしたら紛失してしまうことになるので。
どうなってるのか見たいという人がおられたら、好きなようにしてくださればいいと思う。

https://drive.google.com/file/d/13eVisGZTRs3syI9z7cQ-2pC7SebC2f0Z/view?usp=sharing

うちのカーステレオ用音楽プレーヤーとして使っているBlackberry Bold 9000が最近あやうい。
というのは、内蔵電池が膨れてきている。
そのせいで本体の蓋が閉まらない。それでも使えて音も出るけど、じきに使えなくなるだろう。

交換用の電池は一応ネット上で売っているけど、何時売られなくなるか分からないし、過去には使ったら本体を壊した電池もあった。別の意味で危ういのだ。博打である。

当時、本体が壊れたので、普通の音楽プレーヤーで代替になれる製品を探したんだけど、試聴できた範囲ではいいのがなかった。音が良くないのと、操作性が良くないのと。
音が良いのになると高価になる。Bold 9000の中古が8千円で手に入るのに、数万以上で使いにくいプレーヤーを買う選択枝はなかった。

9000は物理キーから触覚で操作できるので、カーステレオ用として非常に使い易い。
必要となれば、ボタン1つで鳴っている音楽の曲名なども液晶画面に表示出来る。曲のランダム再生も、本体の電源を入れて諸々の操作で5秒以内で音楽が流れ出す。物理キーとトラックボール、いちいち目で見て確認しなくても出来てしまう。

しかし今や、9000は中古も売ってない。
あと、入手してもOSのバージョンアップが出来ないかもしれない。昔はなんとかしてやっつけたが、やり方を正確には覚えていないのだ(うちのサイトに備忘録があるんだけど、殆ど役に立たなかったんだよね、、)。
使い易くするにはバージョンアップしないといけないんだけど、これが出来ないかもしれないとなれば、、、

そういうわけで、代替機を作ることにした。
引き出しの奥で眠っているRaspberry Pi 2と、i2s DAC、piCore7 + MPD 0.19.9、追加投資はバッテリーぐらいで、なんとかしようというのだ。
少々梃子摺って、問題もないではないが、なんとかなった。

11月3日、書き忘れていたのに気付いたので追記。Raspberry Pi 2には無線機能がないので、USB HiFi アダプターにバッファローのWLI-UC-GNMを使っている。10年前の機材だ。
https://kakaku.com/item/K0000115107/

コンセプトはこんな感じで。

1.車のRCA入力端子につなぐ
2.電源オン・オフはコード(USBケーブル)の接続で行う
3.操作はWiFiでスマートフォンから行う(piCoreをAPモードで動かす)
4.USBメモリに収めた音源をランダム再生する

うちの車は、運転席左後ろの収納ボックス内にカーステレオのRCA入力端子が付いている。
9000は、専用のケーブルを自作して、イヤホン端子からRCA端子につないでいた。
ふつうのケーブルだと太すぎて、9000本体を収納ボックスから出せないのだ。出せなかったら操作できない。収納ボックスの蓋を開きっぱなしにしていたら運転の邪魔になる。そんなわけで、極細のRCA-イヤホン端子のケーブルが必要になったということだ。
Ras Piはスマホから操作するので、収納ボックス内に置いてかまわない。i2s DACと普通のRCAケーブルでつなげばいいということになる。

piCoreは電源コード抜去で電源を落としても大丈夫なOSなので、今回はなんとしてでも使うことにした。
車から降りるときにプレーヤーをシャットダウンする必要があるんだけど、raspbianベースのOS(例えばVolumioなど)だと、OSにログインしてシャットダウンの操作をしなければならない。手順を踏んでシャットダウンしないとOSが壊れるからだ。
その場で電源を落とせるほうが使い易い。piCoreはこういった用途に適している。

音声再生の操作はスマホからWiFiでアクセスして行う。
piCoreを所謂APモードで起動するのだが、過去に何回か手を付けたけど、分からなくて途中で投げてばかりだった。ネット上にはpiCoreでやってるケースは見つけられなかった。Raspbianベースで同様のことをやってる作例はあるのだけど、それでも随分参考になった。

操作性は、9000と比べたら低下している。
WiFiでRas Piとつなげて(これはスマホに自動設定できるけど)、MPDクライアントを起動し、音楽フォルダを選択してプレイリストに登録して再生、ランダム設定、、、
画面を見ながらじゃないとできないことがあれこれとある。たぶん操作に慣れても30秒はかかるのではないか。
あとアートワークを表示しない。これはMPD 0.19の仕様上、仕方がないのだけど。

うだうだ書いてきたけど、実際に行った建付けは右往左往だったけど、出来た結果を整頓して分かりやすく備忘録にしておこう。

参考にさせていただいたサイトは下記。多謝。他にも参考にしたけど忘れた。

https://itmedia.co.jp/news/articles/2008/14/news042.html
https://qiita.com/JhonnyBravo/items/5df2d9b2fcb142b6a67c
https://katona.hatenadiary.org/entry/20071101/p2
http://flac.aki.gs/bony/?page_id=1085
https://wiki.archlinux.jp/index.php/Music_Player_Daemon
http://kitatokyo2013.blogspot.com/2014/02/picoreplayerip.html
http://soramimi.jp/raspberrypi/mpd/
https://qiita.com/hoto17296/items/2e638fa28597b18505cd
https://gadget-live.net/raspberry-pi-self-made-router/
https://raspida.com/wifi4raspbian
https://herb.h.kobe-u.ac.jp/raspiinfo/raspiAP.html
https://armadillo.atmark-techno.com/blog/615/1830

piCore7はここからダウンロードした。
http://tinycorelinux.net/7.x/armv7/releases/RPi2/

piCore7を使う理由は、MPDのインストールが楽だから。
うちで余っているRas PiはB+と初期型の2なので、B+だったらarmv6、初期型2だったらarmv7となる。
3B+も1台予備があるんだけど、piCore7は対応していない。新しいバージョンのpiCoreだとMPDをソースからインストールしないといけないので、けっこうな手間なのだ。

ダウンロードしたイメージをマイクロSDカードに焼いて、i2s DACの設定を書き込み、Ras Piに刺して家庭内有線LANにつないで起動。パーティションを拡張。
ここら詳細は過去のエントリーを参照のこと。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20180103a.html
piCore7にmpdをインストールする方法

今回、完成後のonboot.lstは下記。

mc.tcz
openssh.tcz
wifi.tcz
firmware-rtlwifi.tcz
firmware-ralinkwifi.tcz
usbutils.tcz
net-usb-4.1.13-piCore_v7+.tcz
net-usb-4.1.20-piCore_v7+.tcz
hostapd.tcz
dnsmasq-doc.tcz
dnsmasq.tcz
rfkill.tcz
libmpdclient.tcz
libmpdclient-dev.tcz
mpd.tcz
alsa.tcz
alsa-config.tcz
alsa-dev.tcz

このリストにあるtczを、tceでインストールしていけば、関連のライブラリ等も含めて同等のものが出来る筈だ。
mc.tczとopenssh.tczは最初からインストールされている。それ以降のtczをインストールしていけばいい。
MPDをインストールしたらalsa関連も一緒にされるものと思い込んでいたら、されなかったので最後に追加でインストールしている。実際にi2s出力で必要かどうかは分からないが、一応入れている。

APモード関連

まずAPモードの設定から。

起動時にAPとなるRas PiのIPアドレスを固定するには、/opt/bootsync.shに「wlan0.sh」の設定をしておく必要がある。
下記、記載。

/home/tc/wlan0.sh &

/home/tc/wlan0.sh に、wlan0の設定を記述する。
下記の記載で、RasPi-APが「192.168.2.1」になる。

pkill udhcpc
ifconfig wlan0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255 up
route add default gw 192.168.2.1
echo nameserver 192.168.2.1 > /home/tc/resolv.conf

/home/tc/resolv.conf に下記記載。
(このファイルを削除したら、有線LANにつながらなくなる。どういう挙動なのかよく分からないが、、、)

nameserver 192.168.2.1

USB無線LANアダプターを刺して、認識しているかどうかを確認。

tc@box:~$ lsusb
Bus 001 Device 004: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]
Bus 001 Device 005: ID 0bda:0109 Realtek Semiconductor Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
tc@box:~$ 

ハードの認識はしている。しかし設定をしていない段階では認識していても動いていない。
/opt/bootlocal.sh にiwconfigでスイッチを入れるように設定。

iwconfig wlan0 power on

bootlocal.sh には、hostapd起動の設定も記載。
今回は、tcディレクトリに置いた設定ファイルをhostapdで読み込むようにする。

hostapd /home/tc/hostapd.conf -B

tcディレクトリに置いた設定ファイル、/home/tc/hostapd.confには、下記を記載。

interface=wlan0
ssid=RasPi-AP
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=abcdefghijkl
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

細々したことはよく分からないんだけど、無線LAN(wlan0)を「ssid=RasPi-AP」で動かす設定。
wpa_passphraseは、スマートフォンからRasPi-APネットワークにログインするためのパスワードだ。

dnsmasqでDHCPの設定。
/home/tc/dnsmasq.conf に下記記載している。

interface=wlan0
dhcp-range=192.168.2.2,192.168.2.99,255.255.255.0,24h

udhcpcのdefault.scriptが何処にあるのか探したら、/usr/share/udhcpc/default.scriptが見つかった。中をみたら「RESOLV_CONF="/etc/resolv.conf"」と。
今回はtcディレクトリにresolv.confを置いているので、それを設定してやらないといけないのかな。
/home/tc/udhcpc.script を設定。「RESOLV_CONF="/etc/resolv.conf"」の記述を「RESOLV_CONF="/home/tc/resolv.conf"」に書き換えて設置、、、

実はこの辺り、、、なんでこんなことしたのか記憶がない。何を参考にしたのかもよく分からない。
しかし、/home/tc/udhcpc.scriptを外したらうまく動かなくなる。無線は動いてログインできるんだけど、有線LANがつながらなくなる(まあ、有線LANはカーステレオ使用には無用なんだけど、使える方がメンテしやすい)。なので、何かしているんだとは思うんだけど、、、

よく分からないところもあるが、これでRas PiのAPモードが動く。
APモードなんだけど、同時に有線LANの方も稼働しているので、LANケーブルをつなげばそっちからの設定変更やMPDクライアントでのアクセスも可能だ。
しかし、dnsmasq、udhcpc周りには問題があって(設定がおかしいからだと思うが、、、)、APからクライアントにアドレスが配布されない。クライアント側のスマートフォンで固定IPにすれば運用上の支障はないので、当面このままで使うつもり。

MPDの設定

MPDは、Ras Pi起動と同時に自動起動させる。
これがなぜか、今までのうちでのやり方で上手くいかなかった。ネット上にはrootでは起動しないと書いてあったり(そうなの?!、、、)。
なので、/home/tc/.profile の末尾にコマンドを記載することで起動させるようにした。

/usr/local/bin/mpd /home/tc/.mpdconf

mpd.confは/home/tc/.mpdconfで設定。下記の通り。

music_directory "/mnt/music"
# playlist_directory "/mnt/music/mp/mpd/playlists"
playlist_directory "/home/tc/.mpd/playlists"

log_file "/home/tc/.mpd/log"
pid_file "/home/tc/.mpd/pid"
state_file "/home/tc/.mpd/state"
sticker_file "/home/tc/.mpd/sticker.sql"

db_file "/usr/local/share/mpd/database"

auto_update "yes"
#auto_update_depth "3"

audio_output {
 type "alsa"
 name "My ALSA Device"
 device "hw:0,0" # optional
 mixer_type "software" # optional
## mixer_device "default" # optional
## mixer_control "PCM" # optional
## mixer_index "0" # optional
}

samplerate_converter "Fastest Sinc Interpolator"
audio_buffer_size "8192"
buffer_before_play "20%"
audio_output_format "192000:24:2"

filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"

カーオーディオの使用でライブラリを保存する操作は基本的にはしないので、MPD起動と同時にライブラリのアップデートを行うように設定。
auto_update "yes"
データベースファイルをMPD起動と同時に作るので、filetool.sh -bに記載されていない場所に設定した(これは工程作業の都合で使用上には関係ないけど)。
db_file "/usr/local/share/mpd/database"

/opt/bootlocal.sh に下記記載し、OS起動時に/mnt/musicやデータベースファイルを置くディレクトリなどを作る。
音源となるUSBメモリ/マイクロSD+USBアダプターをOS起動時に認識、マウントポイント「mp」にマウントさせる。

mkdir /usr/local/share/mpd
chmod -R 777 /usr/local/share/mpd

mkdir /mnt/music
mkdir /mnt/music/mp
mkdir /mnt/music/ram
touch /mnt/music/ram/dummy.cue
chmod -R 777 /mnt/music

mount -w /dev/sda1 /mnt/music/mp

以上で、MPD関連の設定は完了。

スマートフォンの設定

インストールと設定を終えたRas Piは、電源を入れて起動したらAPモードで動いている。MPDも自動的に起動し音源データを読み込みライブラリを形成し、クライアントからの指示があれば音声再生が可能な状態になっている。

MPDクライアントを動かすスマートフォン(当方はAndroid 11)を設定する。

WiFiからアクセスポイントRasPi-APを選択。
前述したとおり、Ras Piの方から自動的にIPアドレスを振ってくれない。
Ras PiのDHCPサーバーが問題なく動いていればスマートフォンに自動的にアドレスを振ってくれるはずなんだけど、これが機能していないのだ。

できないものは仕方がないので、スマートフォンのほうでIPアドレスを設定。IPアドレス固定で設定する。
APモードのRas Piが「192.168.2.1」でネットマスクはnetmask 255.255.255.0 なので「192.168.2.xxx(xxxは2から254の間の任意の数でいける筈)」でスマートフォンを設定。
インターネットに繋がりませんと警告?が出るけど、繋げなくてもいいということで設定する。
これで接続、MPDクライアントから操作ができるようになる。

うちではM.A.L.P.を使っているけど、クライアントソフトによって設定や使い方は違うと思うので、これ以降は省略。

そんなこんなで、取り敢えずRaspberry Piベースでカーオーディオ用のポータブルMPDプレーヤーが出来上がった。
音の方は、試しに車のシガーソケットからUSB電源をとって試聴したところ充分過ぎる音が出たので(シガーソケットでこの音か?と驚いた)、問題があるとか何とかは置いといて速やかに日常使用に移行させようという感じ。
接続が問題かな、RCAケーブルとか電源ケーブルをどうするかとか。
当初はバッテリー駆動するつもりだったが、シガーソケットから電源をとれるようにすることも検討している。

DHCPの問題は、今後あせらずに対処していこうと思う。

Sep 05, 2021

オーディオ状況報告(2021.09.05.)

パラリンピックが終わりますね。世の中いろいろだなあ、、、

最近のシステム構成は下図のような感じ。

システム構成図

6月のときと比べると上流が幾分変わっている。
うちではメインのオーディオシステムをPPAP方式で鳴らしているが、以前はFront-EndとBack-End、2台タンデムで運用していた(といっても、Back-Endが2台だったので3台なんだけど)。

これを3台タンデムで運用するようにした。
前回エントリーの説明ではFront、Back-End 1、2としていたけど、分かりにくいのでFront-End、Middle-End、Back-Endと呼ぶことにした。ソフトウェアやPCのタンデムシステムでそういう呼び方をすることがあるようなので、それに合わせた。

以前にはBack-Endとして使っていた2台のapu2を、Middle-EndとBack-Endに振り分けたことになる。
結果、USB DACへの出力は1系統になった。
2台のUSB DACへの出力切り替えは、ケーブルの接続自体を切り替えて行うようにした。音質上の不都合は特に感じられない、と思う。
追々、余裕がある時にちゃんと確かめて見ようとは思うけど、現状に不満がないので何時になるか分からない。

音質の変化について少し。
2台だとDeezer/DaphileからUPnP経由でmpdにつなぐ音が、NASマウント音源から直接にmpdにつなぐ音に及ばなかったんだけど、3台だと同等の音質で鳴るようになった。
同等になったといっても、どちらの鳴らし方も2台の時より向上しているようで、SM-SX100は以前より更に音源の音質にピーキーになった。優秀録音だと思っていた音源の中に、ここに来て振り落されるのがあるのだ。粗が見えてくる。
そういうときには、Brooklyn Ampがいい塩梅に鳴らしてくれるので助かる。

書き忘れていたけど、Front-Endの2570pと820G2、僅かだが音が違うようだ。2570pのほうがややアメージングな方向に音色が振れている。なんだかわからないが。

各サーバーの配置も変更した。
以前はオーディオシステム周囲に複数のサーバーが集まっていたんだけど、現在は極力、PPAP Back-End以外はオーディオシステムから離すようにしている。
Daphile、PPAP Front-End、Middle-Endは、オーディオシステムとは別系統の電源から給電している。NASも移動させた方がいいのかもしれないが以前と変わらない場所にある。これはスペースの都合で移動できていないからだ。

現状のオーディオLANネットワークの状況は下図の通り。

LAN構成図

PPAP Back-Endの前段に4台のハブがカスケードになっている。これは何れかを外してみたら音が劣化するの繰り返しで、結局、何れも外さないままということになった。
様子を見ながら、減らせるようなら減らしたいけど、このままになるかも。

PegasusとADI-2の比較は、44.1/16音源をlibsamplerate(SRC)で768kHzにアップサンプリングした音源での比較しか出来ていない。それも大雑把なものだ。

以前はADI-2の方が良いのか?と思っていたが、電源の条件を合わせないと比較できない。
アンプの電源タップ(BP500-2)につないでいたPegasusを、ADI-2をつないでいるBY50Sにつなぎかえてみたら、すっかり同等になった。
Pegasusは本来AC110-240V対応なので、100Vで使うなら安定している電源が必要なのかも。

Pegasusのほうが鮮やかで絵画的、ADI-2のほうがクールでモニター的に鳴る。
当面、気分によって切り替えながら使うつもりだ。

Posted at 20:22 in audio_diary | WriteBacks (0) | Edit Tagged as:

Aug 24, 2021

PPAP Back-Endをタンデム化

まず、前のエントリーから引用する。

  • 1)NAS音源 > 2570p > apu2
  • 2)NAS音源 > Daphile > 2570p > apu2
  • 3)Deezer > Daphile > 2570p > apu2
  • 4)NAS音源 > 820G2 > apu2
  • 5)NAS音源 > Daphile > 820G2 > apu2
  • 6)Deezer > Daphile > 820G2 > apu2

3)< 2)≦ 1、5、6)< 4)、こんな感じ。

引用内容から導かれる仮設。

  1. 2570pよりも、820G2のほうが音が良い
  2. mpd/upnpサーバーを、LANの経路上、PPAP Back-Endから離した方が音が良い
  3. upnp(upmpdcli)を使うより、使わないデータ伝送の方が音が良い

さて、その後どうだったか。

まず、Back-Endの近くにあった2570pを、820Gの傍に移動して音を比較。
結果、両機種の音に僅かな差異はあるような気がするものの、音質は同等と結論した。

こうした過程で、移動した2570pの音が改善したことが分かった。
一つ目の仮説は否定され、二つ目の仮説は正しいと思われることが分かった。

さて三つ目の仮説は、一つ目の仮説が反証され二つ目の仮説が実証される過程で再検証された、といっていいのかな?
どうもやはり、upnp/upmpdcliを経由するよりも、NASやCDから直接(と言っていいのか?)、mpdの入力プラグインに音声データを入力する方が音が良い。

PPAPでは、mpdサーバーから、DACに信号を送る機能を分離している。
DACに信号を送る機能はPPAP Back-Endが受け持っているが、Front以前の状況によって音が変るということは、遠く家庭内LAN経由で複数のハブを介して離れていても、Frontの負担がBack-Endに影響しているということだ。

僕としては、upnp経由の音(Deezer hifi / Daphileの音源)を、mpd単体の音と同等にしたい。
upmpdcliといえば、過去にはpolipoを組み合わせて高音質化する手法を見たことがあった。
polipoは「キャッシュウェブプロキシ」というもので、キャッシュや負荷を制御することでmpdの負担を減らす、ということだった?と思う。
当時、よく分からず、今もよく分かっていない。
簡単にできたというネット上の書き込みもあるのだけど、よく分からないのでこの手法は使いにくい。

そこで思い付いたのは、PPAP Back-Endを2連直列、タンデム化するというアイデアだ。もともとPPAP自体がタンデムシステムなので、Back-Endがタンデムということは三人乗りになるわけだけど。
前回、ノイズ源を減らすとか言いながら、また増やしている。
下図のような感じに。
出来るだろうか。

最初は、Back-End化したraspberry pi B+ / piCore7で試した。
設定ファイル「bootlocal.sh」には、「/usr/local/bin/ncat -kl 4400 -e "/usr/local/bin/aplay -D hw:0,0 -M --period-size=1024 --buffer-size=16384 -t raw -f S32_LE -r768000 -c2"」というようなコマンドが書き込まれていて、OS起動時に読み込み実行され、PPAP Back-Endとして機能する。
これを下記のように書き換える。

sudo vi /opt/bootlocal.sh

/usr/local/bin/ncat -kl 4400 -e "/usr/local/bin/ncat 192.168.1.89 4400"

filetool.sh -b
sudo reboot

こんな感じに、中継機として設定してみる。
コマンドの記述は思い付きである。
ちょっと思い付きというのは乱暴なので書き直し。Frontのmpd.confのpipe出力に記載している内容を参考に、というか、そのまま引用して書き加えている。 要は、ncatで受けてaplayに送ってDACに出力していたのを、ncatで受けて再度ncatから送り出すようにした。上の例だと、ipアドレス「192.168.1.89」のPPAP Back-End、つまり2台目のBack-Endにデータを送るということだ。

PPAP Frontのほうも、中継機のipアドレスにデータを送るようにmpd.confを書き換え、mpdを再起動。
これで動かしてみたら、、、普通に音が出た。我ながらびっくりした。

さて、44.1/16のデータ転送では音が出たが、Ras pi B+ではスペックが足りない。192kHzでは使えなかった。音が途切れるしクライアントの操作から出音が5~6秒以上遅れる。
そこで、前回エントリー時にシステムから外して余っていたapu2c4を復帰させた。もともとBack-Endとして動かしていた機体なので、再設定も簡単。
ハードのスペックが上がったら、前述のような問題は全くなくなった。768kHzでもストレス無く使える。

音はどうか。
結論から言えば、目論見どおり、upnp経由のDeezer hifi / Daphileの音を改善できた。
S/N、階調が深まり、弦楽器の倍音、余韻が細やかに減衰する。パーカッションの基音が聴き取りやすい。環境音の鳥の声や、録音時に紛れ込んだノイズのリアリティがアップする。一皮剥けて見通しが良くなった。
mpd単体の音と比較して差異が全くなくなったとは言えない感じだけど、かなり差が縮まった。ブラインドで区別する自信はない。

mpd単体再生で、Back-Endが1台のときと2台のとき、変化はどうなのかということになると、かなり難しい。差異を聴き取れない。

しかし、こんなところに改善を目指せる余地が残っていたということに驚いた。
やってみるものである。
あとは、追加したBack-Endを何処に設置するのがいいかの検討が残っている。追々やる。

今日からパラリンピックが始まる。まったく世界はカオスだ。感染回避を心掛けるのみならず、可能な限り身辺安全を確保し、病院のお世話になるような怪我や体調悪化を、ひたすら回避する。命に関るようなことがあっても、現状、病院が守ってくれる余力は限られているのだから。
諸兄も頑張ってください。ご自愛を。

Posted at 11:32 in audio_diary | WriteBacks (0) | Edit Tagged as:

Jul 31, 2021

ネットワーク上のサーバー運用を再考する

世の中はオリンピックで盛り上がっている。
何よりも大過なく終わっていただくこと(中止含む)を祈るばかりだが、非常に危うい。
パラリンピックはやるんだろうか。
コロナ禍は各自で身を守るしかないのだろう。医療崩壊のリスクが高い今、感染回避を心掛けるのみならず、可能な限り身辺安全を確保し病院のお世話になるような怪我や体調悪化を回避する必要がある。頑張ろう。

以前に「mpdでCD再生に対応する」というエントリーを挙げたことがある。
テスト用システムのhp Elitebook 820G2で設定したままになっていて、時々、CDを鳴らすのに使っていた。
820G2につないだUSB-DVDドライブでCDのデータを読み込み、768kHzにアップサンプリングする。PPAPフロント機能でLAN経由でメインシステムのPPAPバックエンドにデータを送る。これで、メインシステムでCDを聴くことが出来る。

そうこうするうちに、気付いたことがある。

昔、オーディオ用のLANネットワークを100Base-Tで組んでいた頃、700kHz台にアップサンプリングしたデータと768kHzのハイレゾファイルのデータを転送出来なかった経験がある。
当時はFX-08miniを使っていた。FX-08miniは音がいいスマートハブだけど通信速度は100Base-Tだ。768/32では音が途切れて使えなくなったので、ハブを替えて、768/32のデータが通る回線は1000Base-Tでつないで、以降は問題なく音声再生できるようになった。
そうした経験から、768kHzのPCMデータを100Base-Tで転送することは出来ないと思っていた。

しかし現在、テスト系の820G2とPPAPバックエンド(apu2)の間には一部、FX-08miniを使っていて100Base-Tの区感がある。それにも関わらずデータの転送が出来ている。

現在のPCオーディオのLANネットワークを図にしてみた。
以前のアップした図にテストシステムの820G2も描き加えて整理している。820G2はメインシステムからはかなり離れたところ、Daphileサーバーとして運用しているCompaq 6730bの隣に置いてある。

さて、どういうことだろう、、、
バックエンド直前のハブが1000Base-Tである必要があるのか?と思って、試しにADI-2 DAC直前のFXG-05RPTを外してFX-08miniに替えてみたところ、問題なく音が出る。これは違う、、、
他に考えられることといえば、以前と変わっているのは普段使いのノートPCのスペックが上がっていること。Compaq 6730bから、Probook 450G3に替えている。オーディオシステムから遠く離れた場所につないだPCでも、負荷が大きくなると音に悪影響がある。しかし、それが原因で768/32が100Base-Tで通るようになるというのは、考え難いかな、どうだろう、、、

以前から感じていたんだけど、テストシステムで再生するCDの音が意外に良い気がする。DVDドライブでガンガンCDが回っているからノイズだらけなはずなのに、音は悪くない気がするのだ。

音がいいと感じるのは、テストシステムのアップサンプリングサーバー(820G2)がPPAPバックエンドから離れているからではないのか。加えてテストシステム、Daphileサーバーの電源と、PPAPバックエンドを含むメインシステムの電源は、分電盤上で分離されている。820G2のノイズはメインシステムに伝わりにくいかもしれない。

Daphileで聴いているときはどうなのか。
このときはDaphileから44.1/16のデータを、PPAPバックエンドのすぐ傍にあるPPAPフロント兼アップサンプリングサーバー(2570p)に送ってアップサンプリングしている。つまり、バックエンドにノイズの影響が及びやすい場所でアップサンプリングしていることになる。

テスト系とメインシステム系、どちらサーバーのほうが音がいいのか。そもそもサーバーに使っている機種が違うので単純に比較できない面もあるけど、比べてみた。
ブラインドでは、まず分からないと思う。
しかし繰り返し切り替えて比較したら、テスト系の方が僅かに音がいいのが分かる。雑味が少ないのだ。
これは僅差でも戻れない差異か、と思いながらテスト系を継続して使っていたら、普段の日常的用途に使っているノート(450G3)を操作したときに音が途切れることが時々あった。
テスト系と450G3は電源タップを共有している。
アップサンプリングサーバーをノイズが多い環境に置くのは望ましくないということか。
こういう場合、経験的には暫く使ううちに不具合が増えて上手くいかなくなっていくことが多いように思う。

そこで、メイン系アップサンプリングサーバー(2570p)をつなぐハブを変えてみた。
FX-08miniでつないでいる場所よりPPAPバックエンド側のGS105Eにつないでいたのを、手前のLSW4-GT-8NSのところに持ってきた。
これまでバックエンド側に置いていたのは768/32の信号は100Base-Tを越えられないと思っていたからで、伝送できて越えられると分かったからにはバックエンドの近くににつなぐ必然性はない、という判断だ。

音の違いは、テスト系を使った時より少ない。しかし極めて僅差だが、良いような気がする。
普段使いの450G3であれこれしていても、音は途切れない、かな?
と思っていたら、再生音が途切れるようになってきた。
Daphileを再起動したら一旦は落ち着いた。しかし以前には無かったことであり、結局は768/32で100Base-Tを通すのは難しいということになるのだろうか。100Base-Tで768/32を通すのは、送信側にも負担になるのだろうか。Daphileは44.1/16を送信しているだけなのだけど、受信側が上手く動いてなかったら送信側にも負担は生じるかもしれない。
それとも、他に原因が?、、、

取り敢えず、2570pをつなぐハブを変更前のGS105Eに戻して様子を見る、、また音が途切れる。
Deezer、休日は人気がある曲はつながりにくいのか?、、、
Daphileサーバーの6730bの温度を確認したら80℃以上と。
熱すぎる(Daphileはウェブブラウザインターフェイスからサーバー温度を確認できるのだ)。

一旦シャットダウン、本棚の下から引っ張り出す。
使っていない内蔵HDDが熱くなっている。これが原因ではないとは思うが取り敢えず外す。ついでにメモリも4x2GBだったのを1枚に減らす。風通しが良くなったら違うかもしれない。DVDドライブは使ってないのでbiosで止める。
置き方も変えてみる。底板が熱くなりやすいので上下を逆さまにセッティングしてみた。多少は冷えやすくなるんじゃないだろうか。
本来、加熱するから冷やすじゃなくて加熱しないように使うべきだと思うが、仕方ない。

家庭内LANの状況とか、Deezer側の状況?とか、なんだかいろんな要素が複合的に作用しているようだ。
その後、サーバーの温度が安定したので、再び2570pをLSW4につないで様子をみているけど、、、どうだろうな、、、

そんな感じであれこれやっていく中で、音の比較もしてきている。
うちではCDリッピング音源をNASに置いているんだけど、Deezerにも同等の音源がある場合、6通りの再生方法が考えられる。
以下の通り。

  • 1)NAS音源 > 2570p > apu2
  • 2)NAS音源 > Daphile > 2570p > apu2
  • 3)Deezer > Daphile > 2570p > apu2
  • 4)NAS音源 > 820G2 > apu2
  • 5)NAS音源 > Daphile > 820G2 > apu2
  • 6)Deezer > Daphile > 820G2 > apu2

比較したところ、3)は他と比べたら良くない。 1)5)6)は若干の音色の違いはあるようだが、ほぼ同等だと思う。
難しいのは2)で、差があるようで無いようで、明確に言いにくい。
一番いいのは、4)だ。 3)< 2)≦ 1、5、6)< 4)、こんな感じ。
テスト系で鳴らしたCDの音が良いと感じたのは、順当だったということらしい。

サーバーを何処に置くかよりも、サーバーに使っているハードの違いのほうが影響が大きい可能性もある。
今後、確認していきたい。

もう一点気になってきたことが。

以前は、PPAPバックエンドが2台あって、USB DACへの出力切り替えは使用するバックエンドをssh経由で切り替えることで変更するようになっていた。しかし、それが面倒な時には物理的にUSBケーブルの抜き差しで切り替えることがあった。それどころか、いつの間にか切り替えに便利なようにUSBケーブルに中継アダプターが入っている。

usb adapter

こんなことをして音質に影響があるかと思ったら、特に問題を感じない。
だったら、ケーブル抜き差しの切り替えでいいんじゃないか、と。
どうせ上流を切り替えたら下流もXLRケーブルやアンプセレクターなど切り替える必要があるので、手間としては大して変わらない。
そうなると、apu2を1台に出来る。ノイズ源を1つ減らすことが出来る。

現在、ADI-2 DACにつながっているapu2d4の前にはFXG-05RPTを入れている。過去の経験からは、ここに音の良いハブ1台をかませたほうがいい。所謂ハブのカスケード接続だ。
Pegasusにつながるapu2c4のほうは、これが入っていない。
前述の100Base-T伝送の関連で一時、FXG-05RPTをFX-08miniに戻してみたんだけど、ウォーミングアップが足りないせいかLANターミネーターを刺してなかったせいか理由は分からないが、音質が低下した。以前には散々聴き比べてFXG-05RPTにしたけど、今回は差が大きいと感じたのだ。

2台のapu2の条件を合わせようとするならFXG-05RPTをもう1台購入する必要がある。しかし今購入するなら以前の倍の価格で売っている。というか、前に買った時が安売りだったのだ。
apu2を1台にするなら追加購入を考える必要はなくなる。

そういうわけで、apu2を1台にした。
余ったapu2でDaphileを運用するというのも考えられるかと思う。

現状、そんな感じで細々したところを弄っているけど、取り組みは気まぐれな感じなので、セッティングが確定して落ち着くにはもうしばらく時間がかかりそうだ。

Posted at 16:26 in audio_diary | WriteBacks (0) | Edit Tagged as:

Jul 06, 2021

pulseaudioでMQAデータを転送再生する

以前のエントリーで、pulseaudio経由の音声信号伝達について書いていた。
現在は、ras pi2とM500(USB-DAC)をつないでシステム化している。piCore7にalsaとpulseaudioだけ組み込んだ簡素なサーバーだ。
Youtubeなどの再生に使うんだけど、実はもうひとつ他に目的があって、MQA再生環境が必要な時にM500を使おうと考えていた。

今回、普段使いのノートPCでmpdを動かして、MQAデータをpulseaudio出力しpulseaudioサーバーに転送、M500で再生したところ、MQAを認識し再生した。
MQAはpulseaudio経由で転送することも可能なことが分かった。

大したことはしていない。
ノートPC(OSはFedora)の.mpdconfに下記のようにpulseaudio出力を設定、サーバーのipアドレスを設定し、mpdでMQAファイルを再生しただけだ。

audio_output {
        type            "pulse"
        name            "My Pulse Output"
##      server          "remote_server"         # optional
      server          "192.168.1.77"
##      sink            "remote_server_sink"    # optional
}

MQAの音は、綺麗だと思う。
うちではメインの音源は主にCD相当のデータをlibsamplerateでアップサンプリングして鳴らしていて、これはこれで高音質なんだけど、なんというか、MQAの音には無理がない軽やかさがある。スムーズで余裕があり歌心がある鳴り方をする。

MQA対応のハードというのは「オーダーメイドの服」みたいな理解を僕はしていて、つまり、MQA音源とハードウェアがあつらえた服のように合っている、というイメージだ。
従来のPCM再生はハードウェアがPCM音源に合わせないといけないが、限界があるというイメージ。
MQAはハードウェアの合わせ方が予め決まっていて、ハード側がそれに沿って合わせるように作られているので、PCMの限界を越えるというイメージ。
うちでやっているPCM768kHzへのアップサンプリングは音源をハードに合わせる努力であって、だから良質な仕立て(libsamplerate)が必要なんだけど、確かに音質改善があって楽音の情報量としても多いけど、何処かしら頑張ってる音という感触がある。これはハードのスペック向上によって改善するのかもしれないけど。
MQAの音は、そういう野暮ったさがない。スマートな音がする。

今回はpulseaudioで転送したけど、一般的なUPnPでも転送は可能だと思う。そもそも、UPnPで転送してMQAだと読めなくなるようなら、使いものになってない筈だ。
うちではUPnPで転送するなら、転送先にmpd、upmpdcliをインストールしないといけない。他にUPnPレンダラーの作り方を知らないからだ。
そうそうMQAは使わないし、当面は現在のシステムでいいと思っているけど。

Posted at 10:46 in audio_diary | WriteBacks (0) | Edit Tagged as: , ,

Jun 23, 2021

DAC/アンプの切り替えケーブルによる音質変化ついて

タイトルの「切り替えケーブル」って何?という感じだけど。

5月頃からDACとアンプの接続を切り替えるのに、コネクターパネルをオーディオラックに設えて、ケーブルをつなぎ替えることで対応している。
セレクターも考えたけど、既製品で良さそうなのだと、どうやっても7万円以上かかることになってくるし、スイッチが介在することで回路上の接点も増える。まずはケーブルのつなぎ替えをしやすくなるようにしながら、なるべく接点が少なくなるようにと考えた。

当初、DAC側にインターコネクトケーブル(classic pro:CXX003)を延長用に追加することで、DACとアンプの切り替えをしやすくしようとしたんだけど、音の情報量が減ってしまった。最初は安価なケーブルの所為かとも思ったが、考えてみたらBrooklyn Ampとmonitor1の間に同等と思われるケーブルを使っていて、こっちは問題がない。
何が違うんだろうと考えて、もしかしたらケーブル間の接続部位を揺れないように固定したら、情報量が減るのを防げるのではないかと思い付いた。
そこで、ケーブル間をつなぐのにコネクターパネルを使ってみることにしたということだ。

最初はコネクターパネルの上流下流ともに通常のXLRケーブルでつなぐように考えていたんだけど、それだと接点が2ヶ所増えることになる。
上流のケーブルをコネクターパネルのXLRコネクター(オス)に半田付けしてしまえば、接点を1ヶ所に減らせる。ケーブルを交換したくなったら、XLRコネクターごと交換すればいい(これが手軽じゃないと知ったのは組んだ後だ)。
そんなふうに考えた結果、下図のようになった。
便宜上、上流側のケーブルを切り替えケーブルと呼んでみた。

まずは手元にあったBelden 88760で作ってみた。

細くて硬いのと慣れないのとで作業自体は難儀したけど、とりあえず使えるものは出来た。
音はというと、クリアで情報量の低下も少なく、コストパフォーマンスが高いと言われて評判が良いのも分かると思った。しかし若干中高域が強く中域が引っ込む印象。これで決定とするのではなく、他にも試してみようと思った。

次に試したのがキャブタイヤケーブル。3芯入っているのを入手しやすく作業もしやすい。
前のエントリーにも書いたが、1.25sqは個性が少なく嫌味が無いけど主張がない。聞きやすいけどオーディオ的には緩く、出て然るべき情報が表に出て来ないような印象だ。
2sqは若干ふんわりした感触の音になるが、比較的、情報量は保持している感触だった。
もう少しメリハリがあってもいい。

次にVVFケーブル。
スピーカーコードで使うにはコスパが高いという定評があるようで、うちでもアンプとアンプセレクターの間に使っているけど、インターコネクトに使ってるのはあんまり聞いたことがない。
この際だから使ってみることにした。
ケーブルの先だけ被膜を剥いで、コネクターに半田付けした。

VVFケーブルの被膜は、剥いだのを叩くとカチカチ音がする。
だからというわけじゃないかもしれないけど、音は平べったい感じ。ぺたーっとスピーカー間のライン上に貼り付いた感じで立体感、奥行きがない。
スピーカーで使うときにはそんな違和感ないんだけど。

そういうわけで、シースを外して捻ってみた。
多少、ましになった。
ましになったけど、依然として音が硬い。音像が棘を纏っていてSNも悪く潤いがない。

どうしたものかと考え、布を巻くことにした。物理的対策だ。
古くなったワイシャツを切って端切れにして保存していたものを、包帯ほどの幅に裂いて、少しきつめに巻いて養生テープで留めた。
ワイシャツともなれば肌触りがいい方向に音が変わるのではないか、、、

結果は、何と、期待したとおりの改善が得られた。
刺々しさが消えて、空間もかなり綺麗に表現できるようになった。
しかし、若干潤いに欠ける。ワイシャツって濡れてもすぐ乾くからね、乾きやすいんだろうかね。
これは許容範囲で収まるのかな、、、

https://www.amazon.com/Donnergrollen-und-Rotbauchunken/dp/B00KAYSSAA
この音源。
雷鳴や小鳥の声、雨音などが以前よりもリアルになった気がするんだけど、アブが近くに飛んで来なくなった。
これはいいのか悪いのかよく分からない、と最初は思っていたけど、そのうち気付く。、、飛んでいるアブの動線が、以前より明確に分かる。嵐で雷鳴が鳴る中、遠くの何処かでアブが飛んでいるのが聞こえたりもするのだ。雷鳴も以前より良くなっている。

https://www.amazon.com/BOULEZ-CONDUCTS-BART%C3%93K-Wooden-Multi-channel/dp/B08BTL9YRZ/
この音源、ブーレーズのwooden Prince、NYP。CDからリッピングして、以前から試聴用に使っていた音源だけど、序曲の弦を弾く音がより鮮明に聴こえる。鮮明になったらいいとばかりも言えない筈だが、とりあえず凄いと思った。大音量にしたときの見通しも以前より良いような。

どうもケーブル1本でDAC/アンプをつないだ場合より、改善している面がある様子。
単純に考えたら、音声信号の経路に介在物が増えた分、劣化するほうが自然なのだと思うのだけど、何がどうなっているのか。

理由として思い付いたのは、硬いVVFケーブルを介してオーディオラックとDACがつながることで、DACとXLRケーブルの接続部が補強された結果、音に改善面がみられたのではないか、ということ。VVFというのは本当に硬くて、たるむということがない。ラックにDACを固定して動かなくするような感じになっている。
物理的な変化が音に影響しても不思議はない。
ここで気になったのがDACによる違いはどうかということだ。というのは、Pegasus R2RのXLR端子は丈夫な筐体にがっちり固定されていて、ADI-2 DACはそうではなく緩い感じなのだ。だからADIのほうが音質変化が大きいのかな、と思ったら、どうも単純には言えないような感じ。細かい確認はしていないが、両方とも其々に相応の改善がある気がする。

数日経って養生テープは剥がれることに気付いて、テーピング用のテープに貼り替えた。貼り替えついでにワイシャツ布を二重にしている。
潤いに欠ける感じが少しだけ解消された?気もするが、気のせいかもしれない。
聞こえ方が変わるので、音源によっては良くなるばかりではないのがあるような。これは仕方がないかもしれない。

6月27日、追記。
音が鮮明なのは良いんだけど、マイルスのsomeday my prince will come、トランペットが終始サディスティックで聴き辛い。
そこで、ワイシャツ布2枚の間に、概ね1cm巾のひも状にしたセーム革を巻いてみた。
つまり「Y布-セーム革-Y布」の三重巻だ。
これで、マイルスのペットもやさしさ、甘さの表現が出てきてプロフェッショナルな音になった。一方、ドイツの森の雨嵐は若干大人しくなった。
このケーブルはこれで良し、かな。

とりあえず、今のところそんな感じ。
そこそこの音質になったので取りあえずは良いのだけど、こうなるともうちょっと手を入れてみたいという気持ちも出てくる。
余裕がある範囲でやっていく。

Posted at 17:10 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Jun 14, 2021

オーディオ状況報告(2021.06.14. 06.18. 追記あり)

最近のシステム構成は下図のような感じ。
なんだかごちゃごちゃしてるけど、これでいいかって感じ。

システム構成図

前回のエントリーで上げたDACとアンプの切り替え板だけど、切り替えは非常に簡単になり便利になった。
DACにつなぐケーブルの種類が増えている。キャブタイヤとかVVFとか、そんなんでいいのかなというようなケーブルでインターコネクトをつないでいる。

最初はベルデンの88760でつないだのだ。
情報量の低下は許容範囲。
ケーブル2本で普通に延長して垂らすより、板で補強を入れてつないだ方がしっかりするからだろうか、音の劣化が少ないように感じる。気のせいかな、、、

しかし、88760は若干特性が変わるような気がして(やや中高域が強く中域が引っ込む?)細身になるような気がしたので、他のケーブルも試してみようと思ったのだ。
オーディオ用も考えたけど、まずキャブタイヤでつないでみた。
1.25sqは個性が少なく嫌味が無いけど主張がない。
2sqの太さがぎりぎり使えた。若干ふんわりした感触の音になったけど悪くない印象。
次に1.6mm VVF。硬くて難儀した。
音はやや平面的かなと思ったので、シース(爪で叩くとカチカチ音がする)を剥いでケーブルに軽くツイストを入れた。これが両端を半田付けした後だと大変だということを知ったが、これで改善した?かな。シースを外したのと撚りを入れたのと、どっちが効いてるのか分からないが。

そういうわけで、前段後段で違うケーブルをつないで音を出している。
1本のケーブルでつないだ方が当然いいだろうと思っていたんだけど、どうも、意外にそうでもない。1本でつなぐと個性が強く出る弊害があるのだろうか、単純に接続部が少ない方が良いとも言えない感じだ。 何をどうしたらいいのか試行錯誤中だ。

Raspberry Pi2 / piCore7 でPulseaudioサーバーにした。

以前はUPNPレンダラー兼mpdサーバーのElitebookで相乗りさせていたんだけど、どうもssh経由で指示を打ち込む際にコマンドの種類が多すぎて使いにくい。
Pulseaudioで転送する音声データはYoutube、らじるらじる(英語講座を鳴らしたりとか)等を想定している。アップサンプリングしてオーディオ的な高音質を狙う必要性は少ないだろうとも判断して、幸い上流の切り替えも以前より楽になったことだしと思って、別建てにした。
最初はpiCore13で考えたんだけど、初期設定ファイルの書き方が変わっていたせいか上手くいかなかったので、早々に見切りを付けて7で作ってしまった。今から思えば13で作っておけば良かったかもしれない。まあ、追々必要になってからにする。

現在、上流の構成は、Deezer HiFiとDaphile、UPnP、mpd、PPAPの連携。自分的には最強仕様だ。自画自賛である。
サブスク44.1/16のデータは音源のデータ量としては十分。これをDaphileによりUPnPでmpdに転送、libsamplerate(SRC)でアップコンバートしPPAP方式で転送出力しUSB-DACに送る。
これ以上の音も世の中にはあるんだろうけど、自画自賛状態なので無いも同じである。

メインの音源はDeezer HiFiのストリーミング音源に移ったんだけど、それでもちょくちょく、NASのCDリッピング音源も鳴らしている。
操作は主にはWebブラウザで、Daphileの操作画面から行うことが多いんだけど、NAS音源へのアクセスなどの操作が早いのでncmpcppも使う。
Deezer内の検索は、DeezerのWeb Player画面から行うことが多い。「お気に入り」などへの登録もそこから行う。
DaphileからDeezer内を検索したりも出来なくはないんだけど、ちょっと操作画面が煩雑で使いにくい面がある。

Deezerで聴ける音源が少ないという不満は言って言えないこともないけど、日本の著作権周りが悪いんだからと思うとあんまりそこに文句言う気にもなれないし、音源が少ないったって膨大だ。Spotifyは音質的にはやや不足だけど、それで補完してもいいし、どうしても高音質で欲しければCDやダウンロードで買えばいい。
正直、ストリーミングに頼りっきりになるのは個人的には不安がある。

そんなこんなで、いよいよ不満らしい不満が無くなっている。
というか、PCオーディオ的には、今の自分にできることはほぼやり切って、これ以上手を入れる余地も少なくなっている。現状の音質を維持出来たら言うことはない。

Pegasus R2R DACは1MHz以上のサンプリング周波数を入力可能なので、うちのシステムで試してみたんだけど、途切れ途切れで再生速度も合わず上手くいかなかった。
たぶんハードのスペックをもっと上げるとか、リサンプリング方法を負担が少ない方式に変える必要があるのだ。以前だったら何とかやってみるか、とか考えたんじゃないかと思うのだけど、どうも今の自分にはそこをやるモチベーションが無いんだな。

PCオーディオは日進月歩の上、今日自分のとこで出来てることがハードが変わるだけで再構築しないといけないなんてこともあったり、今日提供されてるソフトウェアやディストリビューションが何時までもあるとは言えないので、スキルは維持しないといけないと思っているけど、とりあえず、オーディオを聴きながら、何をしようかと考えていこうと思っている。

18日、追記。
PCオーディオ周りの説明が何が何やら分かりにくい。
そこでもう少し詳細をエントリーに追記しておくことにした。

PCシステム構成図

構成図のPCオーディオ周りだけ抜き出してみた。電源ラインは省略。
左から右にデジタルデータが流れていく感じかな。

まず左上がDaphile サーバー。
古いノートPC(Compaq 6730b)をUSBメモリから起動し使っているが、不具合は感じない。

左下にHP Probook 450 G3。普段使いのPCでOSはFedora。
ここからウェブブラウザ(Daphileのコントローラーでもある)、ncmpcpp、sshなど使って、データの流れをコントロール、設定する。

右に寄ると、Webにつながっている。
Deezer、Spotifyの他にも、YOutube等のストリーミングや日常的なウェブの使用、アップデートなどインターネットからのデータはここから降りてくる。

図の中央に来たら、NASがある。
収録音源の殆どはCDリッピングのflac + cue sheetだ。幾何か購入したハイレゾもある。

中央下にRaspberry Pi2。
Pulseaudioサーバーとして使っている。OSはpiCore7。
Probook 450 G3をPulseaudioクライアントとして使い、そこからのデータを受ける。

更に右に行くと、右上にHP Elitebook 2570p。
OSはTiny Core pure 64。
mpdサーバーであり、UPnPレンダラー、PPAPフロント、libsamplerate (src)を使ったリサンプリングサーバーでもある。
送られてきたデータを768/32にアップサンプリングして、右下のPPAPバックエンドに送る。

右下にApu2が2台。ともにOSはTiny Core pure 64。
PPAPバックエンドとして機能する。
2台のうち、どちらにデータを送るかは、右上Elitebookのmpdサーバーに設定する。左下のProbookからsshを介してアクセスし、mpdの設定ファイルを書き換える操作が必要で、ちょっとだけ手間がかかる。

使用状況に合わせて、図にデータの流れを書き込んでみる。

PCシステム構成図 mpd NAS mount

まず、Elitebook(mpdサーバー)にマウントしたNASの音源を、Probookからncmpcpp(mpdクライアント)で操作して鳴らす場合。
Daphileを導入する以前は、これが中心的な使い方だった。

操作指示の信号は赤い点線で表示。
図の左下、Probookからmpdクライアントのncmpcppで、右上Elitebookのmpdに指示を送る。

音声のデータは、赤い実線で表している。
図中央上のNASから、右上mpdサーバー兼PPAPフロントのElitebookにデータ送信。
Elitebookで768/32にアップサンプリング処理し右下のApu2に送信。

PCシステム構成図 Daphile upnp mpd

次に、Daphileの操作で運用するときの流れ。

Probookでウェブブラウザ上のアクセス画面からDaphileに指示を送る。
ウェブブラウザは、Daphileの操作をするだけではなく、Deezer自体も開いて検索や登録等に使用したり、ネットで情報確認するなど、あれこれと同時に使っている。

Daphileの役割は、サブスク(主にDeezer、サブにSpotify)のデータ、NASのデータを、UPnPに載せてmpd サーバーに送ることだ。
最近はNAS音源をDaphile経由で送ることも多い。
DaphileはTidal、Qobuzにも対応していて、Deezerと同じように使えるのではないかと思うんだけど、うちでは契約していないので確認は出来ていない。Apple MusicやAmazon Musicには対応していない筈?だがAirPlayプラグインを使えばiPhoneから転送可能、ということらしく、これもうちでは確認していない。もしも使えるようなら、音質上、運用上のメリットがあるかもしれない。

音声のデータの流れは、まずWeb、NASから、Daphileに。
DaphileはそのデータをUPnPによってElitebookに送信。
Elitebookで768/32にアップサンプリング処理され、Apu2に送信。

PCシステム構成図 pulseaudio

最後に、Pulseaudioサーバー。
Youtubeの音声など主にウェブブラウザの音声をメインのオーディオシステムで再生するのに使う。
pulseaudioの操作は、慣れないと煩雑だと感じるかもしれない。

まずProbook、ターミナルソフト上でPulseaudioのクライアントを設定。そこから音声出力するソフト(主にウェブブラウザソフト)を起動する。
更にProbookからsshでRaspberry Pi2にログインし、Pulseaudio起動の指示を送る。
これで設定終了。
バックグラウンドで常時動いてくれるというものではないようなので(何処かで設定できるのかもしれないが、出来ていない)、使用の度にこうした操作が必要になる。

設定した上で操作すれば、クライアントの音声出力ソフトを操作することで、音声のデータがRaspberry Pi2に送られる、という仕組みだ。
図では、ウェブからのデータをProbookでpulseaudioに乗せてraspberry pi2に送る流れを表示している。

さて、ここまで書いて、読み返してみて、やっぱり面倒に見えるだろうな、、、と思った。
サブスク周りは、手を付けようと思ったら本当に分かりにくくて面倒だ。
じゃあ、製品を買えばいいのかといえば、どうもそっちも面倒くさそうだ。

最近、オーディオ関連の雑誌社からサブスクに関するムックが出たり、他の某誌の誌面でも特集されていたりする。しかし件のムックを読んでも、結局は何をどうしたらいいのかは簡単には分からないことが分かるという感じだし、特集を組んでる某誌ではDeezerは名前が出てこない(!)。まあ業界雑誌だからそういう推す推さないのメリハリがはっきりしてるということだろうけど、そういう雑誌はあんまり信用できないってことになるんじゃなかろうか。余計なお世話か。

レコードだ、CDだと言ってた頃は、何でもいいからコンポを選んで鳴らしたら音が出た。
今はそうはいかない。どこから音楽を買うのかとか、何を使って再生するのかというとこまで、考えないといけないことが多過ぎると思う。スマホとイヤホンだけで取り敢えず済ませるのは簡単だ。そこから拡張しようと思ったら、わけが分からなくなる。
どのコンポは何に対応してるとか確認するだけでも一苦労する。
上記で取り上げた誌面とか、軽く見ただけだが、なんだか対応状況が間違ってるとこがあったり。専門で仕事する人が誌面を作っていても間違えが出てくる、それぐらい分かりにくい。もうスマホでいいや、と思う人は多いのではないだろうか。

そういう意味では、、、うちのシステムなんか簡単な方かも知れないな、、、
使ってるOSはすべてタダだし、PCも安価に間に合わせているし、、、それは難しさとは関係ないか。
まあ、ともかく、これからサブスクとオーディオの状況がどうなっていくのか、、、付いていくのがやっとになるかもしれないが、、、

Posted at 23:53 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

May 25, 2021

DAC/アンプの切り替え盤を設えてみた

DAC2つ、アンプ2つになった。
切り替えて使いたいんだけど、市販のセレクターには手頃なものがなかなか無い。自作するにはケースの加工とかハードルが高い。
しかし、気付いた。
バランス接続はノイズに強いんだから、ケースなんかなくてもいいんじゃなかろうか。
そういうわけで、自分なりにセレクターを工面してみようという気になった。

最初は、スイッチが付いている方が使いやすそうだと思っていたんだけど、信号経路に接点が増える。
試しにDAC-アンプ間のXLRケーブルにサウンドハウスで扱っているXLRケーブル(classic pro)をつないで延長して聴いてみたら、若干だが劣化がある感じ。amazonで入手した7000円弱のセレクターを通したときほどではないけど、しかしこれは、劣化なしにセレクターを作るのは簡単ではないかもと感じた。
とりあえず、スイッチは使わずケーブルの抜き差しをしやすくするためのボードを作ることにした。抜き差しがしやすくなるだけでも、かなり使いやすくなるはずだ。

作るといってもどうするか。
既製品で何か使えないかな。
サウンドハウスの通販サイト内を探していたら、使えそうなものが見つかった。

TOMOCA ( トモカ ) / P-112N コネクターパネル
https://www.soundhouse.co.jp/products/detail/item/92117/
NEUTRIK ( ノイトリック ) / NC3MD-LX-B
https://www.soundhouse.co.jp/products/detail/item/113754/
TOMOCA ( トモカ ) / M3×8mm
https://www.soundhouse.co.jp/products/detail/item/239776/

これらを組んで、うちのオーディオラックに取り付けることが出来ないか。
うちのオーディオラックは20年以上前にホームセンターなどで扱っているフレームを組んで作ったものを、組み直すなどしながら今も使っている。昔はマンテンという会社が作っていたが倒産し、現在はキタジマ カラーアングルに引き継がれている、のかな?
https://www.kitajimasteel.com/shopbrand/C_karaanguru/
同じ規格?で作られているので、20年前に組んだラックを今でも拡張できる。
もっとオーディオラックらしいものにいつか替えたいと思いながら今まで来ている。ここまで来ると、多分もう替えないかなあ、便利だし。

トモカのパネルとカラーアングルとで、寸法は合うんだろうか。

とりあえず、やってみないことには始まらない。
部品を入手してみたら、ラックに組み付けることが出来そうだ。

コネクターパネルにノイトリックのXLR端子(オス)を専用ネジでネジ止め。ネジを締めても僅かにガタがあるので紙片を挿んで固定した(6月、追記。追加購入した端子はガタがなかったので紙片無しでネジ留めしている。ロットによってそういうことがあったのかも)。
この端子にDACにつなげるケーブルを半田付けする。配線には手元にあったBelden 88760を使う。数年前にXLRケーブルを作るつもりで入手したままになっていたものだ。これの先に、手元に余っていたXLR端子(メス)を付ける。88760は硬くて扱いにくかったが、何とか半田付けした。

これをラックにネジ止め。カラーアングル用のネジとコーナープレートが使える。
組み付け、出来ました。

XLR switch board 1

裏はこんな感じ。半田付けしたまま剥き出しだが、まあ、いいかって感じ。

XLR switch board 2

31日、追記。
エントリーを上げた後に気付いたんだけど、GNDとHOTの配線を間違えていた。電気は通るけどHOTとCOLDの線材が違うのは辛いので直した。これは直す前の写真。
写真の撮り直しは面倒なのでこのままにしておく。

音はどうかというと、最初はピアノの音が硬く特定の音域が強く響いて、こりゃ88760で失敗か?と思ったけど、数時間でエージングしたのか、自然に聴こえる様になった気がするが、どうなのかな。
DACなどにつながっているケーブルを直接差し替えるよりは、ずっと扱いやすくなった。
あとは音の変化だけど、これは簡単には可否を決められない。暫くは使いながら、時間をかけて判断したい。

Posted at 21:20 in audio_diary | WriteBacks (0) | Edit Tagged as: , ,

May 21, 2021

Musician Pegasus R2R DACを入手した(12.01. 12.07. 追記)

ネット上にはR2Rで768kHz対応という自作DACの記事がある。
以前から気になっていたけど、自作は手に余る。

それが先日、既製品でNOS R2Rで1536kHz対応というのがあると知った。
DACは数台あるし、安価とは言えないので迷ったが、入手した。
そもそもNOSだからR2Rだからどんな音になるとか決定的なものではないとは思うんだけど、R2R方式のDACは所有したことも聴いたこともないので。

MUSICIAN Pegasus R2R DAC
http://www.musician-audio.com/en/col.jsp?id=122

中国白雲区広州市の企業らしい。香港のすぐ近くだ。広東省深圳市からも近い。
10数万円とかでこんなん作るのは反則業だと思う。

amazonで購入手続きした後で気付く。
USBで1536kHz、それ以外で192kHzまでとamazonに記載があるけど、それって300、700kHz台は対応していないってこと?いや、まさか、、、
届いたamazonの箱を開けると、ダンボール箱が出てきて、それを開けたら製品の箱が出てくる。三重の梱包だ。
本体はずっしり重い。
脚は3つで前2後1なので背面にXLRケーブルを刺すときに揺れやすいので注意。筐体デザインの関係で右XLRケーブルの着脱が若干やりにくい。これは直してほしいところ。
テスト環境につなぎ、mpdサーバーにコマンドを打つ。

tc@box:~$ cat /proc/asound/card0/stream0
MUSICIAN USB HiRes Audio at usb-0000:00:10.0-1, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000, 1411200, 1536000
    Data packet interval: 125 us
    Bits: 32
  Interface 1
    Altset 2
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000, 1411200, 1536000
    Data packet interval: 125 us
    Bits: 32

とりあえず、よかった。まあ、変な心配しすぎだよね。
以下、レビュー等のアドレス。

Musician Audio Pegasus R2R DAC Review
https://soundnews.net/sources/dacs/musician-audio-pegasus-r2r-dac-review/
Measurements of Musician Pegasus R2R DAC
https://www.audiosciencereview.com/forum/index.php?threads/measurements-of-musician-pegasus-r2r-dac.18786/
Musician Audio Pegasus R2R DAC Review
https://headfonics.com/musician-audio-pegasus-r2r-dac-review/
MUSICIAN Pegasus R2R DAC
https://audiophilestyle.com/forums/topic/59435-musician-pegasus-r2r-dac/

電源はAC110-240V対応ということだけど、100Vで動いている。
メーカーサイトによるとエージングに1週間(300時間)かかるとのこと。しばらく使いながら通電継続する。
電源コードをつないだらスイッチを入れなくてもスタンバイ状態になり、それだけでもエージングは可能らしい。多分、スタンバイでもクロックが温まるように出来ているんだろうと思う。
とりあえずメインシステムにつないで出力してみたNOS 768kHzの音は、ADI-2 DACよりも暖かく柔らかい肌触りなのにメリハリがある。エージング前だしアンプも違うので単純比較はできないが。

さて、1週間たった。エージングも進んだ筈。
音はどうか、、、
NOSの設定で、音源は768kHz32bit。アンプはSM-SX100。

それが、、、ADI-2 DACと区別がつかない(w;)。
なんとなくPegasusのほうがまろやかで、なんとなくADIのほうが清涼感がある、ような気もするが、ブラインドで当てろと言われたら全く自信がない。いや、ブラインドでなくても、あれ、、、今、どっちを鳴らしてたっけ?と思って確認を要するような、そういう感じ。
音が同じじゃ使い分けも出来ない。
どうしたものかと思っていたら、更に数日で、もう少しだけ音が変わった。

音場が、広く深く、拡大したような感触。見渡しが良くなり余韻の響きがより細やかになった。
空気感があるというのか、湿度感というのか、独特の雰囲気がある。音の実体感の違いと言う方がいいのか、注意して聴いたら耳当たり、聴こえ方に差がある。

Pegasusu (NOS)は空気感、湿度感があり柔らかい。羽毛で優しく撫でるような心地良さがある。これは、嵌る人は嵌るんじゃないだろうか。
ADI-2はクールで硬質な鳴り方で、こういうのはモニター的という表現が当てはまるのだろうか。
以前、ADI-2の音について珊瑚礁の海のようなと表現したことがあった。潜るときは息を詰める。冷たい水のように聴く者を覚まさせるような鳴り方をする。それに対してPegasusの音は暖かい空気だ。優しい空気で包まれていて、大息をついても寝てしまっても問題ない。音源の性格によって、どちらが似合うかが違うように思う。楽音の明瞭さ、情報量、スピード感は同等で、クオリティの差は聴き取れないように感じるが、音像にまとわり付く余韻の質が違うという感じ。それらがどうリアリティに結びついているのかが、判断できない。これはもう比較試聴のスキル、経験が足りないとしか言いようがない気がする。

NOS設定を解除すると音色の感触が変わる。若干、ADI-2の音に近付く。比べるとNOSのほうがまろやかな音がする(まろやかと言っても緩い訳ではなく、キレは良い)。
昔、ΔΣ方式でNOS(アップコンバージョンOFF)で使えるというDACを一時所有し聴いたことがある。そのときのNOSの音は刺々しさがあり、うちでは使えないかな、と思った。
PegasusはむしろNOSのほうがいい。
OS有りがいけないというわけではないけど、硬めの音色になったときにはADI-2のほうが説得力が高い。
NOSのほうがPegasusの持ち味を生かせるのではないかと思う。

今回の試聴では、途中からAmazonで入手したセレクターでDACを切り替えていた。入手自体は1年前。
https://www.amazon.co.jp/gp/product/B07R1661QH/
DACとアンプをつなぐケーブルの接続変更には時間が掛かり、聴いた音のイメージが薄れてしまう。
セレクターを使ったら切り替えは迅速になるけど、若干だが音が劣化する。DACの本領が発揮されないが、高品位なセレクターで対応となると現状では難しい。ケーブルの抜き差しで比べるしかない。

そんなこんなで、あれやこれやとやっているうちに、聴き比べも飽きたというか、、、根気が尽きた。
ほぼ同等のDACが2台になったでいいんじゃないかな、という気分に。
いや、ほぼ同等だが、、、
もしかしたらだが、メインのDACは代替りするかもしれない。
というのは、Pegasusは時が経つに連れて更に良くなってるような気がするからだ。デジタル系コンポのウォーミングアップには数週間かかることもある。もう暫く使いながら様子を見る。

さて、一息ついて、確認しておいた方がいいことを確認しておく。

まず、1536kHz PPAPを試す。
ncmpcpp上で「paused」になり音が出ない。何処がボトルネックなのかも分からない。今後の課題。
PPAPなしで1536kHzなら出来るのか、その辺りから試してみることになるだろうけど。

次は、アップサンプリングなしでどうなのかを試す。
R2R NOS、44.1/16で聴いてみる。

ADI-2 DACと比較すると、Pegasusのほうが聴きやすい、、かな?
ADI-2の音は硬さが強調されがちで、ときに聞き辛いときがある(libsamplerateによる音源のアップサンプリングによってそういう聞き辛さは減っていくのだが)。
Pegasus (NOS)の音は、そういう硬さが少ないような。じゃあOS有りだとどうなのかというと、意外とこれも悪くない。硬くなりすぎずに透明感が出てくるのでピアノなどは音源によってはこっちのほういいかもしれない。NOSだと少しふんわりした感じになる。何れにしても、耳馴染みが良い音がする。

しかし、そうは言っても、うちでは768/32にアップサンプリングして使う。
その方がよりリアルで高品位な音がするのは、Pegasus R2R DACもADI-2 DACも同じだ。

Pegasus R2R DAC

画像ではLEDの光が白く飛んでいる。実際はもっと赤い光だ。
768kHzのデータを入力すると48k、x2、x8のLEDが点灯する。
DACとアンプが2×2になって此処からどう組んでいくか、使いながら考えていこうと思う。しかし、どちらの音も捨てがたい感じ。簡単には結論が出そうにない。

2021.12.01. 追記。
Pegasus DACにPPAPで1536kHzにアップサンプリングしたデータを送っても鳴らないので、少し調べた。

PPAP back-endにsshでログインしデータ受信の設定。
上流から再生指示しても音が出ない。そのとき表示されるエラーを下記に記載。

tc@box:~$ /usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D hw:0,0 -M --period-size=2048 --buffer-size=16384 -t raw -f S32_LE -r1536000 -c2"
aplay: main:642: bad speed value 1536000
aplay: main:642: bad speed value 1536000
aplay: main:642: bad speed value 1536000
^C
tc@box:~$

bad speed value、って何?ということでネット検索したら、aplayのソースに記述が。

https://fossies.org/linux/alsa-utils/aplay/aplay.c

Member "alsa-utils-1.2.5.1/aplay/aplay.c" (14 Jun 2021, 90204 Bytes) of package /linux/misc/alsa-utils-1.2.5.1.tar.bz2:

    *snip*

644   if (tmp < 2000 || tmp > 768000) {
645       error(_("bad speed value %i"), tmp);
646       return 1;
647   }

    *snip*

こんな感じ。「if (tmp < 2000 || tmp > 768000) { error(_("bad speed value %i"), tmp);(以下略)」と。
現状、aplayは768kHzまでしか受け付けないようだ。

aplayを使う以外で音声出力する方法はないのかとなると、調べてはみたけど見付からない。どうしようかなと思っている。

2021.12.07. 追記。
PPAPでダメならというので、MPDサーバーであるノートPCのUSB出力から直接つないでみた。
つまり、aplayがダメでもalsaなら通るんじゃないかな、ということ。

結果、音は出た。
しかし途切れ途切れな上にテンポが早くなって、まともな再生が出来ない。
設定等、以下のような感じ。

tc@box:~$ vi .mpdconf

resampler {
plugin "libsamplerate"
type "Linear Interpolator"
# type "Fastest Sinc Interpolator"
}

audio_output_format   "1536000:32:2"
# audio_buffer_size "65536"
audio_buffer_size "130000"
buffer_before_play "80%"


tc@box:~$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 1536000 (1536000/1)
period_size: 32768
buffer_size: 131072
tc@box:~$

アップサンプリング設定の負担を減らしても、まともな音が出ない。実際、topコマンドで見た感じMPD自体への負担はそんなに大きくないようだ。
MPDのログに以下のようなエラーが出る。
エラーが出ても問題ないこともあるけど、今回は無理である。

Dec 07 10:15 : exception: OutputThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted
Dec 07 10:15 : player: Decoder is too slow; playing silence to avoid xrun

Posted at 20:38 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

May 04, 2021

mpdでCD再生に対応する(2022.03.29./.08.16./2025.04.08. 追記)

今回は備忘録。
うちのメインシステムにはCDプレーヤーがない。
でも、リッピングする前に聴きたいと思うこともある。そこを何とか出来ないかということ。

参考にした記事はこちら。
海上忍のラズパイ・オーディオ通信(10)ラズパイ・オーディオで音楽CDのダイレクト再生に挑戦!果たして使い物になるか?
https://www.phileweb.com/review/article/201602/12/1965.html

この記事にもあるけど、トラックの選曲が出来ないのでリッピングしたほうが便利に使えるしCDドライブがうるさいので、限局的な使用に留まるだろうとは思った。けどまあ、使えるようにしたよ、ということで。これはこれで楽しい。

今はテスト環境で運用中。
sshでサーバにログインし「mpc」でCDをmpdのプレイリストに登録して鳴らしている。CDからmpdが768kHzにアップサンプリングし、PPAPでメインシステムに送る。
リップしたファイルより音がいい?
これは、多分に気のせいだと思う。ブラインドでは区別不能だ。

手順をごく簡単に書いておく。Googleにアップしたアップサンプリングサーバーを加工する。
まず、tceでCD関係のtcz、以下をインストール。

libcdio.tcz
libcdio-dev.tcz
libcdio-paranoia.tcz
libcdio-paranoia-dev.tcz

続いて、mpdを再インストールする必要がある。
mpdがcdio-paranoiaに対応していないからだ

tc@box:~$ mpd -V
Music Player Daemon 0.20.20

Protocols:
 file:// http:// https:// alsa://

まず、インストールされているのをアンインストールする。
/mnt/sda1/tce/optional にあるmpd関係を削除。
続いて、/mnt/sda1/tce/onboot.lstのmpdの記載を#でコメントアウト(今回、行削除せずコメントアウトでも問題ないことを確認した)。
これで再インストール行程に入れる。

sudo ntpclient -s -c 1 -h ntp.nict.jp
wget https://www.musicpd.org/download/mpd/0.20/mpd-0.20.20.tar.xz
xz -dv mpd-0.20*
tar -xf mpd-0.20*
ls
cd mpd-0.20*
./configure --enable-pipe-output --enable-cdio_paranoia-input
make
mkdir ../mpd
sudo make DESTDIR=../mpd install

cd
mksquashfs mpd mpd-0.20.20.tcz
md5sum mpd-0.20.20.tcz > mpd-0.20.20.tcz.md5.txt
sudo mv *tcz* /mnt/*1/tce/optional
sudo vi /mnt/*1/tce/onboot.lst
sudo rm -rf mpd*

これで、mpdがCD-DAに対応。

tc@box:~$ mpd -V
Music Player Daemon 0.20.20

Protocols:
 file:// http:// https:// cdda:// alsa://

.mpdconfにcd入力対応の設定したのを書き忘れていたので追記。
下記記載している。

input {
    plugin "cdio_paranoia"
    speed "1"
}

2022.03.29. 追記。
上記の設定だと、ときにCDの読み込みが間に合わず音が途切れる。
speed "4" ぐらいにしておいた方がいいようだ。音質への影響はないように思う。

2022.08.16. 追記。
音が途切れるのはスピードの問題ではないようだ。
ドライブが正確に読み取れていないかもしれないと判断した時に、再読み込みを行うかどうかを設定できるようなんだけど、デフォルトはどうやら、しっかり読み込む設定になっているようで、繰り返し読み込むことで、音が途切れるらしい。
下記のように設定を書き換えたら、音が途切れなくなった。

input {
    plugin "cdio_paranoia"
    speed "4"
## mode "overlap"
mode "disable"
}

overlapという設定も出来るけど、これでも音が途切れる。読み込み速度を例えば32倍など設定し早くしても、再読み込みするほうが時間がかかるものらしい。

参考にmpdのマニュアルのアドレスと引用。

Music Player Daemon 0.24~git documentation » Plugin reference
cdio_paranoia
https://mpd.readthedocs.io/en/latest/plugins.html#cdio-paranoia

Setting

Description

default_byte_order little_endian|big_endian

If the CD drive does not specify a byte order, MPD assumes it is the CPU’s native byte order. This setting allows overriding this.

speed N

Request CDParanoia cap the extraction speed to Nx normal CD audio rotation speed, keeping the drive quiet.

mode disable|overlap|full

Set the paranoia mode; disable means no fixups, overlap performs overlapped reads, and full enables all options.

skip yes|no

If set to no, then never skip failed reads.

2025.04.08. 追記。

今更の追記になるが、音が途切れる原因は cdio_paranoia の設定ではなく、audio_buffer_size、buffer_before_play の問題と判明した。これらの現在の設定は下記の通り。環境によって調整が必要な可能性がある。

audio_output_format   "384000:32:2"
audio_buffer_size   "32768"
buffer_before_play   "75%"

input {
    plugin "cdio_paranoia"
    speed "4"
## mode "overlap"
mode "disable"
skip "yes"
}

操作は「mpc」から行う必要があるので、インストール。
当初は最新のバージョン0.33をインストールしようとしたが、例によってmesonを使うので慣れないので0.28にした。

wget https://www.musicpd.org/download/mpc/0/mpc-0.28.tar.xz
xz -dv mpc*
tar -xf mpc-0.28*
cd mpc-0.28
ls
./configure
make
mkdir ../mpc
sudo make DESTDIR=../mpc install

cd
mksquashfs mpc mpc-0.28.tcz
md5sum mpc-0.28.tcz > mpc-0.28.tcz.md5.txt
sudo mv *tcz* /mnt/*1/tce/optional
sudo vi /mnt/*1/tce/onboot.lst
sudo rm -rf mpc*

これでインストール完了。
使うには、CDドライブを表すデバイスファイルのパーミッション変更が必要とのこと。
/opt/bootlocal.sh にコマンド追記し、OS起動時に変更するように設定しておく。

sudo vi /opt/bootlocal.sh

chmod 666 /dev/sr0

filetool.sh -b
sudo reboot

設定保存し、再起動。これでCDから音を出すことができる。
CDドライブが2つ以上ある時はどうなるかは検証していない。

CDをドライブにセットしsshから「mpc add cdda://」と打つことで、CDをmpdのプレイリストに登録。
続いて「mpc play」で、音が出る。
CD1枚が1つのファイルとして認識されるので不便だけど、通しで聴くとか、それでもいいならという感じ。

音量調整や再生停止程度のことはmpcで出来る。「mpc volume 70」「mpc stop」こんな感じ。
下記、操作説明書のアドレス。

mpc 0.34 documentation
https://www.musicpd.org/doc/mpc/html/

Posted at 21:30 in audio_diary | WriteBacks (0) | Edit Tagged as: , ,

May 02, 2021

オーディオ状況報告(2021.05.02.)

最近のシステム構成は下図のような感じ。上流を若干整理した。

システム構成図

Daphileサーバーはオーディオシステムから離した。音質上の配慮ではなく使い易さの事情だ。音質上の変化もないと思う。
当初はDeezerの再生だけ想定していたんだけど、NASマウントの再生でも使用するようになった。流れというか、ついついというか、いちいちncmpcppを開くのが面倒で、Daphile画面からNASのディレクトリ階層構造をたどって鳴らしている。
本当は、ncmpcppから操作する方がずっと速いのだ。Daphileはいちいち表示に時間がかかる。サクサク快適なのはncmpcppのほうがずっと上だけど、、、
NAS音源再生の音は、Daphileからの操作とncmpcppからの再生では、わずかだがncmpcppのほうが勝る。upmpdcliとnfs、後者の方が負担が少ないということなんだろう。しかし、ふだん聴くのに神経質になるほどの差異ではないので、目の前で開いているDaphileのインターフェイスから操作してしまうということだ。朝三暮四というか怠惰である。
Deezerに置いてない音源もざらにあるので、未だにCDを購入することもあるし、リッピングしたファイルは捨てられない。

DaphileではYoutubeも鳴らすことが出来るらしいんだけど、なんだか手順が複雑で分かりにくく感じられて出来ていない。
そういうわけで、アップサンプリングサーバーのPulseaudioサーバーとしての機能も維持している。Youtubeの音声をサーバーに転送し上限384kHzにアップして再生する手法で、所謂空気録音の試聴とかで使うつもりなんだけど、まだ整備できていない。

FX-08miniを1台戻している。電源アダプターが壊れたので、過去にRaspberry Piに使って意外に好印象だったUSB電源を使って動かしている。
音楽信号が700kHz台の領域とそれ以外を100Base-Tで分ける形になっている。一応これは音質上の配慮なんだけど、おまじないレベルで留まっていて、音の変化があるかどうかの確認をしていない。たぶん、しないまんまになるんじゃないかなあ、、、なんとなく良くなってる気がするで済ませている。

アップサンプリングサーバーのディスクイメージをアップして半月だが、どの程度ダウンロードされているのか、分からない。まあ、それはGoogle Driveの仕様みたいなので仕方ないけど。
もう暫くツイッターのトップには掲示ツイートを留めておこうとは思っている。

柄にもなく今回アップしたのは、今回のイメージは比較的使い易くまとまったので、アップしておく意味もあるかな、と思えたというのが大きい。

数年前にイメージをアップしないのかと訊かれたことはあったんだけど、当時はしなかった。
有志の努力で広く公開され提供されているものを、此方でダウンロードして組み合わせただけで、作ろうと思えば誰でも作れるものを、自分で作ったもの?のようにアップする気にはなれなかったというのが大きかった。
加えて、自分が使っているのが一般的にみて使い易いシステムとは思えなかったというのもあった。使いにくいところに、大したフォローもできないということになれば、興味を持ってダウンロードしてくれた筈の人が興味を失うことになり、そういうのは残念なので。

しかし手前味噌だが、今回アップしたイメージのセットは使い易く出来ていて、アップしてもいいだろうと思った。
初心者でも左程困らずに動かせそうだし、多少マニアックな使い方にも耐えそうだ。
ただ組み合わせただけ、という意味では以前と同じだけど、かかる手間暇の軽減という意味も今回のはあるだろうし、まあ、いいか、という気になった。いろいろネットから世話になっているので成果物を置いとくというのもおかしいが、何処かしら、こっちの気が済むというのがある。自己満足に過ぎないといえば、そうなんだろうけど。

当初からの目的は、libsamplerateの音を実際に聴いてみてほしいというのがあった。
環境を整えた上で聴いたことがある人は、実は少ないのではないかと思うので。
充分にPCのスペックを上げて、300、700kHzとサンプリング周波数を上げてこそ、libsamplerateを使う本当のメリットが生まれてくるというのが僕の実感だ。そういう再生をしてもらって、どんなシステムだとどんな風に聴こえるのか、僕自身が知りたかったというのがある。

そんな手法では聴きたくないという人もいるだろうし、当然そういう人には薦めない。
しかし、どうなのかね、、、
この数年間で、音質改善するいろんな手法が技術的に生まれてきているし、ニーズも興味をもたれることも、あんまりないかもしれない。libsamplerateは使っても意味が無いということになっているようで、いろんな事情で廃れる技術というのはあるんで、それならそれで仕方ないということになるのかも知れないが。

Posted at 12:42 in audio_diary | WriteBacks (0) | Edit Tagged as: ,

Apr 25, 2021

アップしたイメージのPPAPへの転用についてPhile Webに記載した(2022.06.21. 追記:Phile Webサービス終了にて記載内容を転載した)

先日アップしたイメージをPPAPに転用する方法について記載した日記をPhile webにアップした。

いや、人に説明するというのは難しいものだ。こっちは分かってるから相手もある程度分かってるかのような気になってしまう。とりあえず、理解してもらう説明は後回しで(というか、それって大変すぎ)、動かせるようにということで書いている。それでも何かしら不備がある。

アップしたイメージのPPAPへの転用について
https://community.phileweb.com/mypage/entry/5010/20210425/67563/

PPAPでの使い方なので、バックエンドもアップした。
両方のイメージファイルを置いてあるGoogleのアドレスを書いておく。

20210418-TC64-mpd-pa-upnp-AutoStart.img
https://drive.google.com/file/d/1eZ-ijekRj-ond1OIa7aZXgLxjWYbsIPy/view?usp=sharing

tc64-11-1-base1z-2020-04-05-PPAP-BE.img
https://drive.google.com/file/d/1kHhCtR4WCWs3_8i32JrVgGFin-YK9KIZ/view?usp=sharing

2022.06.21.追記。
Phile Webが11月末にサービス終了になるということで、この日記の内容をこちらにサルベージしておくことにした。
若干、読み易いように修正など入れている。

アップしたイメージのPPAPへの転用について

post_date: 2021-04-25 11:59:42

先日アップしたUPnPレンダラー兼アップサンプリングサーバーのイメージですが、PPAPという手法のフロントサーバーとして機能させることが出来ます。
今回は、この件について記載しておきます。

まずPPAP (Piped Pcm Audio Play)について。
過去にPhile Webで話題になっていた手法なので、知っておられる方も多いと思います。
通常は1台のmpd音楽サーバーが行っているデータ処理の流れを、ncatというソフトを使い2台に分割することで音質改善を狙うというものでした。

PPAP

フロントとバックエンド、2つのPCをLANで繋いで運用します。
扱う音楽信号はPCMのみです。
フォーマット固定の制約があります。つまり2つのPCで扱う信号のフォーマットを一致させる必要があります。
ここでいうフォーマットとは「44100 s16le」とか「384000 s32le」などというもので、Flac、WAV、DSDといったファイル形式のことではありません。PCM信号のフォーマットを合わせないといけないということです。

バックエンドは、設定と異なるフォーマットの音声信号を受け付けません。
音源にCDリッピングファイルやハイレゾファイルなど、異なるフォーマットが混在しているような状況だと、合わないファイルを再生するときはフロント側でリサンプリングして合わせる必要があります。ビットパーフェクトでDACに信号を送り込むことができません。

逆に言えば、ビットパーフェクトに拘らないのであれば大きな問題になりません。DACが対応できる最高のフォーマットにリサンプリングする設定にして運用する等すればいいということになります。当方ではそのようにして運用していました。

ここから、今回のセットをPPAPで使う方法について書いていきます。
運用に必要な設定をするにはsshでログインし、キーボードを打ってコマンド操作をする必要があります。設定ファイルの編集にはviエディタを操作していただく必要があります。

まず、バックエンドについての説明です。
バックエンドは、フロントから信号が送られてきたらDACに伝送するようになっています。
イメージを、グーグルにアップしました。

https://drive.google.com/file/d/1kHhCtR4WCWs3_8i32JrVgGFin-YK9KIZ/view?usp=sharing

フロント同様、x86-64対応、Tiny Core Pure64ベースのセットです。
ストレージに焼いて、起動ディスクとして使用してください。
USB-DACをつなぐことを想定しています。起動に際してBIOSでPC自体の音声出力をオフにしてください。

LAN経由でsshでログインし設定します。
ユーザー「tc」、パスも「tc」です。

USB-DACを繋いだ状態で、コマンドを打って確認、設定していきます。
当方での設定手順を提示してみます。

● sshでログインします。
例では192.168.1.15になっていますが、バックエンドのローカルipアドレスを入れてください。

[ab@fedora1 ~]$ ssh tc@192.168.1.15
tc@192.168.1.15's password: 
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

● aplay -lで、USB-DACがどのように認識されているか確認します。
この例では、card 1、device 0 です。

tc@box:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: IncRAL2496UT1 [RATOC Systems, Inc.RAL-2496UT1_], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

● DACへの出力可能なフォーマットをコマンドで確認します。
この例ではDACは「card 1」なのでコマンドも「card1」で調べます。DACが「card 0」の場合は、「card0」で調べます。

tc@box:~$ cat /proc/asound/card1/stream0

RATOC Systems, Inc. RATOC Systems, Inc.RAL-2496UT1_ at usb-0000:00:14.0-2, high : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24

● 「/opt/bootlocal.sh」はOSブート時に起動するコマンド等を書き込む設定ファイルです。
ここに書かれているncatのコマンドを編集します。
card 1、device 0 なので「hw:1,0」、FormatとRatesの数値を参考に、下記のように設定します。

tc@box:~$ sudo vi /opt/bootlocal.sh

/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D hw:1,0 -M --period-size=4096 --buffer-size=32768 -t raw -f S32_LE -r192000 -c2"

● 「filetool.sh -b」で設定保存した上で、再起動します。
Tiny Coreではこのコマンドを打たなかったら設定した内容が消えて残りませんので必須です。

tc@box:~$ filetool.sh -b
tc@box:~$ sudo reboot

再起動したら、バックエンドとして機能するはずです。

次にフロントについて説明します。
先日アップしたイメージを使います。

https://drive.google.com/file/d/1eZ-ijekRj-ond1OIa7aZXgLxjWYbsIPy/view?usp=sharing

このイメージをPPAPフロントとして運用するには、設定を書き換える必要があります。
/home/tc/.mpdconfがmpdの設定ファイルとなっています。

● sshでログインします。
例では192.168.1.15になっていますが、フロントのローカルipアドレスを入れてください。

[ab@fedora1 ~]$ ssh tc@192.168.1.15
tc@192.168.1.15's password: 
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

● /home/tc/.mpdconf のaudio_outputを編集します。

tc@box:~$ vi .mpdconf

# audio_output {            
# type "pipe"
# name "ppappipe"
# always_on "yes"
# command "/usr/local/bin/ncat 192.168.1.xx 4444"
# }

audio_output {
 type            "alsa"
 name            "My ALSA Device 0"              
 device          "plughw:0,0"        # optional  
### mixer_type      "software"
}

audio_output {
 type            "alsa"
 name            "My ALSA Device 1"              
 device          "plughw:1,0"        # optional
### mixer_type      "software"
}

● outputの設定は上記のような記載になっていますが、下記のように書き直します。
alsa出力をコメントアウト。pipe出力をコメント解除してください。
pipe出力の「192.168.1.xx」の部分は、バックエンドのローカルIPアドレスに書き換えてください。

audio_output {
type "pipe"
name "ppappipe"
always_on "yes"
command "/usr/local/bin/ncat 192.168.1.xx 4444"
}

#audio_output {
# type            "alsa"
# name            "My ALSA Device 0"              
# device          "plughw:0,0"        # optional  
### mixer_type      "software"
#}

#audio_output {
# type            "alsa"
# name            "My ALSA Device 1"              
# device          "plughw:1,0"        # optional
### mixer_type      "software"
#}

● audio_output_formatの設定は下記のように「768000:32:2」が有効になっています。これをバックエンドで設定した数値に合わせてください。合っていないと音声出力自体が出来なくなります。
audio_buffer_size、buffer_before_playは、各自の状況、環境に合わせて調整してください。
● アップしたイメージは当方が試験運用したまんまになっていて、そのせいで設定の選択肢が複数記載されたままコメントアウトされています。これをそのままコメント解除したら設定が重複しエラーになります。
コメント解除する際に指示項目が重複しないように注意してください。

audio_output_format             "768000:32:2"    
# audio_output_format             "705600:32:2"  
audio_buffer_size "65536"
buffer_before_play "50%"

# audio_output_format             "384000:32:2"  
# audio_buffer_size               "32768"      
# buffer_before_play              "40%"        

# audio_output_format             "192000:32:2"
# audio_buffer_size               "16384"      
# audio_buffer_size               "32768"      
# buffer_before_play              "40%"        

#audio_output_format             "44100:16:2"  
#audio_buffer_size               "512"         
#buffer_before_play              "20%"         

● 「filetool.sh -b」で設定保存し、再起動します。
設定保存しなかったら、再起動で設定した内容が消えますので必須です。

tc@box:~$ filetool.sh -b
tc@box:~$ sudo reboot

再起動したら、フロントとして機能するはずです。

.mpdconfのmusic directory等、他の設定は、各自の環境、使用目的に合わせて設定してください。UPnPレンダラーとして使用する場合は、上記に記述した内容の設定編集だけでよい筈ですが、NASをマウントするなど他の使い方をされる場合は、使用状況に応じての設定が必要になります。
ここにはそこまで記載する余裕がないので、割愛します。

Posted at 18:32 in audio_diary | WriteBacks (0) | Edit Tagged as: ,
Page 5 / 14 :  « ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Next › »

ABK1s HOMEPAGE::audio diary ~2006

Search


abk1's scratched blog 3::AUDIO DIARY

Search


Advanced Search

October
Sun Mon Tue Wed Thu Fri Sat
     
15
 
Categories
Archives
Syndicate AUDIO DIARY (XML)
Syndicate this site (XML)


Powered by
blosxom 2.0
and
modified by
blosxom starter kit