Page 1 / 31 :  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Next › »

Current filter: »volumio« (Click tag to exclude it or click a conjunction to switch them.)

Mar 16, 2021

DaphileとVolumio 1.55でDeezer hifiをアップサンプリングする

UPnPでデータを飛ばしてレンダラーに組み込んだlibsamplerateでアップサンプリングするプランだけど、いくらか試みた中で、めぼしいところを書いておこうと思う。
途中経過報告だ。

実は、Daphileでアップサンプリングが出来る(いきなり逆走してるが、時系列上仕方ない)。
アップサンプリングして、Daphileがオーディオデバイスとして認識しているUSB DACに出力することは可能だ。
設定項目の表記からの推定だけど、使われるライブラリはSoXらしい。
piCorePlayerに送るLMSからの出力は、アップサンプリングできない。

この際なので、Daphileのアップサンプリングも試してみようと思ってやってみた。だけど、どうも思わしくない。
44.1/16を整数倍していって、88.2kHzから352.8kHzまで試してみた。しかし音が滲んだ感じになり、締りがなくなりぼんやりしている。アップサンプリングなどしない方がいい。
加えてアップサンプリングさせたらギャップレス再生が出来なくなった。こちらも大きな問題で、Daphileを使う意味がなくなる。

Daphileを動かしているのはCompaq 6730bでハードとして古いので強化したらどうだろうかとか、64-bit x86か、32-bit x86を使ったらどうだろうとか、思うところもあるんだけど、取り敢えず直ぐに使えるハードがないし、想像以上に上手くいかなかったので最早あんまり期待していない、、、
しかし手持ちの古いハードで遣り繰りしていくのにも、そろそろ限界を感じている。上を目指す気があるなら、新しいハードがもう少しあった方が余裕があるよね、、、ということでアップサンプリングサーバーとして使っているHP EliteBook 2570pを、もう1台、入手することにした。

それにしても、新しくすると言っても2012年頃の製品だ。6730bは2008年頃の製品だから、4年ぐらい新しくなる。
4年新しくするって、意味ないかな、、、
そんなこと思いながらも、安いのがあったので注文してしまった。

さて、次の作戦はUPnP、Volumioだ。Volumioといっても、懐かしのv1.55を使う。構造がシンプルで扱いやすいし、UPnPクライアントとしての機能も内蔵している。
しかもリサンプラーはデフォルトでlibsamplerate派生と思われるlibresampleだ。
考えてみたら、これは使ってみない手はない。

下記サイトからSourceForgeのダウンロードへのリンクが貼ってある。
Volumio 1.55 for Raspberry Pi & Raspberry Pi 2
https://community.volumio.org/t/volumio-1-55-for-raspberry-pi-raspberry-pi-2/2393

ディスクイメージを焼いて、Raspberry pi2に刺して起動、ipアドレスを確認しウェブブラウザからアクセスすると操作画面が表示される。
右上の「MENU」から「Playback」、MPD Configuration の「Audio Output」からDACへの出力を設定する。
どうも、繋ぐDACによって表示がまちまちな様子なので、適宜その時の状況で合わせる。

UPnPレンダラーの設定は4年前にしたことがある。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20170102a.htm

右上の「MENU」から「System」に入る。
Services managementの「UPNP Control」と「UPNP\DLNA Indexing」をON。「APPLY」。
再起動が必要だけど、volumio 1.55はブラウザからの操作で上手く再起動しないことがよくあるので、シャットダウンして電源を入れ直した方が確実だと思う。

レンダラー

Daphileのほうは、下記サイトに操作画面のキャプチャ付きで詳しい説明がある。多謝。
PCで音楽: Daphileのメディアサーバー化
http://asoyaji.blogspot.com/2019/07/daphile.html

Settings、Advanced Media Server Settings から「plugins」の中の「UPnP/DLNA bridge」「UPnP/DLNA Media Interface」を有効にする。
「3rd party Plugins」のプラグインリストから選んでチェックボックスにチェックを入れ、右下のapplyをクリック、再起動。選択したプラグインが「Active Plugins」のリストに移動する。
「UPnP/DLNA bridge」の「settings」をクリックし、「Start the Bridge」にチェックを入れ、「Restart」をクリック。
こんな感じで「Audio Player」の画面に戻ると、UPnPレンダラーがプレーヤーとして表示されるようになる。
うちでの「Audio Player」画面のキャプチャ。
この画面から操作したら音が出る。

Daphile

そんな感じで、DaphileとVolimioを繋いでみた。
まず、アップサンプリングなし。問題なく音楽が再生できる。
アップサンプリングを設定。
まずDACの状況を確認する。
sshでVolumio 1.55にログイン、ユーザーはpi、パスワードはraspberry。
コマンド「cat /proc/asound/card0/stream0」でUSB DACの入力対応を確認。s32leなので32bitで周波数を上げていくことにする。

以下、ウェブブラウザの画面から設定。
右上の「MENU」から「Playback」、MPD Configurationの項目。
Audio buffer sizeはアップサンプリングするなら増量していく必要がある。
Audio output formatで、サンプリング周波数とビット深度を設定。
Sample rate converterは「Fastest Sinc Interpolator」で固定。Best、Mediumの設定も出来るが、Raspberry Pi2には負担が大きすぎて、まともに再生できないこともあるので使わない。Fastestがもともとmpdではデフォルトだし、それで十分にアップサンプリングによる音質向上効果が得られる。

話が逸れるが、個人的にはlibsamplerateのFastestの方が、SoXのVery Highよりも正確な処理をしているのではないかと思う。
正確というのは、もとのデジタル信号から理想的なDA変換をして得られるアナログ波形から、異なるサンプリング周波数とビット深度で理想的なAD変換を行ったときに得られるデジタルデータに、より近いデータに変換される、という意味だ。ややこしいけど。

過去に、ハイレゾ音源の音と、その音源から作られたCD相当の音源をlibsamplerateでアップサンプリングした音を、聴き比べたことがあるのだけど、殆ど差異がないという印象だった。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20170625a.htm
以前のエントリーの文面としては「結果はというと、44.1のアップサンプリングよりハイレゾ音源の方が繊細で耳あたりがいい鳴り方をする。アンプのボリュームが上がっていきやすい。ある意味、順当な結果になって良かった、という感じ。」と書いているが、、、
実は、差を「盛って」書いている。
今更こんなこと言うのはあれだけど「ここまで差が無いなら、アップサンプリングでいいじゃん」と思ったのが本音だった、、、
しかし当時は、それを弩ストレートに書く気になれなかったので、5mmを5cmぐらいに読み取る感じで書いた(ちょっと追記。普段、聴いているときよりもアンプのボリュームを上げたときに若干だが聴きやすいのはハイレゾ音源の方だった。通常の音量では聴き分けは難しいと思ったので、音量を上げて聴いたという経緯だ)。
その後のうちのオーディオのやり方は、やっぱりハイレゾ音源の方がいい、ではなく、CD音源でlibsamplerateによるアップサンプリング一辺倒で768kHzに至っている。結局、そういうことしか、うちではしていない。多分、4年前に聴いた300kHz台ハイレゾ音源の音は、700kHz台へのアップサンプリングになった時点で越えている。聴き比べしたわけじゃないので、多分だけど。

あと、SoXとlibsamplerateの音の違いを確認したこともあった。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20180318a.htm
SoXはソースのサンプリング周波数の整数倍へのリサンプリングと、非整数倍へのリサンプリングで、再生音の定位が違う。libsamplerateは大きくは違わない。多分、libsamplerateの方が正確なのだ。正確さは音質にも影響している。
僕が700kHz台までやってみようと思えたのは、音質が確実に良くなったからだ。SoXしか弄ってなかったら、そんなことはしていないだろう。

話を戻す。
192kHzまでは安定して再生。
しかし300kHz台では途切れて音楽にならない。
これは、想定内、、、過去の経験からも、300kHz台以上はRaspberry Pi2にはきつい。それでapu2に移行した経緯がある。

ここで、EliteBook 2570pが届いた。
USBメモリでDaphileを動かしているCompaq 6730bをシャットダウンし、2570pに刺し替えて起動。
トラブル発生。一応、ipアドレスが振られている?のにDaphileの起動画面にアクセスできない。
そしてpingすら通らない。
あれこれと試した末、有線LAN端子の接点がひとつ折れているのを発見する。
なるほど、有線は使えないってことね、、、1万4千円だからな、、、返品は面倒だな、、、

Compaq 6730bで起動し直し、Wifi接続に設定し直して、再度、2570pで起動。
今度は、LANにつながった、、、
無線でも速度は確保出来ているようだ。
これだったら384kHzはいけるだろうか。6730bに比べたらましな感じだが、、、
結果からいえば無理だった。クロックアップしてみたり、sshでVolumioにログインして/etc/mpd.confを書き換えて352.8kHzを設定もしてみたけど、どうしても音が途切れ不安定になる。

192kHzで使用継続する意味があるかどうか。
web player、pulseaudio、libsamplerateで384kHzにアップサンプリングするほうが音はいい。実在感といえばいいか、音色の深み、輝きに差が出る。どうしても192kHzでは見劣りしてしまう。 しかしそれでも、Volumioを使って192kHzに上げた方が、Daphileに直接、USB DACを繋ぐよりはいいようだ。
当面、使ってみることにした。
使用上の問題で、何故かVolumioの音量が勝手に変わるということがある。音が出ないな、と思ったらボリュームが0とかになっている。何か理由があるんだろうけど確認できていない。

今回いくつか、普段使わないディストリビューションを使ったけど、うちでは何だか不具合が出て上手くいかなかった。
そういうわけで、いずれはTiny Coreベースでなんとかしたい。Tiny Coreはうちでは比較的安定している。少々荒っぽいことをしても動くタフなディストリビューションだという印象がある。
直ぐには出来ないだろうが、当面はWeb Player-Pulseaudio-384kHz、Daphile-Volumio 1.55-192kHzで凌ぐつもり。

Dec 31, 2016

UPnP/DLNAは難しかった(volumioをupnpで繋いだので追記した)

最近はupnp/dlnaをvolumioで使おうと試みていた。
lightMPD/upnpgwがupnpを上手く使って音質向上に成功しているようで、NASをマウントするよりもシステムの負担が少ないのかもしれない。じゃあ手近で使っているvolumioで出来ないか、あわよくば音質改善が見込めないかとか考えた。
そもそも大したスキルがないので上手くいかなかったので、この際なので記録しておく。

追記。
DLNAで音出し : オーディオ日記 http://yseki118.exblog.jp/25998461/
こちらで書かれていることなど読むと、upnpで音質向上とはいかないということが今更分かる。
頭もハサミも使いようだ。身の丈にあったことを無理せずやったほうが効率いいんだろうな、と思うのだった。

1月4日、さらに追記。
次のエントリーにその後の経過を書いた。意外に音は良かったという結末だ。

volumio1.55ならupnpを使えるということらしい。

ラズパイ・オーディオをDLNAネットワークプレーヤーとして活用する - Phile-web
http://www.phileweb.com/review/article/201604/22/2053.html
Raspberry Pi+Volumio をネットワークオーディオプレイヤーとして使う : アジャイル株式会社
http://www.agilegroup.co.jp/technote/volumio-via-network.html
How to start the DLNA Server for Volumio 1.5 on the Pi
https://volumio.org/forum/how-start-the-dlna-server-for-volumio-the-t2401.html

まずvolumio1.55の設定。
webブラウザからアクセスしてDLNA関係の設定をONにする。
試験的に、volumioにはNAS上の適当なフォルダをマウント。

次に、sshでrootでログイン。パスはvolumio。
/etc/minidlna.confを編集。
#media_dir=/var/lib/mpd/music
上記の行のコメントアウトを外す。
dlnaサーバを再起動するのに以下のコマンドを打つ。
service minidlna restart

これでvolumio1.55がDLNA serverになる。
もしもvolumioにマウントしたNASのデータだけをupnpクライアントに認識させたかったら、/etc/minidlna.confを以下のよう編集したらいい。
media_dir=/var/lib/mpd/music/NAS

確認で、http://volumio:8200/ をwebブラウザで表示。
うちのノートPC(Fedora)はこれでは表示できなかったので、IPアドレスに書き換えて打ち込む。
スナップショット画面が以下。

miniDLNA画面

確かにdlna serverとして動いている。
windows PCのWindows Media Playerから、dlnaサーバーとしてvolumioを認識できた。しかしwindowsから音を出すのが目的じゃない。

まずvolumioを2台、upnpでつなぐことができないか考えた。
MPD-to- MPDでやれるはずなんだけど、レンダラー担当のvolumioが、volumio DLNA serverを認識してくれない。というか、認識させる方法がいくら調べても分からない。

MPD as client to an UPnP/DLNA Media Server
https://www.lesbonscomptes.com/pages/mpd-upnp.html

諦めて、QNAP NASの機能を使う。NAS-to-MPDということになるのかな。
まず、LINNが推奨してるというMinimServerを試みる。AppCenterを使って簡単にインストールできる。

ただ、インストールは簡単だったけど扱いがよくわからない。
設定次第で細かいことも出来そうなんだけど、設定の仕方がよくわからないのだ。設定するのに「MinimWatch」というソフトをインストールしないといけない、とまでは分かった。

サーバーソフトの紹介 『MinimServer』言の葉の穴 http://kotonohanoana.com/archives/1536
MinimServer 導入・設定・運用編 言の葉の穴 http://kotonohanoana.com/archives/8121

ただ細かい設定をしなくても、この時点でvolumioからupnpでNASを認識できている。
ncmpcppで表示できていて、操作して音も出せる。
しかし、cue sheetは表示されず、使えない。表示されている音楽ファイルの再生を指示して音が出るまでに若干時間がかかる。不便だな、設定したら便利になるだろうか、などと思っていたら、MinimServerが認識していないflacファイルが少なからずあることに気付いた。原因ははっきりしない。
MinimWatchは触ってもないけど、諦めることにする。

MinimServerを止めて、最初からQNAP NASに入ってるものを使うことにする。
DLNAメディアサーバー、Music Stationが組み込まれていて、追加でMedia Streaming Add-onをインストールしたらNASからデータをvolumioに送ることができる。操作は、NASのMusic Stationにwebブラウザでアクセスして行う。
つまり、webブラウザでNAS上のアプリを操作し、そのアプリがvolumioにデータを送り、volumioがそれを再生すると。

再生中のvolumioにsshでログインしてtopを打ってみたのが下の画像。
Upmpdcliが働いて、volumioがupnpレンダラーとして機能しているのが分る。

top画面

意外なことに、Music Stationはcue sheetの中を読み込んで曲別に楽曲管理してくれるようで、これはすごいと思った。しかし残念なのは、1曲再生するつもりで操作したら、その曲が終わったあと次の曲を再生していく。アルバムの2曲目を再生しようとしたら1曲目から再生される。つまり曲別に管理しているようでもデータの扱いはファイルということだ。再生されている曲と、Music Stationに表示されている曲に齟齬が生じる。
実際、ncmpcppでmpdにアクセスしたら、個別の曲じゃなくアルバムのflacファイルを再生してるのが一目瞭然だ。
upnp/dlnaというのはファイル別で楽曲管理するらしく、cue sheetを使うのは相当難しそう。

MinimServer Forum > MinimServer > General > CUE Sheets
http://forum.minimserver.com/archive/index.php?thread-138-3.html

> The UPnP server protocol requires each track to be sent as a complete file.

あれこれするうちに挙動がおかしくなった。これはまずい。負担はかけられないようだ。
他に触ってみて気づいたのは、やはり音が出るまでに若干時間がかかる。10秒前後かな。再生開始の時にノイズが乗ることがある。
あと、Music Stationでライブラリ管理を行うのは難しい。うちはファイルが多すぎるのだ。目的のファイルを探すのに時間がかかりすぎる。検索機能も使いやすいとは言えない。
アートワーク表示こそ出来ないけどスピーディにファイルにアクセスできるncmpcppに馴染んでいたら、かなり使いにくいと感じてしまう。

そんなわけで、ncmpcppでアクセスして、なんとか出来ることはないかとか考える。
ncmpcppでvolumio経由でupnpサーバーの状況を表示しようと思えばできるようなんだけど、うちにはメイン用とバックアップ用、2つのNASがあるんだけど、NASによってncmpcppで表示できたりできなかったりして理由がよくわからないし、表示できても全てのファイルを網羅できていなかったりして、いろいろわけが分からなかった。
しかし、片方のNASのupnpサーバーを停止してみたら、他のNASのupnpサーバーが機能し始めて?volumioとも繋がった。
ここで初めて気付いたのが、一つのネットワークにupnpサーバーは一つじゃないといけないのかな?ってことだ。よくわからないけど。

ここで興味本位で、ncmpcppのUPNPブラウザ画面からアップデートをかけてみたら(uキーを押すだけ)うちにあるNAS?があれもこれも表示されてきた。これって全部、upnpサーバー?
うちには音楽用のNAS以外に古くからあるファイルサーバーがいくつか動いている。それらが表示されているし他にもネットワーク上のデバイスがいくつか、、、

update画面1

このときNASでは何をしてるかというとmysqldというデーモンがCPUの70%を食って大忙しだ。webデータベースを作るMySQLのデーモンらしい。一方でvolumioはといえば、topコマンドを打ってみたら何もしてないようだ。データベースの完成待ちという所か。
これが、えらく時間がかかる。
mpdがデータベースを作るのにも時間がかかるが、多分、数10倍以上かかっている。

あまりに時間がかかるので、ncmpcpp上で唯一表示された[Beethoven]のフォルダの中を見てみたら下のスキャン画像のような状況! 同一ファイルのデータを重複して繰り返し取り込んでいるらしい。。。

update画面2

とりあえず、volumioをシャットダウン。
速やかにmysqldは仕事を止めて、NASのCPU使用率は通常レベルに戻った。やれやれだ、、、
MinimWatchをインストールしてMinimServerで粘ったほうが良かったかな、、、

volumioでupnpは、うちではハードルが高いかな。
cue sheetも使えないし、操作は手間がいるし、当面は素直にvolumioはNASをマウントして使うことにした。

しかし、あれこれやるうちに新たな発見があった。

うちでは複数のmpdをひとつのノートPCで扱うため、ポートの設定を各々のmpdで変えていた。
ノートPC上に複数のアカウントを作り、各々にmpdサーバーを割り振って、端末のウインドウを開いてアカウントを変えてncmpcppを立ち上げて使う。複数のウィンドウにアカウントを割り振ることで、同時に複数のmpdを操作できる。
mpdとncmpcppのポート設定を合わせて書き換えて使う。デフォルトは6600だが、これを6601、6602、などと変えている。つまり、IPアドレスとport番号をセットにして設定している。
下の図のような感じ。

IPとPort

書き換えていなかったら、以前は上記のような運用は出来なかった。混線するとでもいうのか、ncmpcppとmpdが繋がらなくなるのだ。
つまり、ポート設定を書き換えなければ、ひとつのPCで同時に使えるmpdは1つということで、そういうものなんだと理解をしていた。
ポートを変えるとvolumioはwebブラウザからのアクセスが出来なくなるが仕方ない。大して困らないし。

ところが、いつの間にか、ポートが6600のままで同時に複数のmpdを操作出来るようになっていた。
そもそもIPアドレスが異なるのに、ポートも変えないと繋がらないというのは、何かがおかしいのかもしれない。

気付いたきっかけは、volumioを2台、upnpでつないでみようとしたことだ。
volumioをupnpで継ぐにはUpmpdcliを動かしておく必要があり、mpdのポート6600を変更したら、これが動かなくなるので変えられない。ひとつのネットワークにポート6600のvolumioが2つ存在することになる。
ncmpcppからアクセスできなくなるだろうと思っていたら、問題なく出来てしまった。

以前とは何が変わったかというと、クライアントPCのOSが変わった。以前はVine Linuxだったが現在はFedoraとDebianを使っている。
ポートが6600のままでいいなら、設定などで余分な手間が要らなくなるし、volumioならwebブラウザからのアクセスも可能になる。

新しい知見があったので、やって良かったということかな。

追記。
イラストは下記のサイトのものを加工して使わせていただいています。
GATAG|フリー素材集 壱 http://01.gatag.net/0006178-free-illustraition/
Publicdomainvectors.org http://publicdomainvectors.org/ja/tag/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2

明けましておめでとうございます。元旦に追記。

なんやかんやでvolumio2つをupnpで繋げてしまった。
音質はノイズが多くピュアオーディオには無理。スキルがないからかもしれないけど。
せっかくなので記録しておく。

1月4日、追記。
エントリの上のほうにも追記したけど、実は意外に音は良かった。イヤホンだと以前よりも悪くなったと思ったんだけどな、、、
次のエントリーにその後の経過を書いた。

まず、ras pi、volumioを2つ用意。両方、/etc/minidlna.confを編集、このエントリーの最初のほうに書いた通り。
1つをサーバーに、もう1つをレンダラーに割り当てる。
サーバーの設定は、UPNP\DLNA IndexingとDLNA Library ServerをONに。実は、UPNP\DLNA IndexingはOFFでもいいのかもしれないけど、十分な確認が出来ていない。
レンダラーの設定は、UPNP ControlとUPNP\DLNA IndexingをONに。

サーバー レンダラー

webブラウザにはUPNPは表示されないようなので、これ以上の操作はできない。
ncmpcppからレンダラーのvolumioにアクセスしたらUPNPが表示されるので、そこに入るとUPNPサーバーのvolumioで設定された音源が表示される。

UPNPにvolumioを表示

あとは階層をたどって表示される音源を選択し再生を指示したら、レンダラーのvolumioから音が出る。

問題は、前述したとおり音にノイズが多いことと、インデックスの更新に手間がかかること。
本来、ファイルが追加されたら自動的にインデックス(データベース)が更新して欲しいんだけど、そうはいかないらしい。自動じゃないのはいいとして、手順がひどく面倒なのだ。
まず、miniDLNAの更新で以下のコマンドをsshから打ち込み。
$ sudo minidlna -R
$ sudo service minidlna restart
更にncmpcppから、レンダラーのmpdのdatabase更新をかける必要がある。以下を参考にした。

Why is the minidlna database not being refreshed? http://stackoverflow.com/questions/5180409/why-is-the-minidlna-database-not-being-refreshed

日常的に使用するのは無理じゃないかなという感想だ。

Jun 14, 2016

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

現在のオーディオシステムについて記録。

OMRON
BY50S
QNAP HS-210
buffalo LSW4-GT8NSB --- LAN --- client PC (ncmpcpp/sftp/ssh)
planex FX08-mini
planex FX08-mini
Raspberry Pi 2
piCore7.0
mpd 0.17.6
HiFiBerry Digi+
(COAX : DH LABS D-75)
Raspberry Pi B+
Volumio 1.55
mpd 0.19.1
HiFiBerry Digi+
(TOS : SAEC OPC-M1)
rosendahl
NANOCLOCKS
(Word clock:192kHz)
Kripton
PB-500-2
TEAC
VRDS-25xs
(COAX > BNC)
RME fireface UCX
(TRS Phone > XLR : ZAOLLA ZSX-103M)
Kenwood DP-5090
(TOS > audio technica AT-HDSL1 > COAX)
Sharp SM-SX100
(協和電線 5.5sq Cabtyre)
JBL 4425mk2 (Space&Time omni8)
charge coupled network
FOSTEX T900A

下流は変わらないが、上流がいろいろ変わっている。

以前はibookとmpdを使ったusbオーディオが中心だったんだけど、そこからRaspberry PiとVolumio、i2sボードを使った方法に移行している。
更に、最近はRaspberry pi2のRAMに音楽ファイルを丸ごと読み込んで再生するメモリ再生方式も取り入れている。 なかなかこれがいい感じだ。

NASからRaspberry piまでの間にはハブを3つ噛ましている。
これはジッター軽減を目指しての所作。
しかしメモリ再生が中心になってくると、あんまり意味がないということになるかも。

DACはfireface UCXに変更になっている。
これに伴って、以前にSRC2496に使おうとしてうまくいかなかったnanoclocksを復帰させている。中古だから壊れているかもと思っていたら、ちゃんと繋がった。しかし、効果のほどは不明だ。
SRC2496はシステムから外れた。

VRDS-25xsは、リッピングしていないCDをちょい聴きするときに使う。ちょい聴き用だからデジタル出力をSM-SX100のデジタル入力に入れている。あんまり推奨される使い方ではない。
DP-5090は子供用。VRDS-25xsを子供に使わせるのはCDがトレイに付いたりして危なっかしい。なんでSM-SX100のTOSに直接入力していないかというと、SM-SX100のセレクターが不調でTOS入力が選択できないからだ。同軸入力はBNCとCOAXがあるので変換したら何とかなる。

SM-SX100は本当にいいアンプだと思うんだけど、生産終了し何年もたったシャープに修理に出すのがちょっと不安な感じになってきている。
nmodeのアンプを入手すべきか、などと考えたりする。

追記。
4425mk2のセッティングについて書き忘れていた。

転居以降、地震対策の名目のもと、キャスターの上にスピーカーをセッティングしている。
当初はまともな音が出なかったが、現在はそこそこ満足できる音が出ていると思う。
セッティングの状況は以下のような感じ。

1cm厚御影石ボード+T900A
0.5mm厚ゴムシート片 6枚
4425mk2
スピーカースタンドMST-40Hの天板
TAOC PTS-N 3個(スパイク受け)
TAOC TITE-46GP 3個(スパイク上向き)
3cm厚御影石ボード
ベニア板積層積み上げ
(間にスピーカースタンドMST-40Hの底板を含む)
楽走くん(キャスターボード)

結局、スピーカーの下に質量を詰め込んだ形になっている。
見た目は、客に見せられない。いつかなんとかしたいけど、、、

スピーカースタンドがお蔵入りかと思っていたら、天板と底板をネジを外して使うことになった。ベニヤ板を積んでなんとかしようとしたが、かさばる割に質量がない。比べたら鋳鉄板は相当重い。

しかしこれで俄然、音が引き締まる。
JBLのスピーカーは箱を鳴かせたほうがいいという意見をよく見るが、うちでは逆だ。エンクロージャーの上下を御影石と鋳鉄板でサンドして、箱鳴りを極力排除している。
エンクロージャーを鳴らさずに、その下のスパイクを上向きに使うことで、スピーカーからのエネルギーが下方に流れていくのを止めている、ということかな。
結果、不足気味だった低域がしっかり鳴るようになった。
スピーカーのエネルギーが、空気に伝わりやすく音に変換されやすくなったと思う。

以前はかなり絞っていたアッテネーターも、今は10時半~11時ぐらい。
つまり、過去に安定して鳴っていたときと同じ位置で使えている。

Sep 28, 2015

Volumioのカーネルをバージョンアップしてみる(追記あり、さらに追記あり)

意味があるのかどうかは不明。以下に記録。

root@volumio:~# uname -r
3.18.5+
root@volumio:~# sudo rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10206  100 10206    0     0  20820      0 --:--:-- --:--:-- --:--:-- 30648
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
#############################################################
This update bumps to rpi-4.1.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=113753
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    166      0 --:--:--  0:00:01 --:--:--   234
100 48.0M  100 48.0M    0     0   113k      0  0:07:14  0:07:14 --:--:--  109k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.1.7+
 *** depmod 4.1.7-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 7ee23ac1452ad57dcc0ef2c1f074060b4bd9338d
 *** A reboot is needed to activate the new firmware
root@volumio:~# reboot

root@volumio:~# uname -r
4.1.7+

以前、apt-get update、apt-get upgrade を試みたら動かなくなったことがあったので今回はどうかと思っていたが、今のところ、アップデート前と変わらない感じで使用出来ている。
音がスムーズになったような気がするが、たぶん気のせいだ。

10月4日追記。
うちは今、カーネルv4.1.7+、8+、9+のvolumioが混在した状況。
HiFiBerry Digi+がv4.1.7+、v4.1.9+、RBD-02+がv4.1.8+、ともに再生自体に不具合は生じていない。
ちょっと気付いたこととして、Digi+が付いてる奴のカーネルをv3.18.5+からバージョンアップしたら、音声ファイル再生をしていない時はデジタル信号を出力しないようになったらしい。というのは、v3.18.5+だったときは、再生していない時でもFireface-UCXのインジケータが点いていたけど、v4.1.7+、9+では再生していないときは消えている。

そもそも再生していない時に何を出力していたんだろうというのは今更な疑問だけど。
再生してない時に無音の信号が出っぱなしのほうが、再生環境によってはトラブルなく再生できるという話をどこかで読んだことがあるような無いような感じだけど、もしかしたらもとのv3.18.5+のvolumio1.55はそこらあたりを配慮してたのかもしれない。

もうひとつ、カーネルバージョンアップで音が出なくなることがあるらしい、ということでメモ。
下記のサイトで報告あり。
volumio1.55 ほーりーさん版のJessie化 : 新大陸への誘い
http://tackbon.ldblog.jp/archives/52383384.html
PCで音楽: Raspbian JESSIEへアップグレード
http://asoyaji.blogspot.jp/2015/10/rasbianjessie.html
Raspberry Pi - View topic - I2C, SPI, I2S, LIRC, PPS, stopped working? Read this.
https://www.raspberrypi.org/forums/viewtopic.php?t=97314

何でうちでは起きないんだろう、とか思ってたんだけど、たった今気付いたけど、ほーりーさん版だと起きるのかもしれない。うちのvolumioはvolumioのサイトから落としたままのものだ。ほーりーさん版は試したけど、うちではDigi+から音を出せなかったので使っていなかった。
音が出なくなった場合の対策が、上記リンクのサイトに書いてある。

10月10日、追記。
改めて、i2sDACのほうでほーりーさん版を鳴らしてみた。
i2sDDCだと鳴らせなかったが、DACだと簡単に鳴る。音は一皮むける感じがする。なるほどと思った。
これをカーネルバージョンアップしてみたら、v4.1.10+になった。たしかに音が出なくなる。
上記サイトの書いてあるとおり、/boot/config.txt に下記を追加。
dtparam=i2s=on
dtoverlay=hifiberry-dac
これでリブートしたら音が出る。ちなみにカーネルバージョンアップ前に書き加えていても問題ないようだ。

気付いたことがあるんだけど、i2sDACから音を出すとras piの赤いLEDが消えてしまう。音は問題なく出ているようだ。
これはカーネルとかvolumioの種類は関係ないみたい。
i2sDDCだとLEDは点灯したままだ。他のi2sDACだと違うのかもしれないが、持ってないので不明だ。

年が明けて2016年2月4日追記。
書き忘れていたんだけどi2sDACは、その後、程なくして壊れてしまったようだ。
DACとして認識されなくなった。
volumioを入れ替えても同じである。

思えば、ras piの赤LEDが消えていたのは前兆だったのかもしれない。あいまいな記憶だけど、もともと点いていたと思うのだ。

本当に壊れたのか、再確認しなくてはと思うまま放置している。
そういうわけで、現在うちで動いているvolumioは2台になっている。ともにDigi+で運用している。

2月11日追記。
結局、壊れてはいなかった。今日、volumio1.55で普通に動くのを確認した。
赤いLEDも普通に点灯している。

ただ、今更メインシステムに戻すのもなんだか無駄な感じだ。なにか、他に使い道はないだろうかと考えているところだ。

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

Sep 08, 2015

Volumio 1.55 をいじってみる

ちょっとこれは問題あるかもということに気付いたので、エントリの最後に追記した。

備忘録として。

sshでログインした時に表示されるアスキーアート(?)は編集できる。
/etc/motd を書き換えればいい。
うちでは3つのvolumioが動いていてsshでログインするので区別がつくほうがいい。

コマンドプロンプトにはデフォルトで「volumio」が表示されている。
これはウェブブラウザからのアクセス画面:systemで設定できるplayer nameがそのまま表示されているんだけど、これはネットワーク上のホスト名と同一なので、実はASCII文字のaからzまでと0から9の数字とハイフンしか使えないらしい。アンダーバーとか使った日にはsshでログインすると(none)と表示される。

これをsshからログインして変更してみる。
VolumioのベースはRaspbianで、RaspbianのベースはDebianだから、Debianでどうやるんだろうってとこで調べたら、/etc/hostnameの変更と、/etc/hostsの変更というのが引っかかってくる。
Vine Linuxとはやり方が違う。

sudo vi /etc/hostname

volumioとだけ書いてあるので書き換える。rootじゃ出来なくてsudoじゃないといけない。

sudo vi /etc/hosts

127.0.0.1       localhost
127.0.1.1       volumio

これもvolumioとあるのを変更。リブートで反映される。
と思ったら、反映されるのはsshでログインした場合のみで、ウェブブラウザからアクセスしたときのplayer nameは変わっていない。他で記憶されてるらしい。
ウェブブラウザからのアクセスは普段使わないのでよしとする。

さて、次。
sshでログインして、pstree -acp とコマンドを打つと以下のような表示が出る。

root@volumio:~# pstree -acp
init,1  
  ├─avahi-daemon,1912
  │   └─avahi-daemon,1913
  ├─dbus-daemon,1878 --system
  ├─login,2358 -f    tty1
  │   └─bash,2359
  ├─monit,2301 -c /etc/monit/monitrc
  ├─mpd,1972 /etc/mpd.conf
  │   ├─{mpd},1973
  │   ├─{mpd},1974
  │   ├─{mpd},1975
  │   └─{mpd},1976
  ├─nginx,2322
  │   └─nginx,2323
  ├─nmbd,2091 -D
  ├─php5-fpm,2036      
  │   ├─php5-fpm,2037                                     
  │   ├─php5-fpm,2038                                     
  │   ├─php5-fpm,2039                                     
  │   ├─php5-fpm,2040                                     
  │   └─php5-fpm,2041                                          
  ├─player_wdog.sh,2328 /var/www/command/player_wdog.sh startup
  │   └─sleep,2661 10
  ├─player_wrk.php,2365 /var/www/command/player_wrk.php
  ├─rpc.idmapd,1572
  ├─rpc.statd,1560
  ├─rpcbind,1529 -w
  ├─smbd,2159 -D
  │   └─smbd,2170 -D
  ├─sshd,2223
  │   └─sshd,2636 
  │       └─bash,2641
  │           └─pstree,2662 -acp
  ├─udevd,158 --daemon
  │   ├─udevd,272 --daemon
  │   └─udevd,282 --daemon
  └─winbindd,2271
      └─winbindd,2292

とりあえず、いらないっぽいプロセスをkillしてみようということで、avahi-daemon、winbindd、smbd、nmbd、player_wdog.sh、player_wrk.php、nginx、php5-fpm、monit、udevd、と止めてみているが、音はちゃんと出ているようだ。
以下のような感じにシェイプアップされる。

root@volumio:~# pstree -asp
init,1  
  ├─dbus-daemon,1880 --system
  ├─login,2361 -f    tty1
  │   └─bash,2362
  ├─mpd,1975 /etc/mpd.conf
  │   ├─{mpd},1976
  │   ├─{mpd},1977
  │   ├─{mpd},1978
  │   └─{mpd},1979
  ├─rpc.idmapd,1575
  ├─rpc.statd,1563
  ├─rpcbind,1532 -w
  └─sshd,2224
      └─sshd,2487 
          └─bash,2489
              └─pstree,2513 -asp

音が良くなったかというと、はっきりしない。
大して比較してないからはっきりしなくて当たり前なんだけど。しかし、なんか良くなってるという感じはする。音の鮮度が上がっているような。デジタルで音が良くなるっていうのは大抵そんな感じだ。

いちいちこれをコマンド打ってやるのも一興なんだけど、この際なのでlinuxの起動過程をいじって設定してみることにした。
/etc/inittabによると、/etc/rc2.dと/etc/rcS.dを起動時に読んでるらしい。

root@volumio:~# ls /etc/rc2.d | less

total 12
drwxr-xr-x   2 root root 4096 Jul 16 07:00 .
drwxr-xr-x 100 root root 4096 Jul 16 06:58 ..
lrwxrwxrwx   1 root root   18 Jul 25  2013 K02plymouth -> ../init.d/plymouth
lrwxrwxrwx   1 root root   17 Jul 25  2013 K05rsyslog -> ../init.d/rsyslog
-rw-r--r--   1 root root  677 Jul 15  2013 README
lrwxrwxrwx   1 root root   18 May 17  2013 S01bootlogs -> ../init.d/bootlogs
lrwxrwxrwx   1 root root   14 May 17  2013 S01motd -> ../init.d/motd
lrwxrwxrwx   1 root root   15 Oct 28  2014 S01samba -> ../init.d/samba
lrwxrwxrwx   1 root root   22 Apr  9  2014 S01transientlog -> ../init.d/transientlog
lrwxrwxrwx   1 root root   17 May 17  2013 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx   1 root root   20 May 17  2013 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx   1 root root   13 May 18  2013 S16atd -> ../init.d/atd
lrwxrwxrwx   1 root root   14 May 18  2013 S16dbus -> ../init.d/dbus
lrwxrwxrwx   1 root root   18 Jul 30  2013 S16dropbear -> ../init.d/dropbear
lrwxrwxrwx   1 root root   15 May 18  2013 S16exim4 -> ../init.d/exim4
lrwxrwxrwx   1 root root   14 Oct 28  2014 S16nmbd -> ../init.d/nmbd
lrwxrwxrwx   1 root root   13 May 18  2013 S16ntp -> ../init.d/ntp
lrwxrwxrwx   1 root root   18 May 17  2013 S16php5-fpm -> ../init.d/php5-fpm
lrwxrwxrwx   1 root root   21 Oct 28  2014 S16samba-ad-dc -> ../init.d/samba-ad-dc
lrwxrwxrwx   1 root root   13 May 18  2013 S16ssh -> ../init.d/ssh
lrwxrwxrwx   1 root root   14 May 17  2013 S16sudo -> ../init.d/sudo
lrwxrwxrwx   1 root root   22 May 17  2013 S16triggerhappy -> ../init.d/triggerhappy
lrwxrwxrwx   1 root root   17 Oct 28  2014 S16winbind -> ../init.d/winbind
lrwxrwxrwx   1 root root   22 May 18  2013 S17avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx   1 root root   14 May 18  2013 S17cron -> ../init.d/cron
lrwxrwxrwx   1 root root   15 Oct  9  2014 S17rsync -> ../init.d/rsync
lrwxrwxrwx   1 root root   14 Oct 28  2014 S17smbd -> ../init.d/smbd
lrwxrwxrwx   1 root root   14 May 18  2013 S17wicd -> ../init.d/wicd
lrwxrwxrwx   1 root root   13 Oct  9  2014 S18mpd -> ../init.d/mpd
lrwxrwxrwx   1 root root   15 Oct 28  2014 S19monit -> ../init.d/monit
lrwxrwxrwx   1 root root   16 Oct 28  2014 S19myruns -> ../init.d/myruns
lrwxrwxrwx   1 root root   18 Oct 28  2014 S19rc.local -> ../init.d/rc.local
lrwxrwxrwx   1 root root   19 Oct 28  2014 S19rmnologin -> ../init.d/rmnologin
(END)

root@volumio:~# ls -al /etc/rcS.d | less

total 12
drwxr-xr-x   2 root root 4096 Jul 16 07:00 .
drwxr-xr-x 100 root root 4096 Jul 16 06:58 ..
lrwxrwxrwx   1 root root   22 May 18  2013 K81plymouth-log -> ../init.d/plymouth-log
lrwxrwxrwx   1 root root   20 May 18  2013 K81x11-common -> ../init.d/x11-common
-rw-r--r--   1 root root  447 Oct 16  2012 README
lrwxrwxrwx   1 root root   22 May 17  2013 S01fake-hwclock -> ../init.d/fake-hwclock
lrwxrwxrwx   1 root root   21 May 17  2013 S01hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx   1 root root   24 May 17  2013 S01mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx   1 root root   14 May 17  2013 S02udev -> ../init.d/udev
lrwxrwxrwx   1 root root   24 May 17  2013 S03keyboard-setup -> ../init.d/keyboard-setup
lrwxrwxrwx   1 root root   26 May 17  2013 S04mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx   1 root root   20 May 17  2013 S05hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx   1 root root   22 May 17  2013 S06checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx   1 root root   32 May 17  2013 S07checkroot-bootclean.sh -> ../init.d/checkroot-bootclean.sh
lrwxrwxrwx   1 root root   14 May 17  2013 S07kmod -> ../init.d/kmod
lrwxrwxrwx   1 root root   17 May 17  2013 S07mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx   1 root root   20 May 17  2013 S08checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx   1 root root   21 May 17  2013 S09mountall.sh -> ../init.d/mountall.sh
lrwxrwxrwx   1 root root   31 May 17  2013 S10mountall-bootclean.sh -> ../init.d/mountall-bootclean.sh
lrwxrwxrwx   1 root root   16 May 17  2013 S11procps -> ../init.d/procps
lrwxrwxrwx   1 root root   19 May 17  2013 S11udev-mtab -> ../init.d/udev-mtab
lrwxrwxrwx   1 root root   17 May 17  2013 S11urandom -> ../init.d/urandom
lrwxrwxrwx   1 root root   20 May 17  2013 S12networking -> ../init.d/networking
lrwxrwxrwx   1 root root   17 May 17  2013 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx   1 root root   20 May 17  2013 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx   1 root root   21 May 17  2013 S15mountnfs.sh -> ../init.d/mountnfs.sh
lrwxrwxrwx   1 root root   31 May 17  2013 S16mountnfs-bootclean.sh -> ../init.d/mountnfs-bootclean.sh
lrwxrwxrwx   1 root root   13 May 17  2013 S17kbd -> ../init.d/kbd
lrwxrwxrwx   1 root root   23 May 17  2013 S18console-setup -> ../init.d/console-setup
lrwxrwxrwx   1 root root   20 May 18  2013 S19alsa-utils -> ../init.d/alsa-utils
lrwxrwxrwx   1 root root   21 May 17  2013 S19bootmisc.sh -> ../init.d/bootmisc.sh
(END)

とりあえず、デフォルトの起動過程が終了したあとに要らないプロセスを止める方向でやってみる。
最初から起動させない手もあるが、それでvolumioに不具合があっても困ると思って。

rcS.dの中で止めれそうなのはS02udevだけっぽい。
udevにシンボリックリンクを張りリネームする。
[root@localhost rcS.d]# ln -s ../init.d/udev K82udev

これでK82udevがudevdを止めてくれるはずと考えたが上手くいかない。これだとudevdは止まらないようだ。
rc2.dのS17avahi-daemonでも試したが、同じ。
止めたいものは最初から止めておくしかないっぽい。しかしudevは/devを管理するデーモンなので、起動後にNASをマウントする都合上、問題がありそうな気がする。、、もう、止めなくてもいいか、、。

rc2.dのほうは最初から止めてもいいのがあるかもしれない。
S17avahi-daemonをBS17avahi-daemonにリネームする。どんなファイル名でもいい。要するにSを死活化できれば、initから読み込まれないはずだ。
再起動してpstree -aspを打ってみたらavahi-daemonは起動していない。成功だ。しかし、、、以前には見られなかったプロセスが増えている、、。atd、cron、ntpd、thd、これじゃ何をやってるのか分からない。いろんなプロセスが連携しているので、何かを動かさなかったら停止しないままだったり代わりに動くものが出てくるのかもしれない。

どうもinitの挙動をどうこうするよりも、特定のプロセスをkillするスクリプトを起動後に動かすようにしたほうが良さそうな。
でも書き方がわからないんだけど、、。

いろいろ調べて、以下のコマンドでプロセス名からプロセスIDを引用してkillできると言う事が分かった。

pgrep "プロセス名" | xargs kill

ということなら、以下のようなシェルスクリプトを実行するようにしておけば一括で不要なプロセスを終了できる。
/usr/local/binに、例えばkills.shというファイルを作る。

vi /usr/local/bin/kills.sh

#!/bin/sh

pgrep "player_wrk.php" | xargs kill
pgrep "player_wdog.sh" | xargs kill
pgrep "nginx" | xargs kill

pgrep "monit" | xargs kill

pgrep "winbindd" | xargs kill
pgrep "smbd" | xargs kill
pgrep "nmbd" | xargs kill

pgrep "php5-fpm" | xargs kill

pgrep "avahi-daemon" | xargs kill
pgrep "udevd" | xargs kill

こんな感じで。
sh /usr/local/bin/kills.sh
このコマンドで複数のプロセスをkillできる。
IDが大きいものから小さいものへの順番で止めている。順番に注意しないとkillしたはずのプロセスが復活することがあるようだ。

さて、このコマンドを/etc/rc.localに記入する。 rc.localの記載はもともとはこんな感じ。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/var/www/command/player_wdog.sh startup & > /dev/null 2>&1

exit 0

多分、exit 0の前の行に、sh /usr/local/bin/kills.sh、と書き込んでおけば何とかなるんじゃないだろうか。
と思ったら、たしかに何とかなるんだけど、余計なプロセスが残存する。
多分、スクリプトの実行が早すぎるのだろう、ということで以下のような記載に変更。

/var/www/command/player_wdog.sh startup & > /dev/null 2>&1
sleep 30;sh /usr/local/bin/kills.sh
exit 0

起動行程が全て終わった30秒後にスクリプトが実行されるという塩梅。
これで、きれいに要らないプロセスを終了できるようになった。秒数が少ないと上手くいかないようだ。

気付いたことで追記。
うちではウェブブラウザからvolumioの操作をしない前提で、mpd設定ファイルのportを6600以外に変えているので、起動の時点でupmpdcliが動かない、ということに今更気付いた。
portの設定変更なしに6600のままだったら、当然upmpdcliが動くのだけど、上記のスクリプトを使うとそれがkillされずに取り残されて、たぶん暴走するんじゃないかな、、、
#!/bin/shの下に、

pgrep "upmpdcli" | xargs kill
という1行を足せばその問題は回避されると思うのだけど。
もしもまるごとコピペして何かトラブったような人がおられたら、今更追記でごめんなさい。

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

Jul 26, 2015

Raspberry pi B+ / Volumio 1.55 の運用状況

春に転居して以降、メインのトランスポートをraspberry pi B+ / volumio1.55に移行している。
状況を記録しておこうと思う。

そもそもはi2s DACを試すために導入し音質に感心したのが始まりだった。odeon-liteは2010年代のDACに替えないといけないと思った。
さらにibook G4/vine ppc mpdがral-24192ut1を認識しない、つまり192kHz/24bitのハイレゾを鳴らせないという問題が追い打ちをかけた。持っている音源は少ないけど、聴けないじゃ困ることもある。

現在、Raspberry pi B+ / Volumio 1.55は3台。
最初にi2s出力をDAC RBD-02+に送るのが1台。次にusb出力をDDC ral-24192ut1の同軸出力経由でDAC fireface UCXに送るのが1台。
両者の音質の差異は今ではかなり少ない。ブラインドでは僕には聴き分けられないかもしれない。最初はかなり違っていたんだけど、転居して数ヶ月のうちにRBD-02+は高域強調傾向で浮ついた感じだったのが少なくなり、firefaceは落ち着きすぎでもう少しどうにかな感じがなくなった。
理由は不明。
エージングと、ras piを12mm厚のMDF板にネジ止め固定した効果は多少はあるのかも?
どんな違いを聴けるだろうかと思っていたんだけど、ほぼ同じになるとは。

ところが最近、DDC HiFiBerry Digi+を入手し使用開始している。
これも手軽に使えるキットだが、同封されてきたスペーサーが長すぎ。カッターナイフで短くして使う。ちょっと力と注意が要る。
ここから光出力をUCXに送る。
音色の感触は前からあった2つの中間ぐらい。だが若干だが情報量が多い気がする。音の陰影に深みがあり立ち上がりも早い。
同軸出力のほうがいいはずと思って聴いてみたらやっぱりそのようだ。今後は同軸で使う。

しかしそうなるとUCXの同軸入力数の関係でral-24192ut1はどこで使おうかという事になる。メインシステムからはお役御免となるのだ。
まあ、そういうこともある。どこかで使うこともあるだろう。

さて、いろいろ雑事を書いておく。
volumioのサイトからimgファイルを落としてmicroSDカードに書き込むところから。
windowsで焼くときはvolumioのサイトに書いてあるとおりWin32DiskImagerを使ってやればたいてい問題なく起動する。
問題はlinuxの場合で、うちのvine linuxだと何かと上手くいかない。

当初、rootだからいいやと思ってddで焼いて全く起動せず、sudo ddで焼いたらマシになったかと思ったけど、本当にマシになった程度である。
df -hで/dev/sdb1と表示されたらsdb1にすればいいのかと思っていたらsdbにしないと上手く焼けない。sdb1で焼いたら読めないカードができてしまう。
うまくいったと思っても起動しなかったりパーティションをマウントできなかったり不具合は多い。volumioのサイトから落としたファイルの問題かと思ったこともあったが、何回ダウンロードしても同じことだ。

そんな手間かけるよりwindowsで焼けば良かろうということなんだけど、それでもカードによっては起動してからが上手くいかない。
何か設定して再起動したら動かなくなったり。
原因がはっきりしない。
何枚か試したがカードの容量、メーカー、classなど関係ない様子。

30日追記。
関係ないわけでもなさそうだ。下記のサイトに情報がある。しかし、、うちで不具合出てるのOKになってるね、、、
RPi SD cards http://elinux.org/RPi_SD_cards

先人たちの努力の跡を見ても、SDやmicroSDとはそういうものだと達観して対処するほうが賢いようで、たまたま上手く動くカードが出来たらイメージファイルにしてバックアップしておくのが自衛策ということだ。そういうイメージを動かないカードに焼いたら動くようになることがある。
バックアップから焼くのはvine linuxでも問題ないようだ。
謎である。

そもそもSDカードでOSを動かすこと自体、不安定で無理があるという意見もあるようだ。
通常のras piのOS(raspbianなど)についてはusbメモリから呼び出し起動するという手法がネット上にはあるが、、、usb-ddcを接続した状態でusbメモリからvolumioを呼び出す試みはうちでは失敗した。起動しない。

30日追記。
volumioのフォーラムへの書き込みをみたら、似たような体験をする人は海外にもいるようだ。
Lost 2 SD Cards in 10 Days https://volumio.org/forum/lost-cards-days-t1597.html
Offload Volumio to USB? https://volumio.org/forum/offload-volumio-usb-t715.html
Filesystem for long living SD Cards https://volumio.org/forum/filesystem-for-long-living-cards-t720.html
ちょっと引用する。

The problem is that Volumio uses ext3 (if I rememer correctly) that has no Flash wear leveling support.

ほんとうかねこれは。動いてるカードもあるわけで、謎である。
raspbianはext4らしいけど、じゃあext4ならいいのかという、、、

さて、最初に戻る。
とりあえずvolumioのイメージを焼いたら、ちょっと手を入れる。
カードには2つのパーティションができている。
小さいFATのボリュームと、1.7GBのext3のボリューム。
小さいほうが起動に使われ、大きい方にvolumioの本体が入っている。
小さい方の、/boot/config.txt に以下の記述を追加。
デフォルトでは、4つのusbプラグへの総電流供給量が0.6Aになっているらしい。これを1.2Aに上げる。

safe_mode_gpio=4
max_usb_current=1

一旦起動してからsshでログインし書き込み再起動という方法もあるが、そもそもusb-dacをつないで最初の起動の時にusbへの電力供給やら設定の読み込みやらなどで電力を余計に消費してるんじゃないか、などと思っているので、起動失敗のリスクが減るんじゃないかという意味で起動前に設定を変えておこうという考え。
これを書いたからといって起動の成功率が下がることはない、と思う。

raspberry piはusbとlanの情報処理を1つのチップでしてる?という事らしく、構造的弱点らしい。そういう意味ではやはり、i2s出力を利用できたら利用するほうがトラブルは少ないんだろうと思う。
実際、うちで繰り返しトラブっているのはusb-ddcをつないでいるras piで、i2s出力につないでいる方はトラブルがない。まあ、usb-ddcをつないでいる方を中心にいじってるからというのもあろうけど、不具合が多いからそういうことになる。

一応、追記。
現在、Digi+を継いで問題なくメイントラポとして動いてるras piは、先日までusb-ddcを継がれて不具合を繰り返していた個体である。つまりras piの個体差による問題ではないということ。

起動したら、粛々とウェブブラウザ画面からアクセスして設定をしていく。
ネットワークのアドレスを固定。
AirPlayは使わないのでoffに(volumioの再起動が必要)。
ライブラリにNASを設定。
ライブラリのアップデートが済んだらウェブブラウザは閉じる。

sshでログインし、raspi-configから現在地の時刻を設定。
ファイルイメージの拡張は、しなくてもいいかな、、、
1.5Gが8Gとかになったとしても、不具合が起きるかどうかには関係無さそうだ。

ここまで上手くいっても安心はできない。
sshからrebootを打って、無事に再起動が成功すればとりあえず安心。

次にsshからログインし、/etc/mpd.confの設定書き換え。
なぜかsamplerate_converter "Fastest Sinc Interpolator"の設定が残ってるので一応#でコメントアウト。これは意味があるのかどうかわからないが。
うちでは複数のmpd、volumioを1台のノートから複数のアカウントのncmpcppで操作する都合上、ポート設定を変更。6600を6601とかに。
これでウェブブラウザからのアクセスを受け付けなくなる。
受け付けなくなるだけで、アクセスしようとしたらvolumioへの負荷はかかるんだけど。
何かウェブブラウザから設定したいことがあれば、ポート設定を戻せばアクセスできる。

敢えてウェブブラウザからの操作をしないのは、volumioの負担軽減に繋がらないかという目論見もある。
どの程度効くのか分からないが、不具合はたいていウェブブラウザでアクセスしてる時に起こるという印象がある。ncmpcpp単独でアクセスしてる時におかしくなるのは、記憶にないような気がするのだ。

しかし、そこまで言うなら、例えばRaspbian OSにmpdをインストールしたほうが安定してる可能性もあるんじゃない?という考えもあるかも。残念ながら、まだそこは試していない。
Raspbianにmpdをインストールしたあと、usb出力とかi2s出力とか設定するのかと思うと、ちょっと苦しい。そこまでする余裕があるかというと自信がない。
思えば、vine mpdだって実用にするまで相当の時間がかかったし。
そういう意味でvolumioの手軽さはありがたい。

さて。mpd.confの書き換え後、一応、sshからvolumioをreboot。
ここまで上手くいくようなら良くできたカードといっていい感じがするので、バックアップしとけばいいかも。
再起動や終了はウェブブラウザから指示しないほうがいいような気がする。気のせいかもしれないが、起動しなくなることのほうが多いような気がして。

raspberry pi / Volumioは、手軽だけど不安定なシステムだと思う。
なんでこんなの使うんだろうと思うんだけど、やっぱりそこそこ面白い上に音がいいからだろう。不安定だからといって、既成品に向かうという選択肢は逆に考えにくい。

とは言いながら、ras pi B+の場合はusb出力を使おうとしたらトラブルが多すぎる気がする。
i2sをS/PDIFに変換してというのは元の木阿弥感が強いとはいえ、usb出力より音質も安定性もメリットが大きい気がするし、当面はDigi+がメインのトランスポートになるだろうなあ、という感じだ。
今後はデーモンの切り込みとかしていければと思うけど、追々、ゆっくりだ。

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

Jun 28, 2015

VolumioのSDカード領域を拡張したのでメモ 追記:USBポートの電流出力上限を変更した

他のサイトを参考にVolumioのSDカード領域を拡張した。

http://raspberrypi.blog.fc2.com/blog-entry-25.html
http://raspberrypi.blog.fc2.com/blog-entry-86.html

今回は自分のサイトにメモ書き。

まずroot、sshでvolumioにログイン。
次に以下のコマンドで設定を変更する。

vi /usr/bin/raspi-config

292

上の画面はviエディタでファイルを開いたところ。
do_expand_rootfs()
という項目の中、
if [ "$PART_NUM" -ne 2 ]; then の「2」を「3」に書き換え保存する。これをしておかないと下記の行程が無効になる。

次に下のコマンドを打つ。
raspi-config

上の画面が出るので、1の Expand Filesystem を選択。
指示のまま再設定し再起動。数分後には領域が拡張されている。

なぜ今更こんなことしようとしてるかというと、いまひとつシステムが安定しないからだ。
i2s DACに出力してる方はいいんだけど、USBから出力してる方はなんでかすぐにクラッシュする。
多少なりともマシにならないか、ってこと。

30日、追記。

なぜクラッシュするのかつらつら考えてるんだけど、いまいちはっきりしない。
ファイルシステムを拡張して、今のところ安定してるけど今後どうなるか分からない。
というか、安定したシステムになるまで繰り返しSDカードに焼くので一苦労だ。

気付いた点。
設定変更後に再起動を要することがあるが、するならNASをマウントしてデータベースを作成したあとにすること。
これをしておかないと終了後に再起動しない。途中で止まりSDカード書き込みからやり直し。
理由は不明。
ファイルシステム拡張設定後に再起動が必要なんだけど、これをやっておかないと起動しなくなる。

SDカードの問題。
調子が悪いカードだと、正常に起動する確率が下がる。当然と言えば当然だけど。
しかし普段使えてるカードが使えなくなっていく理由がはっきりしない。負荷が増えると反応しなくなり、sshのアクセスも受付けなくなる。こうなるとカード書き換えしないと動かなくなる。
しかも、書き換えてもうまく起動しないことがある。

USBに出力すること自体が負担になっているんじゃないかと思われる節がある。
うちではRAL-24192UT1をUSB-DDコンバータとして使ってるんだけど、これに外部電源をつないで以降、多少なりとも起動に失敗することが減った。最近、他のDACやDDCだとどうなのかと思うことがある。
ちなみにRAL-24192UT1の消費電力は、電源電圧:5V(USBポート・ACアダプタのいずれかより供給)、消費電流:最大410mA、とのこと。
RAL-2496UT1は電源電圧:5V(USBポートより供給)、消費電流:最大500mAでras piで認識できなかった。
逆に、RAL-24192UT1はibookG4+mpdで認識できなかった。
ばくぜんと、前者は電力供給の問題で、後者はドライバの問題じゃないかと思っているのだけど。

とか考えてるうちに、こんなサイトが。
http://akkagi.info/20150316_web/
http://akkiesoft.hatenablog.jp/entry/20140727/1406443999
http://www.mugbot.com/2014/08/19/raspberry-pi-model-b-%E3%81%AEusb%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E9%9B%BB%E5%8A%9B%E3%82%A2%E3%83%83%E3%83%97/
いじってみたら変化があるだろうか。
それにしても、普段使いの装置であれこれいじるのはクラッシュ後の復旧が辛いので出来ればやめたい、のだけど、どうしようか、、。

7月16日追記。タイトルも追記。

上記のサイトを参考にUSBの電流上限を変更した。
特に問題なくvolumioは動いている。
Ras piの掲示板へのリンクは以下。
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=81736&start=50#p577877

/boot/config.txt に以下の設定を追加。
safe_mode_gpio=4
max_usb_current=1

Ras pi B+は、USBポート4つトータルで使える電流の上限がデフォルトでは0.6Aに設定されている。
設定を変更することでこれを1.2Aに変更できるとのこと。
これがUSB-DDCをつないでいる時の負担軽減につながるかどうかは明らかじゃないけど、安心材料ではあるかも。

Posted at 18:29 in audio_diary | WriteBacks (0) | Edit Tagged as:

Nov 26, 2014

I2S DACとRaspberry Pi B+を導入 - Volumioでcue sheetを使う方法

11月中旬から、Raspberry Pi B+ / Volumio を弄っている。
I2S出力による音声再生には興味はあったが後回しにしてきていた。
始めたら手が掛かりそうな印象だったのと、音がいいとは言ってもDAC交換が出来ないというのは気に入らないという気持ちもあった。
しかし手軽そうなキットがあったので、やってみようということになった。
あと、聴いてみないことには何ともいえないというのもある。

実際に聴いてみたら、これは評判になるのが当たり前だと思った。
cue sheetが使えないと思っていたが、外から他のクライアントでアクセスしたら簡単に使用できた。これは非常に助かる。

さて。
まずRaspberry Piを入手。
DACは下記のサイトで扱っているのにした。
Raspberry Pi model B+ 用 DAC カード RBD-02+ LINUXCOM ネットショップ
関連サイト。
Raspberry Pi Model B+ で I2S DAC を動かす Linux Computing

このDACカード、RBD-02+は半田付けなしでRaspberry Pi B+に接続することが可能。
実際に触ってみて思ったのは、ピンに刺すのが意外に大変ということ。
I2S信号がきている40ピンのピンヘッダにDAC基板を刺すのだけど、かなり固い。慎重に力を入れないと針が曲がりそうだ。外すのも気をつけないと針を折りそうだ。
ネジ止めもちょっと力が要る。
そうは言っても、手軽で簡単に組み立てることが出来るキットだと思う。

VolumioのOSはmicroSDに書き込んで使う。
http://volumio.org/
Get Started
上記のサイトにやり方が書いてある。
VERSION 1.51をダウンロード。
解凍しimgファイルを、上記サイトの「FLASH IT」の項目、LINUXに書いてあるとおりにmicroSDに書き込む。
これをRaspberry Piに刺して、LANに継ぐ。
電源のmicro USB端子にケーブルを継ぐ。

Ras Pi本体の赤と緑のLEDが点灯しっぱなしで、何も起きない。
DACのLEDはかなり明るい。まぶしい、、。
ウェブブラウザでvolumio.local/にアクセスを試みるも繋がらない。
ここで気付く。
LAN端子のLEDが点灯していない。アクセスなんか出来るわけがない。

これは壊れてるか?
http://www.raspberrypi.org/downloads/
上記サイトからNOOBSをダウンロードしてみる。
これはRas PI純正?のOSインストーラだ。
問題なく順調に起動し、RaspbianがmicroSDにインストールできた。問題なく動く。
Ras PiのLEDはどれもきれいに点滅している。

ここで気付いた。
NOOBSをSDカードに書き込む際にはFAT形式にフォーマットしないといけないと、解凍したファイルに書いてあった。
FAT形式のmicroSDに、もう一度Volumioを書き込んで起動を試みてみる。
前と同じで何もおきない、、、
ext3、ext4でもだめだった。
Volumioのバージョンを落としてみる。1.4、1.5、、、起動すらしない。

ここまではVine Linux 6.1で試みていた。
数日後、気持ちを切り替えてWindows7で試みる。
Volumioのサイトに書いてあるとおり、Win32DiskImagerでFAT形式にイメージを書き込んでみる。
今までのことが嘘のように起動した。
ようやくウェブブラウザからVolumioのコントロール画面を拝むことが出来た。

何でこんな顛末になったのか、よく分からない。
Vine Linuxで作ったFAT形式に何か問題があったのは確かだろうけど、今の時点では再現性の検証をしていない。
何でNOOBSが動いてVolumioがだめだったのかもよく分からない。

2015年2月11日、追記。
Volumioが1.55にアップデートされているし、諸般の事情で再度マイクロSDにVolumioを書き込んでみた。
やはりvine linuxのddコマンドでやると上手くいかない。
Windows7で書き込むと問題なく動く。
これは他で聞かない問題だし、当方で特有の問題なのかもしれない。

記述忘れを追記に追記。
Volumio1.55では前述のDACボードはまだ試していない。

7月13日、追記。ようやく原因がわかった。
いつもそうだが、分かったらバカみたいな話だ。

僕はrootだったら何でもできるというふうに理解していた。
でも、実はそういうわけではなかったということだ。
このトラブルの最初から僕はrootで作業していて、
[root@localhost abk1]# dd bs=1M if=/Download/Volumio1.55PI.img of=/dev/sdb みたいな感じでコマンドを打っていた。
rootだからsudoは要らないと思っていた。
ふと思い至って、
[root@localhost abk1]# sudo dd bs=1M if=/Download/Volumio1.55PI.img of=/dev/sdb と打ったら、問題なく動くカードができた。
rootでもsudoが必要だったのだ。

1年以上前のエントリーに追記。
上記のsudoで上手くいくというのは一瞬の思い込みだった。やっぱり上手くいかないことが多い。謎のままだ。

何はともあれ、Volumioは起動した。

ひとつだけ、困ったことがあった。Volumioの通常のコントロール画面からは、flacファイルはPlaylistに読み込むことが出来るが、cue sheetを読み込むことが出来ない。
うちの音楽ファイルの殆どはCDからリッピングしたflacとこれに対応するcue sheetだ。
cue sheetが読み込めないようだとCD1枚分のflacファイル毎しか選択できない。
曲の選択が出来ないのは、とても不便だ。

Volumioにsudo、sshでアクセスして、少し調べてみる。passはvolumio。

root@volumio:~# mpd -V
Music Player Daemon 0.19.1
(中略)
Playlist plugins:
extm3u m3u pls xspf asx rss soundcloud cue embcue

Volumioのmpd自体はcue sheetに対応している。
ローカルで使われているmpdクライアント(mpcらしい)が対応していないために、使えないということらしい。
だったら外からcue sheetに対応してるクライアントでVolumioにアクセスしたらどうか。
うちでメインに使っているncmpcppはcue sheetに対応している。

ncmpcppのconfigファイルの、mpdサーバのIPアドレスを書き換えてVolumioにアクセスしてみる。
VolumioのPlaylistが表示された。アクセス成功。
NASの階層を辿り、cue sheetをPlaylistにaddすることも可能。再生も問題ない。
ncmpcppからVolumioを操作してcue sheetを使用することが出来た。

ここで、ウェブブラウザからVolumioにアクセスしてみる。
ncmpcppで表示されていたとおりに、cue sheetに記載されている曲がPlaylistにずらりと表示されている。
曲の選択、再生、削除もウェブブラウザから可能だ。
ウェブブラウザからのアクセスではcue sheetをPlaylistに加えられないが、加えられてしまえばそれ以外の操作は出来る、ということらしい。

今回、「cue sheetに対応したmpdクライアント」という情報は意外にないということに気付いた。
うちで使っているncmpcppとgmpcは対応していることが分かっている。
他はどうか知らない。
Volumioでcue sheetが使えないのを理由に諦めている人がおられるようなら、こうしたクライアントを使ってVolumioを操作したらいいと思う。

ちょっと追記。
ncmpcppは、0.5.8 (2011-10-11)でcue sheetに対応している。
mpdは、ver 0.16 (2010/12/11)の時点で対応しているようだ。libcueなしでよくなったのはver 0.17 (2012/06/27)からだと思う。

関連リンク。
Music Player Daemon
Clients

音のほうは、あちこちで評価されているとおりだと思う。
今後のコンポの構成を考えないといけない。

でも、Ras Piの音を聴く前に、新しいDACを注文してしまっているのだ、、、まあ、DACとして使わなくても他で使いようがありそうなのでいいのだけど、、、

Posted at 19:44 in audio_diary | WriteBacks (0) | Edit Tagged as: ,
Page 1 / 31 :  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Next › »