お知らせが三つありますので、分けて書き込みます。内容は
①zImageの改版について
②公開版のノイズ、動きがギクシャク問題の対応策について
③boticised-lightmpd-upnp-v3版のディフォルト設定について
です。
なお、①、②の問題点に関しては、「rpiでつくるupnpアダプタ」スレッドでinthedark さん、kensさんより貴重なアドバイスを頂きました。お二人に感謝します。関連する書き込みの先頭部分はここです。
http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5674#5813" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5674#5813
①zImageの改版について
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/zImage-botic-103-v03-h.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/zImage-botic-103-v03-h.zip
playerのzImage(-botic-103-v03-h)を改版します。USB Gadget Support を削除しました。
本来adaptrとしては不要な機能なので、削除しました。これがadapterとしての動作にどういう影響を与えるのかは不明ですが(^^;;;、とりあえず気分よく使えるので、改版されることをお勧めします。リンク先のアーカイブを上書きすれば、okです。
②公開版のノイズ、動きがギクシャク問題の対応策について
polipoのrt優先度の指定に誤りがありました。以下の通りplayer側とadapter側の /mnt/scripts/upnpset.sh の44行目をコメントアウトして下さい。
# chrt -p -f 49 `pgrep polipo`
usb処理とpolipo処理でcpuを独占しmpdが動けなくなり、ノイズが発生したり、コントロールポイントの動きがギクシャクするという問題を引き起こしたということです。usbを使うとpolipoが暴れ回ると気が付いていたのですが、mpdまで巻き込んで騒動となると気が付かなかったのが敗因でしたね。以下のリンク先にも情報はあります。
http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5660" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5660
これはバグですので、確実に修正する必要があります。
③boticised-lightmpd-upnp-v3版のディフォルト設定について
アップロードミスでboticised-lightmpd-upnp-v3版のディフォルト設定がdplayoになっているものが登録されているようです。スタンドアロンで使いたい方は以下の通り解凍した設定ファイルを修正して下さい。
nano /mnt/scripts/myscript.sh を以下の通りコメントアウト
------------------------------
### To activate second line for player mode, comment in from here
# ifconfig $ETH up
# ifconfig $ETH $IPADD
# ifconfig $ETH netmask $NETMASK
# d-otg to activate usb-otg line for double lines player, comment in from here
# ifconfig usb0 up
# ifconfig usb0 $IPADD
# ifconfig usb0 netmask $NETMASK
------------------------------
nano /mnt/lightmpd/lightmpd.conf 以下の通りコメントイン&アウト
------------------------------
### for standalne from here^M
interface=eth0^M
address=192.168.0.20^M
netmask=255.255.255.0^M
gateway=192.168.0.0^M
nameserver=192.168.0.0^M
domain=mydomain.jp^M
### for player from here^M
# interface=eth0^M
# address=10.0.0.2^M
# netmask=255.255.255.252^M
# gateway=10.0.0.1^M
# nameserver=192.168.0.0^M
# domain=mydomain.jp^M
------------------------------
nano /mnt/lightmpd/polipo.conf 以下の通りコメントイン&アウト
------------------------------
### for standalone from here
#proxyAddress=0.0.0.0
proxyAddress=127.0.0.1
allowedClients=127.0.0.1
### for double line player from here
# proxyAddress = 127.0.0.1
# allowedClients = 127.0.0.1
# parentProxy = 10.0.1.1:8123
------------------------------
nano /mnt/uEnv.txt 以下の通りコメントイン&アウト
------------------------------
initrd_file=/boot/uInitrd-br-upnp-stand
#initrd_file=/boot/uInitrd-br-upnp-stand-arch
#initrd_file=/boot/uInitrd-br-upnp-player
#initrd_file=/boot/uInitrd-br-upnp-player-arch
------------------------------
ちなみに前書き部分のリンク先でplayerとadapterのeth0回線を対向接続し、usb.lanアダプタ回線をインタネット回線する設定の議論をしていますが、内容は以下の通りです。
接続方法は以下の通りとなります。
BBG adapter eth0 <--> BBB player eth0 ==upmpdcli
usb.lan(eth1) <--> ==internet
usb-otg dual-role(usb0) <--> BBB player Host-only usb0 ==polipo
設定変更はadapter側のみです。以下の通りとなります。
nano /mnt/lightmpd/lightmpd.conf interface=をeth1に変更
------------------------------
### for standalne from here^M
interface=eth1^M
address=192.168.0.20^M
netmask=255.255.255.0^M
gateway=192.168.0.0^M
nameserver=192.168.0.0^M
domain=mydomain.jp^M
------------------------------
nano /mnt/scripts/myscript.sh 対向接続に変更
------------------------------
#!/bin/sh
#
ETH=eth0
IPADD=10.0.0.1
NETMASK=255.255.255.252
------------------------------
nano /mnt/lightmpd/upmpdcli-adapter.conf インタネット回線をeth1に変更
------------------------------
upnpiface = eth1
------------------------------
ついでに、player側ですが、nano /mnt/scripts/myscript.sh を以下の通りコメントアウト(バク修正)
### To activate second line for player mode, comment in from here
# ifconfig $ETH up
# ifconfig $ETH $IPADD
# ifconfig $ETH netmask $NETMASK
この状態で、ディフォルトの設定の場合と同じ手口で、eth0の対向回線をpolipo回線に変更することも可能です。性能的にはこれが最強となります。
音の印象はそれぞれの設定で微妙に変わります。試してみて、印象などお聞かせ下さい。
第一報です
改定ありがとうございます
以下の報告になります
①私の場合①の上書をするとアダプターBBGが立ち上がりません。もとに戻せば立ち上がります。私の接続方法が間違っているのかな。後でまた接続方法を報告します。
②②のコメントをしたところ、WAV44.1,96k問題なし192k以上ノイズの発生dsd128途切れることなし、flac192K問題なし、flac352k3,4分のちに音がぶれる(今までにない現象)
③コントロールポイント(upplay)ロックなし、ただし、時に再生レスポンスが遅れることがある(3,4秒の遅延)
④音質は以前のBBG=BBGと変わらない
以上が①②の報告になります
これから最強にチャレンジ
① zImage-botic-103-v03-xと接続方法の矛盾が発生しているのだと思います。
h が マイクロB端子側、d が A端子側になっていることを確認して下さい。
② > flac352k3,4分のちに音がぶれる(今までにない現象)
これは今までは問題なく再生されていたということでしょうか。
③ コントロールポイントによって、数秒の遅れは僕の環境でも発生しています。usbの負荷が上がったことにより、発生するのだと思いますが、理屈が分かりませんね。
④ rt優先度が適正化されたことに変化があるかと思ったのですが、案外影響が無かったようですね。
第二報です
今回は従来型の改良型(A)、新しく作られたplayerとadapterのeth0回線を対向接続(B)として比較します
①音質的には相反する表現ですがBはクリヤーかつ厚みが増した。実際は同時比較をしないと分からない感じ
②Bはコントロールポイントとの通信レスポンスが少し遅い感じ(①ハイビット曲の進行状況秒数が正常になるのが遅い②曲飛ばしのレスポンスが少し遅い)
③共にWAV92k、flac192k、dsd128まで途切れることなく再生、flac352kについては今まで調べていませんでしたがAはブツブツ状態になるのが遅く、Bは再生5,6後に発生。②の影響かな
④コントロールポイント(upplay)のロックはAでは今までになし、Bではflac352kの時に発生したことあり
⑤Bにして電源の基板付けが不安定となり、外部電源をマイクロUSBに接続、安定したboticの立ち上がりとなっている。私のAの接続方法が間違っていたのかも。
以上、今までに短時間ながら聞いた感想です
私はBにしようと思っています
最後に今一番気になっているのは電源で、一本のラインからBBG+BBG+DACへの供給は精神的に何とかしたい、分離供給をしておられる方がみえたらご教示いただきたい。
改訂版のzImageで,DSD128の再生がBBG=BBGでpolipoとupmpdcli回線を逆接続にしなくても,正常に再生するようになりました。
さらにeth0回線の対向接続ですが,中低域の厚みと,弾力感が増したと思います。Upplayの動作については,再生開始数10秒までは,秒数が3~4秒ごとにカウントされるなど,レスポンスは遅いようです。1分もすれば正常になります。
96khz24bitファイルの再生は変わらずノイズです。(私の録音の第九です)
sugi-さん
電源の供給ですが,一本のラインだけからの供給だと大きな容量のACアダプタを使っても不安定でした。それでOTGケーブルのA側にUSB給電アダプターを入れたところ安定するようになりました。アイ・オー・データのUSB-ACADP5です。
コントロールポイントがレンダラーとどういうやりとりを行っているのかよく分からないのですが、このやりとりがスムーズに行えないので、トラブっていることは間違いなさそうです。この処理はmpdとupmpdcliが行っていると推定されます。というわけで、mpdのrt優先度を変えてみました。お知らせの④となります。
④mpd優先度の見直しについて
nano /mnt/lightmpd/mpd.conf
realtime_option {^M
memlock "yes"^M
stack_reserve "2048"^M
heap_reserve "10240"^M
main_priority "OTHER:20"^M
player_priority "FIFO:53"^M
decoder_priority "OTHER:20"^M
update_priority "OTHER:20"^M
main、decorder、updateのプライオリティを上げてみました。それなりに効果はありましたが、まだ完全ではないですね。
「④mpd優先度の見直しについて」ありがとうございました。
効果のほどはYoさんと同じです
電源の件ですがプレーヤーBBG基板に直付けで問題ないようです。私がトラブったのは容量不足のためでした。
player_priority "FIFO:53"^M
decoder_priority "FIFO:20"^M
update_priority "FIFO:20"^M
とFIFOを明示した方がよいようです。
連日の改良ありがとうございます
難しそうですね
44.1kWAVは6,7秒から安定した表示になりますね
最近の改良によってflac352kが安定した再生してくれるようになりました。11分の曲でも「ブツブツ」が無くなり気持ちよく聞けます。
今回はflac352kで進行状況秒表示を調べてみました。
①安定するまでに約1分かかる、dsd128とほぼ同じ時間
②4分程度の曲だとそのまま安定状態で進行する。時に短時間秒表示が乱れる事象もみられる
③11分の曲だと5,6分後に約30秒ほど乱れてその後安定状態になることがある
④不安定中では停止ボタン等レスポンスが鈍る
今までの所、この様な感じです
①BBGをフロントエンドとし、付属のotgコードで、BBBをバックエンドとする方式 コントロールアプリからレンダラーが認識できなくなる現象がなかなか収まりません。とくに、Ipadなどの、無線LANを使い短時間でスリープ状態になる端末でコントロールポイント(Kazoo Bubble-upnpなど)を動作させた場合に、有線LANのPCからのコントロールと比べて、不具合に多く起きる印象です。otgコードの先に電源付きのusbハブを挿入すると、だいぶ良くなりますが、それでも1時間程度動作後、この現象が起きることがあります。
②逆にBBBをフロントエンド、BBGをパックエンドとする方式。USB miniBプラグの付いたotgホストアダプターを使用し、電源は、BBBの5V電源アダプター用端子とBBGのmicro USB端子に、独立して供給しました。こちらの方が安定しています。
やはり、供給電源の安定性が問題なのでしょうか。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v3-1.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v3-1.zip
改版内容は以下の通りです。
updating: lightmpd/mpd-0.20.7rt-arch (deflated 51%)
updating: boot/uInitrd-br-upnp-stand (deflated 1%)
updating: boot/uInitrd-br-upnp-stand-arch (deflated 1%)
updating: boot/uInitrd-br-upnp-player (deflated 1%)
updating: boot/uInitrd-br-upnp-player-arch (deflated 1%)
mpd-0.20.7rt-arch はmoctさんの公開されたものをそのままアーカイブしてあります。
障害に関する情報は
https://groups.google.com/forum/#" target="_blank">https://groups.google.com/forum/#!topic/lightmpd/PtxMxBqDC9E
にあります。
p.s. コントロールポイントの動作がギクシャクするという問題が残っていますが、これはdigififanさんのpolipoの改版とは無関係の問題です。ネットワーク構成、ハード構成、ソフト構成、性能、dlnaプロトコルなどが複雑に絡み合って発生する問題のようですが、BBでは根本的な解決は困難かなと思っています。詳しくはそのうちまとめるつもりです。
改訂版ありがとうございます。
私の192k wav音源は問題なく再生されました、ありがとうございました。
コントロールポイントの動作がギクシャクする件は確かにネットワーク構成、ハード構成、ソフト構成、性能等によって変わってきますね。
私がトライした中では、linux-upplay それも軽量なものwatts Watt OS R10で有線LANを使用した状態が良い状態でした。
ありがとうございました。
BBG=BBGで音出ししました。ボリュームを上げてKinki Kidsを流したら、家族に「何か変えたと?」気づかれました。
いい音を楽しんで聴いています。
ja7jtz さんが紹介された USB外部電源供給アダプタ(IOデータのUSB-ACADP5)にエルサウンドの電源を使うと音質の向上を感じました。
※エルサウンドの電源プラグのサイズがUSB外部電源供給アダプタと合わないので変換アダプタを挟んでいます。
外部電源を使うので USB 外部電源供給アダプタの USB オス端子の電源線とアース線を絶縁しました。わずかに音がすっきりしたように感じました。
絶縁は USB オス端子のピンにメンディングテープを貼っただけです。
以下の記事を参考にしました。アース線の絶縁のリスクも書かれています。
「無料でできるPCオーディオでのUSB電源ノイズ対策による音質向上(低下防止)」
http://diatone-nikon.blogspot.jp/2014/12/pcusb.html" target="_blank">http://diatone-nikon.blogspot.jp/2014/12/pcusb.html
改訂版で24bit96khzのwavファイルがノイズなしに再生できるようになりました。
週末出かけており,掲示板だけを見ていて楽しみにしておりました。ありがとうございました。
しかし,以前問題のあった再生が途切れる現象がまた発生するようになりました。再生初めに何回か途切れて再開し,数10秒もすると安定するのですが,数分するとまた途切れることがあります。
これも依然と同じでpolipo回線とupmpdcli回線を入れ替えると回避することができました。
t-taさん
USBの外部給電アダプタを使うと,音質向上だけでなく動作も安定すると思います。
アース線の絶縁ですが,私の素人考えですが,アースは信号の基準電位ですから,USBデータの基準がなくなって宙に浮いてしまいます。ただし,USBの2本のデータ線は差動信号なので問題はないのでしょうが,絶対的な電位も状態識別に使っているので,問題が生じる可能性があります。単なる外来ノイズの問題だけではないと思いますが,問題なく動作しているなら良いでしょう。
USBアイソレーターでアースも電源も分離してしまうのが一番良いと思いますが,また試していません。
sugi- さん
> コントロールポイントの動作がギクシャクする件は確かにネットワーク構成、ハード構成、ソフト構成、性能等によって変わってきますね。
最近、iPad air を入手し、LuminやKinskyなどAndroidでも動くアプリを試してみました。ギクシャク度合いは微妙に異なりますね。そうじていえば、iPadの方が成績はいいようで、スムーズに動きます。ただ、それでもギクシャク度ゼロにはなりませんね。
t-ta さん、お久しぶりです。
BBB二台構成の音はいいですね。音量が大きくなっているというのもそういう印象を与えるのかもしれませんが、スタンドアロンに対し、解像度や迫力も随分上がっていると思います。
> ja7jtz さんが紹介された USB外部電源供給アダプタ(IOデータのUSB-ACADP5)にエルサウンドの電源を使うと音質の向上を感じました。
以前書きましたが、僕は電源外部供給型で頑丈な作りのUSBハブを使っています。電源部分にiPurifierを入れることで強化しています。usb-otg接続方式の場合、player側からadapter側に電源を供給するなら、何らかの対策は必須ということだと思います。
ja7jtz さん
> しかし,以前問題のあった再生が途切れる現象がまた発生するようになりました。
ちゃんと再生出来るようになったので、再生中断問題が再発するようになったということだと思います。僕はeth側を対向接続させ、こちらをpolipo回線として使っていたので、気が付きませんでした(^^;;;。これを標準接続とするアーカイブで公開した方がよさそうですね。
ethの対向接続ですが,こちらでも正常に音が出ますし,音の力強さとリアリティは一番だと思います。
ただ,曲の再生初めにたまにプチっと音が入る場合と,Upplayの動作が非常に不安定になります。私の環境では最初に曲を選択して,演奏を開始すると「応答なし」のままになります。
なのでethは対向にしないで,polipo回線とupmpdcli回線を入れ替えて使っています。
情報ありがとうございます。
eth対向接続はUpplayとの相性が悪いのですか。知りませんでした。となると、ディフォルトの設定にするのは問題ありですかね。
設定方法を丁寧に解説するという方法が穏当ですかね。
Upplayの動作は,その都度異なっていて,再現性がないようです。V3の時に問題ないと報告したのですが,V3-1で「応答なし」なったので,V3に戻したのですが,やはり「応答なし」になってしまいました。
ただ,私の環境だけかもしれませんが,何回も動作確認をした結果,プチ音や再生途切れがないのはeth対向にしないpolipo回線とupmpdcli回線を入れ替えた場合だけでした。
私の設定方法が間違っているのかもしれないので,詳しい設定方法を解説していただいた方がありがたいです。
Upplayの動作に「再現性がない」と書きましたが,どうも2台のBBGの起動のタイミングに関係しているような気がします。adapterには別電源で供給するときは,その電源供給のタイミングによって動作が変わります。
Player側から供給する場合だと,Playerが起動してusbが認識されたところでadapter側に自動的に給電されますが,Player側のmicroSDをclass不明の安物から,TranscendのClass10のものに変えたところ,かなり安定して動作しています。adapterの方はノーブランドのclass4です。
dlnaコントローラーについてはdlnaMusiConというのを見つけて使ってみましたが,これがかなり安定しています。曲間でブチっと入りますが,タイム表示やpause,stopはしっかり効きます。何回かpauseやstopをすると,レンダラーが不明というメッセージを出してコントロール不能になりますが,dlnaMusiConを再起動すればコントロール可能になります。
Upplayは応答なしになるとBBGをsshでpoweroffするしか回復手段がないので,とても良いです。
Upplayの不安定の件ですが
ご指摘のとおり不安定要因は①電源問題②コントロールポイントのロックがあります。
①の電源問題は私も経験しました
〇電源容量不足による不安定化
・トランス7V、2Aを使用して整流、安定化した電源は不安定
・トランス8V、2Aを使用するとかなり安定
・計測メイカー(菊水)安定化電源(2A)の使用かなり安定
・何れもプレーヤ側のbbg基板に直付け
私のは3段重ねですから電流は安定時には0.8~0.9Aほど流れています、電源投入時には一時的にかなり流れるため余裕のある電源でないと電圧がドロップしてしまいます。それが不安定化の要因となると思うのですが。
電源投入時の流れは電源on→プレーヤーbbg立ち上がり、同時にDAC電源供給→アダプターへOtgから電源供給→立ち上がり
②コントロールポイントのロック
・yoさんの指摘のように「 コントロールポイントの動作がギクシャクするという問題が残っていますが、これはdigififanさんのpolipoの改版とは無関係の問題です。ネットワーク構成、ハード構成、ソフト構成、性能、dlnaプロトコルなどが複雑に絡み合って発生する問題」ですね。私は現在pcはlinux-upplayとパッドはBubbleUPnPです。最新版にしてから比較的安定しています。
今回の最新版にしてから私の装置はかなり改善しました
① wavの曲間プチノイズが出なくなりました(flacはもともと問題なし)
② 曲の時間飛ばしができるようになりました
③ Upplayが少し安定してきた
この様に感じました
「人様に報告だけさせておいて、お前のところはどうなのだ」といわれそうなので、僕のところの状況です。
BBB(adapter)、BBG(player)、eth側を対向接続、polipo回線に設定している環境で、ja7jtz さんの128DSDのベートーヴェンをUpplayを使って再生した時の状況です。
- 再生は普通に開始されるが、時刻表示は10秒~20秒位だんまり(ゼロのまま)。
- その後、暫くの間(開始後40秒から60秒位まで)、4秒位の間隔で周期的に更新。
- その後は時刻表示は1秒周期で正常に更新、ただし多少ギクシャクする感じはします。
手持ちの64DSDの再生だと
- 再生は普通に開始。
- 時刻表示は開始後40秒位、4~8秒位の間隔で周期的に更新。
- その後は時刻表示は1秒周期で正常に更新、ただし多少ギクシャクする感じはします。
コントロールポイントをiPad Luminにすると、128DSDの再生でも
- 再生は普通に開始
- 時刻表示は開始後20秒位、4秒位の間隔で周期的に更新。
- その後は時刻表示は1秒周期で正常に更新、ただし多少ギクシャクする感じはします。
となります。
次にwavファイル再生。
- 44Kwav、Windows Upplay、iPad Lumin 共に問題なし。
- 96Kwav、Windows Upplay、時刻表示、開始後10秒位、4秒位の間隔で周期的に更新。その後は安定
- 192Kwav、Windows Upplay、時刻表示、開始後20秒位、4秒位の間隔で周期的に更新。その後は安定
- 96K/192Kwavwav、iPad Lumin、問題なし。
電源ですが、BBG(player)は外部電源供給型のUSBハブからの供給。BBB(adapter)は ja7jtz さんご推奨のIOデータ社のケーブルを間に入れ5v3aを外部から供給しています。ただし、外部電源を供給しなくても、短めのmini b端子で繋げば、問題なく動きます。音は、当たり前かもしれませんが、外部供給の方が良くなります。
以前、「BBBはusb-otgの子側になれないので、adapterとしては使えない」と書きましたが、間違えでした。usb-otg対応のmini b端子がありますので、これを使えば、BBGと同じようにadapterとして使えます。訂正しておきます。まあBBGはmirco b端子、BBBはmini b端子とややこしいのですが(^^;;;。
しかし何が原因なのか、さっぱり分からんですね(^^;;;。
動作中の不安定さ,ギクシャク以前に起動時の問題が悩んでいます。
BBG=BBGの2台のBBGの起動タイミングとその後の状態です。
adapter側を外部電源にしている場合は,何となくのタイミングで電源を供給していますが,それだと正確なことが分からないので,外部電源を使わずにotgケーブルのでの給電にしました。
電源はiPad用の5V2Aのものですがsugi-さんの報告では電流容量が足りないかもしれません。
試したのはadapter側,player側のそれぞれでmicroSDを変えてみることです。microSDは手持ちのToshiba 16GB class10,Transcend 8GB class10,PQI 4GB class4,Toshiba 4GB class4ですが,組み合わせによって以下の3パターンがあります。
①正常に再生可能。
②dlnaMusiConからレンダラーもサーバーも指定はできるが再生できない。adapterからplayerにpingは通る。
③dlnaMusiConからサーバーの指定ができるがレンダラーの指定ができず,再生できない。adapterからplayerにpingは通らない。
これまでは実験用として4GB class4の安物ばかり使っていたのですが,class10のものも使いだしたところ,②や③の不具合が多発するようになりました。
どちらかがclass10だと確実に②か③です。両方ともclass10だと③が多いです。
class10のカードは読み書きともに非常に早いですね。その早さがうまくつながらない原因になっているのではないでしょうか。
本家lightmpdのAPU=APUでは特に意識せず2台の電源を入れて問題はなかったと思います。microSDは1GBや2GBのスピード表示もないものです。
起動のタイミングについての疑問が解消しました。
adapterを別電源にして起動順をどうしたらよいかと思い,まずはadapterを起動して,十分に時間が経過してからplayerを起動したところ音楽を再生せず,
その逆の順番でもダメだったので,別電源にしない時と同じようなタイミングでadapterを起動しないとダメであると思い込んでいました。
しかし改めて試してみると,adapterを起動させ,十分に時間が経過してからplayerを起動させれば問題なく音楽を再生することが確認できましたし,再現性もあります。
考えてみれば当然のことだと思います。
microSDの組み合わせについては,adapter側に遅いmicroSDを使うとダメということは,先にadapterを起動すべきという原則に反してしまうからなのでしょうか。
また,この起動順を守れば,ethの対向接続でも全く問題なく再生しています。
こうして正常起動した後のUpplayの状態については,yoさんの報告と全く同じです。ただしdlnaMuziConの方が秒の進み方などはスムーズだと思います。
私の勘違いで,見当はずれの報告をしてしまいました。申し訳ありませんでした。
ただし,タイミングによっては,再生はするのに,コントローラーが「応答なし」になるのはなぜなのでしょうか。
コントールポイントの種類でかなり動作状態が変わりますね。
パッド系のソフトの方が動きがスムーズになるような感じです。
ところで、再度教えて頂きたい件があります。mpdを切り換えるの件ですが、2017/3/4の「botilized lightmpd UPnP版を公開します」の記事の中で説明してある「/mnt/scripts/mpdset.sh arch19|arch20|light19|light20}」で変更するとboticが見えなくなってしまいます。以前のバージョンでは良かった記憶があります。
また、mpd-0.20.7追加のマクロ?も説明していただけないでしょうか。
> パッド系のソフトの方が動きがスムーズになるような感じです。
ですね。ベストはipad Luminですかね。僕の意見は別のスレッドに書きましたが、ノイズが出るとか再生が中断するということがなければ、経過時間表示は無理をしない程度でベストを尽くしていればいいのではないでしょうか。二台構成の構成の奥の奥から情報をとってこようというのだから。
> mpdを切り換えるの件ですが、
arch99->light99切り替え時のスクリプトのバグですね。とりあえず、uEnv.txtの
#initrd_file=/boot/uInitrd-br-upnp-stand
#initrd_file=/boot/uInitrd-br-upnp-stand-arch
initrd_file=/boot/uInitrd-br-upnp-player
#initrd_file=/boot/uInitrd-br-upnp-player-arch
の行と
lightmpd.confの
[mpd]^M
# load_module=mpd-0.19.21rt-native-dsd^M
# load_module=mpd-0.19.21rt-arch-dsd^M
# load_module=mpd-0.20.2rt-arch^M
load_module=mpd-br-01921^M
# load_module=mpd-br-02004^M
が整合性がとれるようにして下さい。正規表現で書くと
uInitrd.*archならmpd-.*arch.*
uInitrd[^ach]*ならmpd-br.*
にして下さい。
mpd-0.20.7については
uEnv.txtを
#initrd_file=/boot/uInitrd-br-upnp-stand
#initrd_file=/boot/uInitrd-br-upnp-stand-arch
#initrd_file=/boot/uInitrd-br-upnp-player
initrd_file=/boot/uInitrd-br-upnp-player-arch
lightmpd.confの[mpd]を
load_module=mpd-0.20.7rt-arch
として下さい(この行以外のload_moduleは全てコメントアウト)。
moctさんのサイトで公開されている20.8や20.9でも同じはずです(動くかどうか分かりませんが)。
マクロのバグ修正についてはこれから考えます。
お久しぶりです。
こことdigififanさんのところではいつも興味深く読ませていただいています。
UPnP版とUPnP-Adapter版の設定方法についても読ませていただきましたが、当方ではそこにない5パターン目のネットワーク構成「USB-OTG 2回線によるBB間接続」を実現しています。
技術共有としてイメージを公開しますので今後のお役に立てていただければ幸いです。
【イメージ格納場所】
https://drive.google.com/file/d/0B9LSJY9xM01jMzhaODBjUlMwUlk/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B9LSJY9xM01jMzhaODBjUlMwUlk/view?usp=sharing
【ファイル名】
bb-upnpgw-botic-20170612.zip
例によってlightMPD v1.0.2をベースにさせていただいています。インストールに迷うことはないと思いますが、ポイントだけ書きます。
【手順】
①confフォルダ配下のsystem-image.txtを参照し、設定したいネットワーク構成を確認。
②confフォルダ配下の機能毎の設定(lightMPDフォルダ、uEnv.txtファイル)をトップフォルダに上書きコピー。
③Player機能以外の場合、コピーしたlightMPDフォルダ内のlightmpd.confファイルにある[network]設定を環境に合わせて修正。
【注意事項】
・USB-LANアダプターは使用しませんので、LANでの送り出しには対応していません。
・コントロールポイントの表示については遅延が発生します。アダプター側がLANから音楽データを取得している際にidolがゼロとなりリクエストを処理できないようです。
・起動順は問わないようにしたつもりですが、心配であれば他の方とは逆ですが、プレイヤー>アダプターの順で起動してください。
・MPDのバージョンは0.20.9rtです。
・再生可能な形式はflac、dsd、wavのみです。
大変興味のある「第5のパターンのネットワーク構成「USB-OTG 2回線によるBB間接続」の投稿ありがとうございます。
早速トライしてみます
ところで、電源供給の件ですがusbが使えないわけですが、どのようにされていますか。
①片方のbbg基板に直付け
②両方のbbg基板に直付け
③その他の方法
よろしくお願いします
当方bbb+bbgの環境で確認してますが、
③bbbへのACアダプタ経由(容量は5V2A)
で電源供給しています。
bbgへはbbbのUSB(TypeA)経由での供給となりますが問題なく動作しています。
また、
③bbb、bbgそれぞれのUSB(TypeA)へUSB外部電源供給アダプタ装着
でもしっかり動作していました。
イメージの公開ありがとうございます。(助かります)
donuts.shop73さんの環境では5つのパターンで音質に差異
のようなものが感じられるでしょうか?
donuts.shop73さんのベスト1みたいなものがございましたら
教えてください。
inthedark
素晴らしいイメージの公開ありがとうございました。
本日午後から時間が取れましたので早速組み込んでみました。
多少の戸惑いがありましたが、比較的スムーズにインストールできました。
もちろん、第5パターン「USB-OTG 2回線によるBB間接続」で行いました。
気が付いた点です
①Wav(192k 24bitまで)flac(352k 24bitまで)dsd128まで共にノイズが出ることなく問題なく再生できます
②コントールポイントの動きはスムーズです、dsd128でも比較的スムーズ
③曲間プチノイズ、曲の再生時間変更プチノイズ等は発生しておりません
④Rendererがboticじゃなくてlightmpdなんですね、再度インストールがまともか見直してしまいました
⑤音質はboticに比べ中低域が締まった感じ、好みの問題でしょう。素晴らしい音質です
⑥電源はbbgの基盤直付けですが、アダプター、プレーヤーどちらに付けても問題ないようです。一度、基板毎につけてみようと思っています。
もう少し聞き比べてみます。
ありがとうございました。
「usb-otgのタスキ掛け接続」を試してみました。これは素晴らしいですね。この構成は思いつきませんでした。まさに「目から鱗が落ちる」という言葉がぴったりの内容です。
音に関しては「usb-otgのタスキ掛け接続」と「eth0カウンター接続」がベストを争うという感じですかね。こちらの方が落ち着いた音がすると思いました(特にDSD再生)が、もしかするとmpdの版の違いに起因するのかもしれません。
BBB=adapter、BBG=playerという構成で聞きました。電源はBBBの電源アダプタに供給する方式(5V2A)。BBB/BBG/DACを三段重ねするとBBB正面からBBG裏面をマイクロusb用otgケーブルで繋ぐ必要があるのですが、BBGに添付のやつだとちょっと短すぎるのですよね。ステレオサウンド社ムックについてきたケーブルを使ったらピッタリでした。いずれにしてもマイクロusb用otgケーブルとミニusb用otgケーブルのタスキ掛け接続ですむというのはシンプルでいいですね。
システムの構成の仕方については、やはりsyssetup.scmで全ての設定を行うという方法がスマートで、いいですね。uInitrdも一つで済んでいますし。
中味を拝見して、頂戴できそうなら、ハイジャック(^^;;;するかなと考え、uInitrdを展開しようとしたのですが、うまくいきません。
yo@ubuntu:~/test$ file ../uInitrd
../uInitrd: u-boot legacy uImage, img, Linux/ARM, RAMDisk Image (Not compressed), 13136670 bytes, Mon Jun 12 08:15:46 2017, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0x3050492F, Data CRC: 0xB786CFA8
yo@ubuntu:~/test$ sudo mount -o loop ../uInitrd /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
となり
yo@ubuntu:~/test$ dd if=../uInitrd of=../initrd bs=1 skip=72
13136662+0 レコード入力
13136662+0 レコード出力
13136662 bytes (13 MB, 13 MiB) copied, 21.6374 s, 607 kB/s
yo@ubuntu:~/test$ cpio -id < ../initrd
cpio: ....は不正な形式の数です
・・・
となってしまいます。
やり方を教えて頂けますか。
zImageをstandalone、upnpgw、playerで分けられていますが、これは最適化を図っているということでしょうか ? まあ、
zcat /proc/config.gz > /var/config
で調べればいいんですが、不精をして(^^;;;質問です。
ところで、NEO2を発注しちゃいました。player/adapter用に使えない場合の保険に nas kitとセットで。BBと比較してどんな音がするか楽しみです。
uInitrdの展開は下記で出来ます。
digififanさんの所で公開されているuInitrd作成手順と若干異なっていますので、同じ手順では展開できません。次回があればそろえようと思います。
【uInitrd展開手順】
# tail -c+65 < uInitrd | gunzip > uInitrd.out
# mkdir img
# cd img
# cpio -id < ../uInitrd.out
※imgディレクトリ内に展開されます。
zImageを分けているのは、yoさんの言われるとおり最適化しています。sound、lan、usbの有無で変えています。ここまでやる必要があるのかどうかは不明ですが、気分的にやってます。
【zImageの違い】
standalone:soundあり、lanあり、usbなし
upnpgw:soundなし、lanあり、usbあり
player:soundあり、lanなし、usbあり
ご回答ありがとうございます。
syssetup.scmを見られるようになりました。これは基本的にはapuのものを移植されたのかと思います。このまま使うというのが、正解のようですね。buildroot側の手順の修正が必要になりそうなので、どうするか思案しています。
zImageの中味も拝見しました。
usb-otgの指定ですが、親子両方を指定するというやり方になるのですね。両方指定するのはまずいのかと思っていましたので、ビックリしました。Boticized lightMPD UPnP版とlightMPD UPnP-Adapter版も、usb-otg「タスキ掛け接続」にこれだけ対応して、あとは設定ファイルで対応させる方法がとれそうですね。こっちの方が簡単かなと思っています。
手持ちのdsdファイルをいろいろ再生してみました。音はほんとうに素晴らしい。良いソフトを公開して頂きありがとうございました。
今回の「USB-OTG 2回線によるBB間接続」の公開は、皆様方の技術共有の賜物ですね。私は外野で見てるだけ、そしてタダ食い状態でした。これからも、皆様の共有化の基で素晴らしいものとして頂ければと思っております。
今回は1つのレポートとお願いがあります。
〇レポート
コントロールポイントの活用
私は現在DACは違いますがbbg=bbgの2回線接続の装置を2台使用しております。それぞれをLANに繋いで電源を入れれば当然のことながらコントロールポイントから2個のRenderer(botic+lightmpd、lightmpd +lightmpd)が見えてきます。
1台のパッドでRendererを交互に選択することもできますし、パッド+pcで個々のRendererを選択(同じRendererは選択できません)音楽を再生することができます。アンプ入力はCD,AUX等に接続し切り替えて音出しができます。同じDACを載せておればboticとlightmpd比較ができます(同じDACを2台との方はまずみえないと思いますが)
私は気分でDACを切り替えて聞いていります。
注意点
①1台でRendererを切り替えるときは再生を停止してから,(自動で停止してくれる)コントロールポイントもあります(Hi-Fi cast等)
②Upplay、Lumin、Hi-Fi cast等では同じRendererでは区別がつかなくなります(lightmpd+lightmpd)、BubbleUPnPではIpアドレスが付加されるので区別ができます
もうすでに行ってみえる方もおられるかと思いますが、参考までに
〇お願い
今回のdonuts.shop73さんの音はyoさんのダブルラインでMPDをmpd-0.20.7rt-archにした時の傾向に似ています。yoさんのレポートで「mpdの版の違いに起因するのかも」とありましたが、yoさんの「mpd-br-02004」に切り替えて比較することはできますでしょうか
質問の意味が良くわかっていないのですが、以前質問された「mpdを切り換えるの件」であれば
http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5831#5866" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5831#5866
を参照して下さい。
mpd-0.20.9rt-archの音を聞きたいということであれば、moctさんのサイトのこの記事
http://kickcoffee.org/kicktick/2017/06/09/%e3%82%b9%e3%83%94%e3%83%bc%e3%82%ab%e3%83%bc%e3%81%aa%e8%a9%b1%e3%80%80%e3%81%9d%e3%81%ae%ef%bc%92%e3%80%80%e5%8e%9f%e7%90%86%e6%a8%a1%e5%9e%8b/" target="_blank">http://kickcoffee.org/kicktick/2017/06/09/%e3%82%b9%e3%83%94%e3%83%bc%e3%82%ab%e3%83%bc%e3%81%aa%e8%a9%b1%e3%80%80%e3%81%9d%e3%81%ae%ef%bc%92%e3%80%80%e5%8e%9f%e7%90%86%e6%a8%a1%e5%9e%8b/
のリンク先にあるものが uInitrd-br-upnp-player-arch で動かすことが出来ます。
あと前半部分の「当然のことながらコントロールポイントから2個のRenderer(botic+lightmpd、lightmpd +lightmpd)が見えてきます」の意味も分からないのですが、コントロールポイントに見えるレンダラーの名前は僕のupnp版であれば、/mnt/lightmpd/upmpdcli-adapter.confの
friendlyname=Botic
ohproductroom=Botic
の名前を変えれば、変えることができます。
私の版でMPDのバージョンの違いを確認したいとのことであれば、MPDのバージョン違いを用意しましたのでご利用ください。
【格納先】
https://drive.google.com/file/d/0B9LSJY9xM01jTnJUZjJEVEYwRU0/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B9LSJY9xM01jTnJUZjJEVEYwRU0/view?usp=sharing
【ファイル名】
mpd_20170614.zip
解凍したファイルを全て lightMPD フォルダに格納してください。
lightmpd.confファイルの [mpd]セクション、load_module項目の設定変更で切替可能です。
load_module=mpd-0.20.9rt-upnp
mpd-0.21-upnpはrealtimeオプションが使用できませんので、これを指定した場合は
mpd.conf_0.21ファイル を mpd.conf へとリネームしてください。
元々の版に含めていたのを含めると以下4種類がそろいます。
0.19.21、0.20.4、0.20.9、0.21
0.21のrealtimeオプション以外全て同じオプションでコンパイルしています。
また、レンダラーの名前は lightmpd.conf ファイルの [upmpdcli]セクション、display項目の設定変更で変更可能です。
回答ありがとうございました
私の説明不足のようでした
①レンダラーの名前の件はお二方の説明により変更可能と理解できました。解決しました
②MPDのバージョンの件はyoさんには以前質問の回答をいただき解決済。donuts.shop73 さんのシステムは今回の回答により解決
お手間をおかけしました
素晴らしいファイルの公開ありがとうございました。早速、BBB+BBBで試しました。コントロールポイントは、ipad--Lumin、Android---Bubble upnp です。どちらも安定sでぃています。
なお、3年ほど前に、degifiのおとさんのページの書き込みを参考に、SDカードからの起動を容易にするために、内臓のeMMCのMLOをリネームしていましたが、そのままの状態では起動せず、MLOをもとに戻したら起動しました。yoさん提供のファイルではこのような現象はなかったので、不思議ですね。
donuts.shop73 さんとyoさんの聞き比べをしてみました。
MPDは0.20.4です。手法が違えど基本構成は同じ、ほとんど同じ音を出しています。MPD0.20.9の設定では少し違うと思っていたのですが、やはり同じMPDではほとんど変わらないです、素晴らしいです。
donuts.shop73さんのMPDバージョンの違い
①0.20.4と0.21は同じ系統の音出し、0.21の方が厚みが出でいる感じ
②0.20.9は素直な音出し、オールマイティーな感じ
③個人的には0.21が一番好き
④0.19.21は聞きませんでした
⑤0.21でのみ気になった点flac352k,192k24bitで再生途中からブツブツが出て、背後に音楽が聞こえる状態になります。WAV192k、DSD128では問題なし
この様な個人的感想です
両システムともレンダラーの名前は変更できました。ありがとうございました。
RaspberryPiをクライアントで使う時に
UPnP対応音楽再生プレーヤーソフトって無いでしょうか?
ちなみにArchlinuxをinstallして使っていて
ARMで使えるものが見つかりません
(たとえばUpplay見たいなもの)
以前、僕も同じようなことを考え調べたことがあるのですが、残念ながら目ぼしいものはありませんでした(特にコンソールだけで動くシンプルなもの)。
GUIだと、Upplay、eezUPNP、dlna:MusiConというところですかね。後の二つはJavaがないと動かないと思います。
Upplay ARMではソースからでもインストール出来ない。
eezUPNP なぜか動作しない(^_^;)javaの設定かな...
dlna:MusiConをとりあえずUbuntu16.04.02で試したのですが
Twonkey Serverを認識しない。
mediatombじゃないと動作せず(泣)
あきらめきれずRaspberryPi2のArchlinuxへインストールしてみたら
連続再生に問題があるもののTwonkey Serverを認識して動作しました(^_^;)
http://www.eezupnp.de/index.html" target="_blank">http://www.eezupnp.de/index.html
このプレーヤーソフトを使えばWindowsから完全に切れて
快適になれるかも知れません(^_^;)
情報ありがとうございます。
javaなんですね。linuxのjava-GUI環境が無いので、とりあえず、Windows版を動かして見ました。Upplayよりちょっと重ためですが、まあ使えるかなという感じですね。操作性はとても良いと思いました。
linux環境だとどうなのか、試してみますかね。
sugi- さん
> ところで、愚問かもしれませんが、こんなことができませんでしょうか。
sugi- さんのメッセージの直前に僕が書き込んだメッセージの後半部分が「こんなこと」です。
理屈としては出来るはずです。但し、usb-lanアダプタ二台ではなく、usb-lanアダプタ + usb-otgケーブル(BBGに電源ケーブルとしてついてくるやつ)です。以下の書き込みが参考になると思います。
http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5674#5729" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5674#5729
sugi- さんの場合、BBG電源の供給をp9(p8?、どうされているのか、教えて下さい)の電源供給ピンに直接入れていらっしゃると思いますが、usb-otgケーブルを使った場合どうなるのかよく分からないです。ハードに詳しい方にご教授いただけると幸いです。
iPhoneのACアダプタの紹介ありがとうございました。これと適当なフィルターを組み合わせると、「鬼に金棒」かもしれませんね。
bbを使ったadapterですが、とりあえず現行版を公開します(v2-3対応にアップする必要があるので、少しお待ちください)。otg版は気長にお待ちください(BBGハードの調達が必要なので)。
bbgの電源の件ですが、p9の1,2ピンが-、5,6ピンが+接続としています。
Bbg-bbg接続の公開お待ちしております。
usb-otgケーブルで繋ぐと、繋いだ相手から電源の供給を受けることになるので、ピンからの電源供給とループ状態となりまずいのではないでしょうか。このあたりがよく分からないのですよね。
私も電子回路には疎いものですから良くわからないです。専門の方にサポートをお願いしたいものです。
基板に直付け電源の場合Bbgに向かって電源を供給タイプは不味いと思い、bbgから電源を供給するusb-LANアダプター2個で行えないかと思った次第です。
専門家のアドバイスをお願いします。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/lightmpd-upnp-adapter-v2-3.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/lightmpd-upnp-adapter-v2-3.zip
内容は以下の通りです。
adding: MLO (deflated 43%)
adding: u-boot.img (deflated 51%)
adding: uEnv.txt (deflated 65%)
adding: lightmpd/lightmpd.conf (deflated 71%)
adding: lightmpd/polipo-adapter.conf (deflated 42%)
adding: lightmpd/upmpdcli-adapter.conf (deflated 27%)
adding: lightmpd/sysctl.conf (deflated 34%)
adding: boot/zImage-botic-103-v02 (deflated 1%)
adding: boot/uInitrd-br-upnp-adapter (deflated 1%)
adding: boot/dtbs/am335x-boneblack-botic-103-v02.dtb (deflated 77%)
adding: boot/dtbs/am335x-boneblack-botic-sabre32-103-v02.dtb (deflated 77%)
adding: scripts/myscript.sh (deflated 71%)
adding: music/GlennGould/001_Italian-Concerto_BWV971_I.Allegro.flac (deflated
以下略
変更したのはuInitrd-br-upnp-adapterだけですが、動かすための全ての構成要素をアーカイブしてあります。従って、このままlinix環境でブートフラグオンのfat32フォーマットしたsdカードに展開すれば、使えるはずです。
公開ありがとうございます。
アマゾンに注文していたusb-LANアダプターが明日到着予定です。明日中には音出しが出来るようにと早速SDに書き込んでおきました。
何せこの種のソフトはサル以下の能力しかありません、分からないことが出てくると思います。
ご教示ください。
BBB用のadapter2-3を公開していただきありがとうございました。
早速BBG-BBGで試してみました。はじめAdapterの方が起動しなかったのですが、microSDにブートフラグを付けるのを忘れていたためでした。
Player側をsplayにして、Adaptor側はipadressを書き換えだけで、再生できるようになりました。DSD128の2GB超も問題ありません。
ただ、前回APU=BBGで解決したはずのkinskyでpauseが効かないとか、複数の曲を連続再生しないという不具合がまた復活して、APU=BBGでもBBG-BBGでも同じ状態です。
結局電源の問題でもないようで、何か私の環境に問題があるのだと思います。
APU=BBGとBBG-BBGの音の差は、リアルタイムで比較できないのではっきは分かりませんが、大きな違いは感じられませんでした。これからじっくりと聞いてみたいと思います。
ありがとうございました。
> ただ、前回APU=BBGで解決したはずのkinskyでpauseが効かないとか、複数の曲を連続再生しないという不具合がまた復活して、APU=BBGでもBBG-BBGでも同じ状態です。
テスト確認中に同じような現象が僕の環境でも発生しました。従って、ja7jtz さんの環境独自の問題ではなく、Windows Kinskyの問題だと思います。Upplayではこの現象は発生しません。ただし、Kinsky側がおかしくなるとboticが見えなくなることがあります。Windowsも関連する問題かもしれませんね。
ようやく、音を出すことが出来ました。も少し苦労するかなと思っていたんですが、比較的簡単に音出しが出来ました。
肝心の音の件ですが、誰かさんが最初に音を出した時に「ウォー」との表現をされましたが、まさにその通り、中低域に厚みが出て、高域がより繊細にとの感じです。すごくいい音になっています。しかし、192k以上のWAV音源はノイズが出ます。思い切ってflac音源に変換した方が良いかもしれませんね。そうすれば曲間のプチノイズ出てきませんから。
もう一点、私の場合upplayとの相性が悪いのか、曲の進行状況が表示されません、BubbleUPnPでは表示されます。ですが、曲を飛ばした時など、情報表示に時間かかるようです。
明日から3段重ね(下からbbg,bbg,dac)にしてケースに入れるため穴あけ作業に掛かります。
ありがとうございました。
私もUpplay(windows10)をインストールしてみました。
するとpauseも連続再生も問題なくできました。bbg-bbgを再起動することなく、KinskyとUpplayを交互に使ってみましたが、KinskyでダメでもUpplayは正常です。
やはりKinsky側の問題(相性?)のような気がします。
sugi-さんの報告のUpplayで進行状況の不具合については、再生初めの20秒位までは、再生は正常ですが秒数が飛び飛びで表示されますが、それ以降は1秒刻みで表示されます。
sugi-さんのように私も1つのケースに入れようと思っていたのですが、先を越されてしまいそうです。
音については昨日からずっと聞いてますが、低域が充実していて音に乗れます。また、高域がきつくなく繊細なのが良いですね。
ありがとうございました。
昨日bbg-bbgプレーヤーを組み立てた後じっくり音楽再生を行いました。その中で出てきた問題点をまとめてみました。
①音質は素晴らしい。Mpd arch20,light20では私の好みでarch20
②コントロールポイントupplay, BubbleUPnPが時々固まることがある
③②の場合、24bit、DSDの様な容量が多い音源が起きやすい
④②の状態ではプレーヤーbbgのLANのアクセスランプが点灯したままとなる
⑤②の場合、Mdp arch20の状態の方がlight20より起きやすい
⑥②の場合boticがコントロールポイントから見えなくなる
⑦②の場合フロントbbgのリセットで回復する
⑧②の場合、複数の曲を連続再生しているときよりは、ステップで曲を送ったときに起きやすい
⑨②の場合、フロントbbgのLAN能力の不足のように思われる?
⑩Apu-bbg,Apu=bbgでは②の様なことは起きていたのでしょうか
Apu-bbg,Apu=bbgで試したいのですが、Apuの値段、サイズがネックとなってしまいます。
以上、私が今までに気が付いた点です。私の設定ミスがあるかもしれませんので確定ではありません。
一回線モードだとインストールは楽ですね。
バックエンド側をスタンドアロンモード(インストール直後のディフォルト)で立ち上げ
/mnt/scripts/upnpset.sh splay
として、あとはフロント側の[network]のipaddressを設定(192.168.0.n ならディフォルトのままでもよい)すればいいだけですから。
Windows環境ではUpplayが一番安定していて、音も良いような気がします。Android環境だとUPnPlayが安定しているのてですが、dsd再生に対応していないのが玉に瑕なのですよね。
digififanさんのpolipoパッチで、何故これだけ音が良くなるのか謎ですが、ともかく素晴らしいですね。コンバクトにシステムをまとめたい方にはお勧めだと思います。BBGとDACで三段重ねにすれば、小さくできそうです。
私も2日間だけですが、BBG-BBGのlight20で音楽を楽しんでおりますが、Upplayを使うようになってからは問題は少ないです。
固まるのはWAV24bit96khzの再生の時で(192Khzのものは持っていないので試していません)ノイズだけで音にならず、Upplayが固まります。そこでUpplayだけ強制終了し再起動させると、再生を止めることができ、ノイズも止まります。次にそのままで(どちらのBBGの再起動なしに)WAV16bit44.1KhzなりDSD128を問題なく再生します。
APU=BBGでも同じような状態です。DSD128で問題が生じたことはありません。
以上報告です。
3段重ねの改修が終わり、一つの電源スイッチONで起動できるようになりました。
電源はフロントBBGに3端子レギュレータを使用した簡単なもの、バックのBBG+DAC(B3D-A4495)には秋月の可変安定化電源+超ローノイズ電源を使用しています。超ローノイズ電源はつけなくても音質には影響がないようです。気休めに付けたもののようです。後はヘッドホンアンプのための±12V電源を付けています。ヘッドホンとプリアンプ用RCA端子の切り替えはリレーで行っています。
電源関係の発熱が少し多いようですが、この時期ではヒートシンクに触れても熱いとの感じはしません。今後のことを考えてケース底部に穴を多くあけて対流によるクーリング対策をしようと考えています。
ケースの寸法はW19,H11,D26(cm)とコンパクトに出来上がったと思っています。
本当にこれだけ安価に、簡単に組み立て、音質が良いのが出来るようになるなんて「ビックリもん」です。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-4.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-4.zip
修正内容は
-----------------------------------------------
v2.3でも一部のwavでノイズになるとの報告があったので、さらに見直しを行いました。
こちらでは現象を確認できないため効果の程はわかりませんが、もしかするとwavに対してはさらに悪くなっている可能性もあります。
効果がなかったとしてもwavのノイズに関してはこれで終わりになります。
------------------------------------------------
ということです。
内容は以下の通りです。
yo@ubuntu:/mnt$ sudo zip /home/yo/boticized-lightmpd-upnp-v2-4 \
> boot/uInitrd-br-upnp-stand boot/uInitrd-br-upnp-stand-arch \
> boot/uInitrd-br-upnp-player boot/uInitrd-br-upnp-player-arch
adding: boot/uInitrd-br-upnp-stand (deflated 1%)
adding: boot/uInitrd-br-upnp-stand-arch (deflated 1%)
adding: boot/uInitrd-br-upnp-player (deflated 1%)
adding: boot/uInitrd-br-upnp-player-arch (deflated 1%)
残念ながら僕の環境ではノイズに関して状況の変化は無です。皆様の環境ではどうか、ご報告よろしくお願いします。
新しいバージョンの公開有難うございます。
私のシステムでもwavファイル192k以上はノイズが出ています。前回のものと変わりません。
ところで、dejifaiさんはどの様なサーバーを使用してみえますか。
当方でも、残念ながら状況に変わりはありません。でも、digififanさんのご努力は無駄では無かったですね。以前にも書きましたが、ここ最近の版の音は大変素晴らしく文句の付けようがありません。
今後は、この最新版とapu + BBBの組み合わせをメインしていこうと思っています。
私も大容量電源に変えて正常になったと思ったら、翌日はだめだったりと、電源の問題ではないような気がします。
結局、kinskyからUpplayに変えて問題がなくなりました。
yoさん
V2.4でもWAV24bit96khzでノイズになってしまうのですが、もしやと思いそのデータを32bitに変換したところ、正常に再生しています(第9のwavデータをSound Engine で変換)。24bitなのに32bitで処理してしまうのが問題の原因ではないのでしょうか。
動作報告ありがとうございます。だいたい同じ結果のようですね。まとめてlightmpdの掲示板には報告しておきます。
ノイズの件ですが、digififanさんの環境では発生していないようなので、dlnaサーバが原因の可能性はあります。しかし、僕の環境でも、apuのみの構成であれば発生しない(同じdlnaサーバです)ことから判断すると、サーバの可能性は薄いです。rpiでどうなのか分かると、もう少し切り分けられるのですがね。
24bit wavで発生するということは間違いないです。flacであれば、発生しないこともありますが、僕の環境では自作録音の24bit flacファイルでも発生しています。
えふ さんが指摘の「digififanさんのご努力は無駄では無かった」に同感です。v2.x版は版数を上げる毎に音が良くなっていますね。矛盾する表現ですが、迫力と透明感が両立してアップしていると思います。
BBGを2台使った構成でスタックして構成するとコンパクトな音楽システムが簡単に構成出来ていいですね。対向させるLANケーブルは超短のものを自作(結構大変)でしょうか。
boticized-lightmpd-upnp-v2-4の公開、ありがとうございます。
こちらを適用すると、組み込まれてるminidlnaのmusicディレクトリをKinskyが認識しなくなりました。
スタンドアロンで使用しています。
私の環境だけでしょうか?
v2-4でminidlnaの振る舞いが変わることはないはずです(特に変更していないので)。
ps aux でminidlnaが立ち上がっているか確認してもらえますか。
すみません。こちらの環境で確認したら、minidlnaは動いていないですね。こちらで調べてみます。
原因は判明しました。作業ミスですね(^^;;;。ご報告ありがとうございました。
修正ですが、usb-otg対応させる次版で行うつもりです。よろしくお願いします。
24ビットDACか32ビットDACか・・・BBGにlinuxcomさんのブリッジ基盤をのせ、ES9023とPCM5102のDACを載せ替えても、どちらも同じ
DLNAサーバーによるかどうか・・・RockDisk NextのminidlnaでもRaspberryPi3のTwonky8.4でも同じ
という結果でした。他に考えられる環境があれば試してみたいのですが、どうも違うような気がします。
ところで、今回、試しにRaspberryPi3にTwonkyをインストールしましたが、とても簡単にできてしまいました。また、起動も、データベース化も速いので驚きました。HDDはUSB接続になるのと、長時間安定して運用できるかどうかは不明ですが、これだと24時間電源を入れっぱなしにせず、音楽を聴くときだけ起動すれば良いと感じました。RockDiskNextや他のNASだと、その都度起動やシャットダウンを繰り返すのが逆に不安です。
Newバージョンの公開ありがとうございます。
3点ほど質問させていただきます
①電源の供給ですがusb-otgの関係からホストからのみの供給となりますか
②「Single line player mode の場合はusb0だけになります。」とのことですが、これはusb-otgを使用することになるのでしょうか
③「BBG(adapter) をホストにすることも可能です(ハードの制限で single line player での動作となりますが)。詳しくはそのうちこちらに書き込みするつもりです。」がBBG=BBGは難しいですか
時間の空いた時で結構です、よろしくお願いします。
もう1点質問お願いします
当方BBGの持ち合せしかありません
「BBG(adapter)-BBG(player) であれば、uEnv.txt の kernel_file= を入れ換えることで、BBG(adapter) をホストにすることも可能です」とのことですがどの様に書き換えたらよろしいですか
よろしくお願いします
NEWバージョンありがとうございました。
usb-otg接続をどうしたらよいのかわからなかったのですが、何のことはない、BBG付属のただのmicroUSB-USB TypeAの変換ケーブルだと思っていたのですが、これでBBG-BBBを直結するだけで良いのですね。感激と驚きでした。
このOTGケーブルとUSB-LANアダプタでdouble-line接続をして音出しをすることができました。
音は奥行きと広がりが一段と増して、響き・余韻がきれいです。私の拙い録音のレベルが数段上がったように感じます。
ただし、DSD128を再生していると、不定期にブチッと音がして再生が途切れます。ただし数秒以内に復帰します。500MB、2GBの壁ではないと思います。バッファの調整で直るような気がしますが、まだ試していません。
また、第九の第四楽章を再生し終わったら、次の曲の再生ができなくなってしまい、どうにもならずBBG=BBBを再起動しました。
24bit96khzWAVの再生はやはりノイズでした。16bit44.1khzWAVは何の問題もありませんでした。
ところで、私の録音ですが第九の下の方に2つのリンクがあるのですが、ぜひ、そちらの方も聞いてください。エマイユ・フィルハーモニックの方にはマーラーの9番がありますが、この第1・4楽章は2G超です。また、白鳥の湖は聞いていて楽しいですし、オーディオチェックにも良いと思います。チャイコフスキーのヴァイオリン協奏曲もなかなかだと思います。
もう一つ、第九の第2回~第6回バリトン独唱の高橋正典さんは、最近TVのカラオケバトルで有名になったイケメンオペラ歌手です。第九の独唱も回を重ねるごとに上手になっていることがわかります。ファンも増えているようですので、この録音が広まることをちょっとだけ望んでもいます。
BBG(otg子 adapter)-BBG(otg親 player)-i2s接続音源 の繋ぎ方は公開した版で問題なくできます。
BBGに付いてきた電源供給用のotgケーブルを使ってBBG-BBGを繋ぎます。この時、ケーブルのAオス側を音源が繋がっているplayer側のusb A端子に、ケーブルのマイクロBオス側をadpter側のusbマイクロB端子に繋いで下さい。
BBGを二台お持ちであれば、BBGケーブルは2本あるはずですから、残ったもう一本のケーブルを使いplayer側に電源を供給して下さい。
この時、adpter側のusbマイクロB端子は電源供給(プレーヤ側から供給されることになる)とデータの伝送の二つの用途のために、player側のマイクロB端子は電源供給のための一つの用途のみに、使われることになります。ハードの制限といっている理由はこれです。
BBG(otg親 player)-BBG(otg子 adapter)-i2s接続音源 の繋ぎ方は可能ですが、上記のハードの制限でplayer側でusb-lanアダプタが使えなくなり、Single line player modeとなります。やり方はadapter側の kernel_file=zImage-botic-103-v03-h として、player側の kernel_file=zImage-botic-103-v03-d として、下さい。hは host only mode、dは dual modeの意味です。
「不定期にブチッと音がして再生が途切れます」は僕のところでも発生しています。トラックの切れ目で確実に発生します。polipo回線をusb-lan回線に設定すると発生しなくなりますので、rt優先度の問題かなと思っています。
mpd.confでバッファ容量や先読みの割合をどう変えてもダメで、コントローラーPlayボタンを押してから、実際に再生が開始されるまでの待ち時間の長さから考えても、やはり速いはずのusb-otg回線での転送が追い着いていないのだと思います。
それでpolipo回線とupmpdcli回線の入替をしてみました。APUの時と同じ方法ですが、BBGのadaptor側ではpolipo-adaptor.confとunmpdcli-adaptor.confの書換をしました。
すると、yoさんのおっしゃる通り、DSD128でも再生の途切れはなくなりました。
usb-otgが本来のパフォーマンスを発揮すれば、その方が音質的に有利だとは思いますが、私はDSD128優先なので、こちらの設定で行くことにします。
演奏中の状況をtop画面で観察すると、ディフォルトの状態でpolipoバッファが200MB程度となっていますので、実質的にオンメモリ状態での再生となっています。従ってバッファ不足になることはあり得ません。
usb-otg回線でNG、usb-lan回線でOKというのは不思議なのですが、player側からみるとusb-otg回線はUSB機器、usb-lan回線はlan機器と見えますので、多分この差が問題を引き起こしていると考えられます。
となると説明は長くなので、省略しますが、USB機器とlan機器に対するrt優先度の差がトラブルの原因と考えられますので、このあたりを調整すれば解決すると思います。
ここのところ僕はCD再生がメインでDSD再生の機会が少なくなっているのですが、そのうち時間をとって調べてみるかなと思っています。
だいぶ苦戦しております
①最初にAdapter側の基板上電源を使用すればBBG=BBGができると思い試行錯誤してみましたがやはりダメ。usb-otgと電源の影響があると思われ起動がおかしくなりなります。ハード上の制約が出てしまいました。やはりBBB=BBGでしかできないようです。でもまだ電源をどこかに繋げれば出来るんじゃないかなと独り言をつぶやいでいます。
②上記を半分あきらめてBBG-BBGにしてみました。BBGが立ち上がらなくなってしまいました、yoさんの助言kernel_file=zImage-botic-103-v03-dはkernel_file=/boot/zImage-botic-103-v03-dと思い、変更、立ち上がるも内蔵minidlnaが立ち上がるがBoticが見えてこない状況。これも内部電源接続ではダメ。マイクロUSBからの供給しか駄目のようです。
③しばらくusb-otg のシングル接続の挑戦。BBBの購入と行きます。
最初からBBBで行ったほうがすんなり進んだようです
④基板上の電源接続は電子回路に詳しい方のご指導をお願いしたいところです
以上現状報告です
第二報です
BBG-BBG usb-otg版ようやく音出しができるようになりました。私の勘違いだったようです。
ところで、音質ですが良くなっています。私の装置では中低域がしっかり出てきているよう思います。
以下、私の報告ですあくまでもBBG-BBGシングル状態です
①Wav44.1,96k(24bit)問題なし、192kノイズ状態
②DSD128、192kflac再生されるがja7jtzさんの報告と同様途中で途切れ、復帰する状態があります
③どの音源も再生開始動作をさせてから約4秒後に再生されるようで、以前のBBG-BBGUSB-LANアダプタ版に比べレスポンスが悪いです
④コントロールポイントがロックする割合が増えた(③の動作の関係から)
⑤電源はマイクロUSB供給でしか動作しない(当然のことかも)私の場合BBG+BBG+DACで定常時約0.6A流れているよう、IPhoneの電源アダプターでは少し温かくなり物足りないようなので、実験用安定化電源を使用している。やはりDACは個別電源にしたい
⑥Wav 96k(24bit)の再生でノイズが出る方が多いようですが、私の音源はhttp://www.lessloss.com/bach-sonatas-in-st-martins-church-p-197.html" target="_blank">http://www.lessloss.com/bach-sonatas-in-st-martins-church-p-197.html
からダウンロードしたものです。多分?wavだと思います良ければ確認してください。
もう少し経ったらBBBを購入することにしました
無事音が出たようで良かったですね。BBG-BBGダブルもplayer側のBBG(usb A端子)から電源供給すれば、出来るはずです。player側のeth0をadapter側のusb A端子に繋いだusb-lan変換アダプタに繋ぐことになります。
usb-otgですが、音は良くなったが、不思議な動き方をしますね。何か不自然に重くなることがあるという気がします。結果として、ご指摘のコントロールポイントのロックや、音切れなどの問題点が発生するという感じです。このあたりチューニングで調整可能なのか、試行中です。
まあ、polipo回線をusb-lan回線にするという逃げてはありますので、環境的に無理ということなら、この回避策をとる一手かもしれません。
電源ですが、usbケーブルの電源ラインを切断して、外部供給するという手はあるようです。at your own risk ですが、テスターで確認しながらなら、出来るかもしれません。
ノイズの出ない24bitwavの紹介ありがとうございます。フォーマット調査ツールでの両者の比較は以下の通りです。
General
Complete name : \\Debian2\cd\audio\beethoven\H28B9-1-2496.wav
Format : Wave
File size : 543 MiB
Duration : 16 min 29 s
Overall bit rate mode : Constant
Overall bit rate : 4 608 kb/s
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 16 min 29 s
Bit rate mode : Constant
Bit rate : 4 608 kb/s
Channel(s) : 2 channels
Sampling rate : 96.0 kHz
Bit depth : 24 bits
Stream size : 543 MiB (100%)
General
Complete name : \\Debian2\cd\33412\BWV_1035_E-dur_Part_I_Adagio_(24_Bit_96_kHz).wav
Format : Wave
File size : 81.4 MiB
Duration : 2 min 28 s
Overall bit rate mode : Constant
Overall bit rate : 4 609 kb/s
Producer : TASCAM HD-P2
Description : tTAPE=090228
Encoded date : 2009-02-28 18:29:31
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 2 min 28 s
Bit rate mode : Constant
Bit rate : 4 608 kb/s
Channel(s) : 2 channels
Sampling rate : 96.0 kHz
Bit depth : 24 bits
Stream size : 81.4 MiB (100%)
ほとんど同じなのですが、何で片方はノイズだらけ、もう一方はちゃんと再生できるのですかね。
BBG=BBGダブルの音出しが出来ました、助言ありがとうございました
音質は素晴らしい、当然ですがシングルより良くなっています
中低域がほど良く締まって厚みが出てきました、ボーカルが気持ちよく聞こえます
ただ、問題点は前回報告のままです
気が付いた点
①シングル+USB-LANアダプタのため電流が約100mA増加し定常時で700mAを超えるようになりました。3A位の安定化電源を付けた方が良い感じ。
②基板直付け電源で働きました。私の場合ですと通常マイクロusbを経て電源をかける側(プレーヤー)BBG基板p9 1,2-5,6(vdd)に取り付けています。
③もし、基板直付け電源が可能となれば将来的にusb-otg2本クロス接続によりダブルラインガできないでしょうか。
私はJplayからの移行組ですがDAC Link700Hz論争には付いていけない、すべて700Hzがベストとは思っていませんし、コスト的に手軽に音楽を楽しむ、作り上げるを楽しむ、このようなシステムがベストとの考えです。
ダフル接続とシングル接続の差は僅かだと思いますが、やはりダブル接続の方がいいですかね。ダブルの方が中低域がしっかりして、落ち着いた音になるような気がします。
電源に関するご報告ありがとうございます。usb-otgケーブルからでなく電源をとり、動かすことはが出来たということですね。usb-otgケーブルの絶縁はされたのでしょか。
> ③もし、基板直付け電源が可能となれば将来的にusb-otg2本クロス接続によりダブルラインガできないでしょうか。
これは多分出来ないと思います。
usb-otgケーブルで繋いだとき、osはホストなのかクライアントなのか意識して処理を行っているようです。sdualモードとhost-onlyモードを間違えて指定すると、動かなかったのはご存じの通りです。ダブルラインガするためには、この二つのモードを同時にサポートするよう仕組みが必要ですが、サポートされていませんし、規格的に可能なのかよく分かりません。
実は、usb-otg回線に関してosが不思議な動作する理由もこの電源に関するコントールが関連しているのではないかなと思っています。
僕も結果的にJplayからの移行組ですが、「DAC Link700Hz論争」というのは知りません。どっかの掲示板で論争になっているのですかね。
電源の件ですが、usb-otgのホスト側、私の場合ですとプレーヤ側のBBG基板に直付けです。特別に絶縁したわけではありません。BBB=BBGであれば現在電源を供給しているBBBの基板上でよいと思いますが。
別件ですが、LINUXCOMさんに 「B3D-A4495の電源分離の件」で質問したところ、
「結論から言うとVDDの分離はお勧めできません。
BBGとDAC基板間のインターフェースでは問題ないと思います(確実なことは言えません)が、
DAC基板内のFPGAとAK4495間で電源のオン・オフタイミングが異なることになります。
AK4495は特に電源のオン・オフタイミングに規定はないとされていますが、FPGAに問題がありそうです。
すぐに破損することはないと思いますが時間経過によりその可能性がないわけではありません。
そのような接続は想定していませんので評価もしておらず、この程度の回答になってしまいます。」
たかじんさんのB4-DACは電源分離を考慮して作成してあるので出来るはずですが、DSDが..との感じです。
このような回答で当方実施を迷っています。電源分離の効果がどの位あるのかわからないし、1電源でもよいかなと思っています。
遅ればせながらやっとBBG=BBGダブルの音出しが出来ました。
音はみなさんと同じく最高です。
実は、最初のバージョンからトライしていましたが、片方のBBGが起動しないので挫折していました。ダメ元で新バージョンでやってみたらすんなり簡単に出来てしまいました。
片方のBBGのマイクロUSBのコネクターを壊しているので、ピンから給電し自動的にバックエンド側です。LAN-USBアダプタは用意していましたので最初からダブルです。
電源は、古いデジカメのACアダプタ(スイッチング 5V2A弱ですが、実際は5.7Vぐらい出ます)にLCのノイズフィルターと秋月のローノイズレギュレータを組み合わせて使いました。レギュレータの規格が1Aなので少々不安でしたが、2台のBBGがトラブルなく動いています。
Synologyのnasのメディアサーバーを音源にしています。インストールが簡単にできます。
mpdのバージョンが上がっていましたのでmakeしました。https://drive.google.com/open?id=0BwO2v2h7Io1kVzJUU0tPc1U0NlE" target="_blank">https://drive.google.com/open?id=0BwO2v2h7Io1kVzJUU0tPc1U0NlE
arch版で動きます。
mpdの最新版ありがとうございました。ありがたく頂戴しました。
皆様、電源はいろいろ工夫されているようですね。僕は到ってシンプルです。
https://www.amazon.co.jp/%E6%97%A5%E6%9C%AC%E7%9B%B4%E5%96%B6%E5%BA%97-ORICO-4%E3%83%9D%E3%83%BC%E3%83%88usb%E3%83%8F%E3%83%96-ac%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E4%BB%98%E3%81%8D-VL812%E3%83%81%E3%83%83%E3%83%97%E6%90%AD%E8%BC%89/dp/B018K430HW/ref=sr_1_1?s=computers&ie=UTF8&qid=1495058655&sr=1-1&keywords=ORICO+4%E3%83%9D%E3%83%BC%E3%83%88usb%E3%83%8F%E3%83%96" target="_blank">https://www.amazon.co.jp/%E6%97%A5%E6%9C%AC%E7%9B%B4%E5%96%B6%E5%BA%97-ORICO-4%E3%83%9D%E3%83%BC%E3%83%88usb%E3%83%8F%E3%83%96-ac%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E4%BB%98%E3%81%8D-VL812%E3%83%81%E3%83%83%E3%83%97%E6%90%AD%E8%BC%89/dp/B018K430HW/ref=sr_1_1?s=computers&ie=UTF8&qid=1495058655&sr=1-1&keywords=ORICO+4%E3%83%9D%E3%83%BC%E3%83%88usb%E3%83%8F%E3%83%96
というセルフパワー型のusbハブを電源供給専用に使っています。金属製のしっかりした作りの筐体なので、信用できるかなと思っています。12v3aの電源にはiPurifierを入れてノイズ対策。playerとはステレオサウンド社ムック誌についてきたエイム社の20cm位の短いusb-otgケーブルで繋いでいます。playerとadapterは同じ筐体内なので、BBG付属の極短のケーブルを使って繋いでいます。
持ち合わせの部品だけの芸のない構成ですが、まあまあの効果はあるかなと思っています。
私もBBG=BBGのダブルでの音出しができました。
ただ,BBB=BBGの時と全く同じ繋ぎ方で,BBBの載っていたI2SDACをBBGに交換しただけです。ただしpolipo回線とupmpdcli回線は入替えてあります。
BBG-BBGはハードの関係でシングルのみ,の記述がありましたが,何もしないで音が出ているのですが,ダブルで繋いでいるはずが実はシングルである,というオチがあるのではと少々不安です。
そこで,OTGケーブルのA側にUSB外部電源供給アダプタ(IOデータのUSB-ACADP5)を挟んだところ,安定しています。
ここに供給するACアダプタを吟味すれば音質向上にもつながると思います。
> BBG-BBGはハードの関係でシングルのみ,の記述がありましたが,
これはBBG(adapter)-BBB/BBG(player)構成でadapter側がHostの場合の話です。usb-otg回線が電源供給専用に使われることになるので、シングルのみとなります。
従って、多分、ja7jtz さんのダブル動作は正しく動いていると思われます。
裏をとりたければ、telnetで繋ぎ、topでプロセスの動作を確認すればいいです。
タイトルの通りですが、バク報告、質問などはこちらにお願いします。
公開していただき、大変ありがとうございます。
短時間の試聴ですが、Single line player modeで取りあえず、uInitrd-br-upnp-player-arch + mpd-0.20.2rt-arch の組み合わせで聴いています。
donuts.shop73さんのupnp版と甲乙つけ難い感じではありますが、こちらも大変素晴らしい音だと思います。yoさんの版では、mpdが選べるのでこちらも楽しみにしています。
>バックエンドのBBB/BBGに直接telnetで入ることは出来ませんが
本体側のポート「8023」を指定すれば、入れると思います。
簡潔なご報告ですが、取り急ぎお礼まで。
公開していただき、本当にありがとうございます。
インストールしデフォルトのスタンドアローン版にて聴いております。
素晴らしい音で感謝の言葉しかありません。
NAS4Free+MiniDLNA 1.1.5
BBB
B2R-5100
RBD-02+ HG
LINN Kazoo
上記のように、donutsさんのシステムを使った時とハード周りの環境は同じなのですが、今回はmp3を再生できるようになりました。
しかし、m4aをプレイリストに追加することが叶いませんでした。
どこかで設定を見落としていないか、改めて調べてみようと思います。
> donuts.shop73さんのupnp版と甲乙つけ難い感じではありますが、こちらも大変素晴らしい音だと思います。
僕の耳でも差は聞き分けられません。だから、donutsさん版もお勧めしておきました。結局、スクラッチでやっても、BuildRootを使っても、たいした差はないということだと思っています。
> 本体側のポート「8023」を指定すれば、入れると思います。
説明不足だったかもしれませんが、WindowsのPuttyからだと、ポートを指定しても入ることが出来ません。
それで、一旦、ホスト側に 198.168.xx.xx で入っておいて、telnetクライアント機能を使い、バックエンド側に入るようにしています。この場合はポートの指定は不要です。
面倒なので、Windowsから入る方法があれば、教えて頂きたいのですが。Linuxだと出来るのでしょうか。
mpd -V で
Decoders plugins:
[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[opus] opus ogg oga
[dsdiff] dff
[dsf] dsf
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
と表示されますので、mpdの対応はされているように見えます。コントロールポイント側の問題でないでしょうか。僕はメインのコントロールポイントとして、一番操作性がいいので、AndroidのUPnPlayを使っています。しかし、UPnPlayはdiff/dsdファイルの再生が出来ないので(認識はされるが、再生しようとするとエラーになる)、diff/dsdファイルの再生にはLUMINを使っています。
非DLNA(NAS)環境では再生出来るか確認すれば、切り分けは出来ます。
愚問でしたね。
多分、えふ さんの環境ではフロント側とバックエンド側の回線を家庭内lanの共用アドレスとして登録されているということだと思います。僕の場合はフロント側の198.168.xx.xxはルータに共用アドレスとして登録されていますが、10.0.0.xxは登録していません。従って、Windows側からはアクセス出来なかったということだと思います。
オーディオ的には、余計なパケットの乱舞を拒否するという意味で、登録しない方が正解だと思います。
あと、donutsさん版をスクラッチと書いていますが、これは多少不正確で、bb版のlightmpdのuInitrdをベースにしているという意味では、僕のBuildRoot版と大差はないのかもしれません。mpdとpolipoとupmpdcliの組み込みをスクラッチでやったか、BuildRootを使ったかという差ですから(mpdのビルドの仕方/コンフィグの設定にはかなり相違点がありますが)。
>多分、えふ さんの環境ではフロント側とバックエンド側の回線を家庭内lanの共用アドレスとして登録されてい るということだと思います。
すみません。ちょっと意味が分かりません(^^;当方では、特に特別なことはしていません。lightMPD/upnpgwはUPNPアダプターモードで使用していますが、基本は雛形どおりの設定です。polipoもフロント側を意識的に停止などもしていません。
それで、デジファイのおとさんのUPNPアダプターの説明で、以下のようにあるのでそのとおりにしているだけです。
(以下は、説明文から引用)
lightMPD/upnpgwでは特定のポートをplayerのポートへ振り向ける事によりホームネットワーク上の機器からplayerにアクセスします。
例えば
8023=10.0.0.2:23
とするとlightMPD/upnpgwの8023に向けられたパケットは10.0.0.2(playerのアドレス)の23番ポート(telnet)に振り向けます。
lightMPD/upnpgwのアドレスを192.168.1.1とするとホームネットワーク上の機器から
・telnet 192.168.1.1:8023とするとplayerのtelnetと接続します。
・telnet 192.168.1.1:23とするとlightMPD/upnpgwのtelnetに接続します。
(以上、引用終わり)
なので、何も考えずにyoさんの環境もフロント側は同じだと勝手に思って先のコメントを入れました。どうもごめんなさいですm(_ _)m
ちなみに、当方はWindows側からTera Termを使用しています。
> コントロールポイント側の問題でないでしょうか。
おっしゃる通りでした。
m4aをKazooではプレイリストに追加できませんでしたが、KinskyやLUMIN、Upplayでは追加することができました。
お礼申し上げます。
> ちなみに、当方はWindows側からTera Termを使用しています。
「あれれ」と思い、Tera Termを使い、試してみました。確かに 8023 を指定すると、バックエンド側に入れますね。Puttyだと同じ指定でエラーになります。ということは Puttyの問題であるようです。
僕が早とちりしたのはこういうことです。
図なしに説明は困難なので、以下のURLをご覧ください。
http://www.atmarkit.co.jp/ait/articles/0106/21/news002.html" target="_blank">http://www.atmarkit.co.jp/ait/articles/0106/21/news002.html
このページの真ん中あたりにある図のルーティング方法でルータを運用すると、telnetアクセスできるようになるのかなと考えたという次第です。
情報ありがとうございました。
しかし、何故、Puttyだと駄目なのか不思議ですね。
サイトでの紹介が長くなってしまったので、はしょった部分を補足します。
upnp版はスタンドアロンモードで使う場合、confファイルの設定はネットワークアドレスの設定だけですむはずです。ディフォルトは 192.168.0.20 としてありますので、普通は 0.20 の部分の変更だけで使えるようになると思います。
Single line player mode の場合は lightmpd.conf、polipo.conf のネットワークアドレスの変更が必要です。設定ファイルにコメントインとコメントアウトで修正できるようにしてあります。どこを直せばいいかは、設定ファイルをご覧下さい。
Double lines player modeの場合は、eth1をオープンするため、さらに myscript.sh の変更が必要です。これもコメントしてありますので、変更方法はスクリプトを見れば分かります。
これらの confファイルの変更は3つのファイルの修正になり面倒なので、一発で修正するためのsedスクリプトを作成しました(upnpset.sh)。また、mpdの選択はuInitrdの選択とリンクしているので、これもsedスクリプトで自動的にconfファイルの修正を行うようにしました(mpdset.sh)。
sed(stream editor)とはテキストファイルの定型の編集処理を簡単に自動化するのに便利なツールです。正規表現が分からないと使えないとか、コマンドが意味不明とか、難所の多いスクリプト言語ですが、分かれば、手放せないツールになります。ここでは数行にわたるパターンをまとめて比較し、置換処理するという使い方をしています。
スクリプトの使い方はページに書いた通りですが、若干補足しておきます。
mpdset.shはuEnv.txtとlightmpd.confのコメントイン/アウトをuEnv.txtがスタンドアロン(uInitrd-br-upnp-stand(-arch))かプレーヤ(uInitrd-br-upnp-player(-arch))かのどちらを指定しているかを見て、設定するようにしています。
upnpset.shの方は、毎回モードを変更する度に20行位コメントイン/アウトをするのが面倒なので、作成しました。やっていることは単純でconfファイル古い設定をコメントアウトし、新しく指定されたモードの設定内容をコメントインしているだけです。
Double lines player mode をお使いの方は /mnt/scripts/myscript.sh の27行目と28行目を以下の通り修正することをお勧めします。
chrt -p -o 55 `pgrep irq/186-musb-hd`
chrt -p -o 55 `pgrep irq/187-musb-hd`
usb回線のrt優先度の修正忘れです。
まあ、このあたりの数値はお聞きになった印象で適当に変えて頂ければいいわけですが。
Double lines player modeに挑戦中ですが、うまくいかないのでアドバイスお願いします。
・フロント(apu側)のlightmpd.confは、lightmpd.conf-upnpgw-nasgateを使用して作成
・/mnt/scripts/upnpset.sh dplay後、reboot実行
・「ifconfig」では、フロント、バックエンド双方とも所定のipアドレスが設定されている
・apu側のLAN端子は三つともLINKランプは点灯している
・コントロールポイントから再生指示を出しても再生されず
・/mnt/scripts/upnpset.sh splayで切り換えると問題なく再生できる
以上のような状況なのですが、他に何か留意すべき点はありますでしょうか。
apu側のlightmpd.conf-upnpgw-nasgateですが
[polipo]
enable=yes
#
proxyAddress = 0.0.0.0
allowedClients = 10.0.1.2
と修正されていますか ?
ありがとうございました。ご指摘のとおりでした。
>allowedClients = 10.0.1.2
このパラメータを見れば、なるほどなという感じですね。
# ping 10.0.1.2
PING 10.0.1.2 (10.0.1.2): 56 data bytes
64 bytes from 10.0.1.2: seq=0 ttl=64 time=0.730 ms
64 bytes from 10.0.1.2: seq=1 ttl=64 time=0.647 ms
64 bytes from 10.0.1.2: seq=2 ttl=64 time=0.671 ms
64 bytes from 10.0.1.2: seq=3 ttl=64 time=0.690 ms
64 bytes from 10.0.1.2: seq=4 ttl=64 time=0.692 ms
64 bytes from 10.0.1.2: seq=5 ttl=64 time=0.672 ms
^C
--- 10.0.1.2 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 0.647/0.683/0.730 ms
# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: seq=0 ttl=64 time=0.383 ms
64 bytes from 10.0.0.2: seq=1 ttl=64 time=0.230 ms
64 bytes from 10.0.0.2: seq=2 ttl=64 time=0.244 ms
64 bytes from 10.0.0.2: seq=3 ttl=64 time=0.301 ms
64 bytes from 10.0.0.2: seq=4 ttl=64 time=0.262 ms
64 bytes from 10.0.0.2: seq=5 ttl=64 time=0.274 ms
^C
--- 10.0.0.2 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 0.230/0.282/0.383 ms
となりますので、倍以上の性能差があります。しかし、僕の使っているUSB-LANアダプタのチップ(Realtek 8152/8153)はUSB3.0/ギガビットLAN対応してようです。従って、性能差はBB/BBGのUSBとイーサネットハードの実力差に起因するということになります。こうやって見ると、APUというのは二台構成をとるのに最適なハードとよく分かります。
さて、ここからが本題。
UPnP版のディフォルトの設定では大量にデータのやりとりするpolipo回線が性能の低いUSBアダプタ回線に接続されることになります。これを変えるのは簡単で
APU側 lightmpd.conf
[upmpdcli]
# mpdhost=10.0.0.2
mpdhost=10.0.1.2
[polipo]
# allowedClients = 10.0.1.2
allowedClients = 10.0.0.2
BB側 polipo,conf
### for double line player from here
proxyAddress = 127.0.0.1
allowedClients = 127.0.0.1
parentProxy = 10.0.0.1:8123
### to here
とアドレスを変更すればいいです。試してみましたが、なかなかいいですね。お勧めします。
standalone版をBBB+B4-DACで試しました。
192KHzのflacファイルは、arch20では再生が途中で止まり、次のファイルに跳んでしまう現象が起きます。
LEDのHeartbeatは止められないのでしょうか?lightmpd.conf でnoneと指定しても止まりませんでした。
> 192KHzのflacファイルは、arch20では再生が途中で止まり、次のファイルに跳んでしまう現象が起きます。
サイトの方に書き込みましたが、「upnp版は音は圧倒的に良いと思いますが、動作はかなりセンシティブです。特に上記のchunkサイズが大きすぎるとノイズが発生したり、ハングしたりします。お使いの環境に応じて修正して下さい。」
このあたりのメッセージを参考にして、チャンクサイズを適当に変えてみて下さい。
<a href="http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5662" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5662</a>
<a href="http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5665" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5624#5665</a>
特にarch19/20のMPDはサイズが大きいので、DSDファイルとかハイレソファイルなどのサイズの大きい音源の再生では不安定になる可能性があります。その場合はlight19/20を使って下さい。
> LEDのHeartbeatは止められないのでしょうか?lightmpd.conf でnoneと指定しても止まりませんでした。
公開されているbuildrootデータはLED対応していないということですかね。
調べてみたら、下記のコマンドでLEDを消すことが出来るようです。
beaglebone-controlling-the-on-board-leds-using-cの情報。
echo 0 > /sys/class/leds/beaglebone:green:usr0/brightness
/mnt/scripts/myconfigのrtpr)あたりに放り込んでおけば(mpd起動時に呼び出されます)、消せると思います。
>調べてみたら、下記のコマンドでLEDを消すことが出来るようです。
>beaglebone-controlling-the-on-board-leds-using-cの情報。
>echo 0 > /sys/class/leds/beaglebone:green:usr0/brightness
>/mnt/scripts/myconfigのrtpr)あたりに放り込んでおけば(mpd起動時に呼び出されます)、消せると思います。
有難うございます。ご指定の通りの設定で消せました。
何と言ったら良いのか,とにかく凄みのある音としか言いようがありません。素晴らしいです。
ただ,24bit96khzのwevがザーノイズになったり,DSD128が途中で止まったりという不具合があります。これはlightmpd/upnpgwのapuスタンドアロン版(USBDAC)でも同じでしたが,polipoの修正版(initrdの入れ替え)により解消されました。
同じようにこちらのBBB+I2S版でも解消が出来ないでしょうか。期待しております。
音楽的にはやはり apu + BBG がベストですね。リアルさが違うと思います。僕もそれに決め打ちしてシステムを入れ替え中です。
lightMPD掲示板の「upnpgwのrootfsを公開しました」記事には気が付いていたのですが、てっきりapu対応のinitrd-lightmpd-64のみ改修されたのだと勘違いしていました(^^;;;。
buildrootのpolipoデータも改修されているのですね。こちらのUPnP版とUPnP-Adapter版も改版することが出来そうです。対応するつもりですので、暫くお待ちください。それぞれのuInitrdだけ入れ換えるという方法をとるつもりです。
お返事ありがとうございます。
apu+BBG(I2S)で音出しをした瞬間に,ドカーンと音が押し寄せ,それでいて滑らかな中高域には本当に驚きました。
私は自分でDSD録音した音楽(MR-1000です)を聞くのが大きな目的なので,これからの改良を大いに期待しています。
DSDデータは私のWebSiteに置いてあります。
UPnP版(standlone/player)
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2.zip
Adapter版
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/lightmpd-upnp-adapter-v2.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/lightmpd-upnp-adapter-v2.zip
こちらの動作状況ですが、スタンドアロンモードでは以下の通り確認がとれています。
・再生データ長がchunkHighMarkを超えると再生が止まる
解消しました。ただし、2GBを超えたところで再生はストップします。これはハード/OSの制約(32bit)なので、仕方がないということだと思います。
・一部のwavがノイズになる
解消していません。多分、APUにあたっているパッチがBBには適用されていないということだと思います。
問題はカスケード接続で、「一部のwavがノイズになる」は同じ結果ですが、「再生が止まる」件は一部のハイレソデータだと簡単(1分~2分)に再生が止まってしまいます。うまく再生出来るケースもあるので、「何が何だかさっぱり分からん」状態です。カスケード接続のアダプタ側はAPUとBBBを使っています。
僕はハイレソデータをほとんど持っていません。ハイレソデータを使ったテストも今回が初めてで、以下のデータを使って、行いました。
・http://dream26.com/music/" target="_blank">http://dream26.com/music/(ベートーヴェン第9、ミサソレムニスのDSD128とPCM96データなど)
・http://www.2l.no/hires/" target="_blank">http://www.2l.no/hires/(主にモーツアルトVnコンチェルトのDSD128、PCM192、PCM96データなど)
報告をお願いしたいのはカスケード接続でのハイレソデータの再生状況です。よろしくお願いします。
チャンクサイズを変えると状況はコロコロ変わります。アーカイブのディフォルトは僕の環境で確認した時のままです。
早速の対応ありがとうございます。
double line player mode 、アダプター側はAPUの報告です。
データはベートーヴェンの第9で私の録音したものです。PCM96K24bitはノイズのまま、DSD126は1分程度で止まります。
yoさんが聞いたのと同じデータなので、結果も同じということなのでしょうか。
ところで、最初lightmpd.confだけ修正し、polipo.confの修正を忘れてしまったのですが、そうしたところ、2GBのところまでは再生しました。第9の4楽章の終わりのちょっと前で止まったので、ここが2GBだと思います。
これって、double lineとしての動作はしているけれどBBG側ではpolipoを使っていない、ということなのでしょうか。
とすると、APU側ではpolipoは3GBにしているのですが、なぜ2GBで止まるのでしょうか。
詳しい動作について理解していないので、的外れかと思いますが、一応報告いたします。
僕のところと同じような結果ですね。「まあ、最終的にはdigififanさんの掲示板に駆け込むしかないかな」とは思っているのですが、その前にジタバタやっています。
それで、質問ですが、「最初lightmpd.confだけ修正し、polipo.confの修正を忘れてしまったのですが」というのは、具体的に「どこを修正しどこを修正し忘れた」のでしょうか。BBG側でpolipoが動いていなかったという推理はあたっていると思いますが、裏をとりたいので。
2GBは、多分、BBGハードとPCMの壁だと思います。「なんちゃってネットワーク分離」スレッドでtakobozuさんとdigififanさんが白熱の議論中です。
Double lines player modeで、apu + BBBの組合せです。
いろいろ音楽を聴いている内に突如止まりましたので、これが2GBの壁による現象でしょうか。再現しました。
次にハイレゾ音源ですが、当方も実は持っていませんので、ネットでサンプル音源(96KHz 24bit wav)をダウンロードしたものと、当方でアップサンプリングして自炊したもの(88.2KHz 24bit wav)を準備して再生してみましたが、どちらもノイズだらけでした。ただ、別のサンプル音源(96Khz 24bit flac)では通常に再生されます。
DSD128については、当方では途切れることも無く問題なく再生されました。ただこれも、当方がアップサンプリングして自炊したものなので、皆さんのところで同じ物とは云えないかも知れません。
44.1KHz 16bitのflacやwavを聴いている分には、本当に素晴らしく満喫しております(^^;
大分、様子が分かってきました。
2GBの壁と500MBの壁があって、2GB壁は32ビットに起因するのでBBB/BBGではハード的にどうしようもない。500MBの壁は Double lines player mode でのみ発生し、回避可能ということのようです。ご指摘の
> いろいろ音楽を聴いている内に突如止まりましたので、これが2GBの壁による現象でしょうか。再現しました。
は500MBの壁にあたったということだと思います。この壁にはDSD64ファイルであれば、比較的簡単にあたります。具体的にはDSD64で12分以上のサイズのファイルを再生した時、この壁が出現します。
2GBの壁と500MBの壁の障害状況の差は、2GBの壁は2GB目まで再生したところでストップするのに対し、500MBの壁は再生開始後1分~2分で発生する点です。「突如止まりました」のはそういうことだと思います。
さて、2GBの壁もファイルサイズの問題です。従って、DSD64だと、50分以上のファイルとなり、普通はあり得ません。しかし、DSD128だと25分となり、第9の最終楽章はこれにひっかかったということだと思います。
というわけで
> DSD128については、当方では途切れることも無く問題なく再生されました。
については、6分以下のファイルだったからと思います。
500MBの壁の回避方法ですが、カスケードしているpolipo回線をeth1からeth0(player側)、eth2からeth1(adapter側)に変更してやればいいです(逆にunmpdcli回線はeth0からeth1、eth1からeth2に変更)。具体的には
adapter(APU) lightmpd.conf
[upmpdcli]
mpdhost=10.0.1.2
[polipo]
allowedClients = 10.0.0.2
player(BBB/BBG) polipo.conf
parentProxy = 10.0.0.1:8123
としてやればいいです。
ノイズの問題は僕のところでも自炊したファイルで発生しています。フォーマットの問題ですかね。
1行目の#enable=yesの#を外し忘れ
### for standalone from here のところをにすべて#をつけ
### for double line player from here のところの#を外す
というのを忘れたということです。
違いは parentProxy = 10.0.1.1:8123 があるかないかの違いだけだと思います。
以上ですが、まだ500MB回避の方法は試していません。
> 違いは parentProxy = 10.0.1.1:8123 があるかないかの違いだけだと思います。
ということはpolipoはadapterに繋がっていませんので、実質的には動いていないというなります。多分、これが25分まで再生できた理由だと思います。wavファイルは2GB以内という制限にひっかかって、再生が止まったということでしょう。
回避策は、第9の第4楽章にはあっちこっちにゲネラルパウゼがありますので、そこでファイルをちょん切る手ですかね。
テスト結果はlightMPD掲示板の「upnpgwのrootfsを公開しました(2)」に書き込んだ通りです。僕のところではv2と変わりは無でした。
テストに使った uInitrd-br-upnp-stand と uInitrd-br-upnp-player は以下のアドレスからダウンロード出来ます。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-1.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-1.zip
参考までにzipファイル作成時のログです。
yo@ubuntu:/mnt$ sudo zip /home/yo/boticized-lightmpd-upnp-v2-1.zip \
> boot/uInitrd-br-upnp-stand \
> boot/uInitrd-br-upnp-player
adding: boot/uInitrd-br-upnp-stand (deflated 1%)
adding: boot/uInitrd-br-upnp-player (deflated 1%)
ところで、このシステムのUSB接続を試してみたのですが、DSD再生でノイズがのって使い物にならないですね。これは他の方の環境でも同じでしょうか。
UPnP化する前はこんなことは無かったと思います。このあたりにトラブルの原因が潜んでいそうな気がします。
BBGとAPUの Double lines player mode でDSD128で第9の4楽章を再生しましたが、演奏がかなり遅れて開始され、その後不定期に一時停止と再生を繰り返しながら再生します。polipo間のデータ転送のタイミングで一時停止するのでしょうか?
短時間で異常終了することはなくなったようですが、結局曲の最後近くで停止して再開はされませんでした。2Gの壁でしょうか。
BBG側で対策がなされるとどう変わるのでしょうか。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-2.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-2.zip
で試してみて下さい。
僕の環境では Double lines player mode でカスケードしているpolipo回線をeth1からeth0(player側)、eth2からeth1(adapter側)に変更すれば、第9第4楽章を最後まで問題なく再生できました。但し、polipo回線がeth1のままだと、一分程度で再生が停止します。また、500MBの壁は解消しました(polipo回線がeth1でも)。
あとノイズの問題は、多分、boticパッチの問題なので、諦めるしかないと思います。
早速試してみました。
その結果、面白いことがわかりました。
私の装置は以下の通り、スタンドアロン版です。
vortexbox+MinimServar→pad+BubbleUPnP→BBG→ B3D-A4495
結論から言えばサーバーをvortexboxに変更したことにより、PCMでは44.1→352k、dsdでは64→128まで問題なく再生できました。
・サーバーwin10+MinimServar、nas4freeではPCM96k、dsdは128まで不安定ながらできるときありの状態
・長時間のDSDはまだ聞いていないのでわかりません
・どこかの掲示板でwabフォーマットで聞けたり、聞けなかったとの報告あったような気がしますが。それとは関係ないかもしれませんがまず一報までに。
これでメインのプレイヤーになりそうです。
v2-2バージョンありがとうございました。
APUとBBGのDouble lines player mode で、polipo回線の入れ替えもしましたが、私の環境では途中で止まりました。
インストールをどこかで間違っているのかもしれません。
BBG側で、confの修正はマニアルでやっていましたが、間違っているのかと思い、/mnt/scripts/upnpset.sh dpla を実行しています。
ところで、polipo回線の入れ替えですが、APU側2個所、BBG側1個所の修正だけでよいのでしょうか?ethの指定なども変えようとして、再生できなくなったことから、その3箇所の修正だけにしてあります。
sugi-さんの指摘でdlnaサーバーの相性のようなものがあるのかもしれませんが、どこかで自分の設定ミスがあると思うのですが、発見できないでいます。
VortexBoxの良さは分かっているのですが、インストーラーに癖があるのが難点ですね。intel構成の標準マシン以外のインストールが出来ないもので僕は使っていません。空いている Core 2 Quadマシンがあるのですが試してみますかね。電力を馬鹿食いするのでサーバ向きではないのですが。
digififanさんの最新の修正をかけると音が良くなったという気がします。僕もこれとapuを組み合わせて使っていくかなと思っています。
なかなか、手ごわいですね。
polipo回線の入れ換えは apu側[upmpdcli]と[polipo]とbb側のpolipo.conf 三箇所だけで、何れもアドレスを逆にするだけです。音は出ているようなので、多分あっていると思います。
こうなるとサーバ環境の相違が違いになるので、そのあたりを調べることになると思います。apu-apuは上手くいっているようなので、単純にサーバの問題でもなさそうですが。
bbgスタンドアロンでどうなりますか。これである程度の切り分けは出来ると思います。
・Pcm192,352kはflac音源での報告でした。改めて192kのwav音源を聞いたところノイズが発生しました。
・win10+MinimServarサーバーの設定を確認したところflac→wav変換をしていました。このため192k以上でノイズが発生したようです。どのサーバーでも変わらないようです。
・前回どのような状態で聞いたのわかりません。
dsdがOKでハイビットのwavがNGなのかよくわかりません。
前回の報告の192kwav音源を無圧縮でflac変換後再生したところ問題なく再生できました。ファイルサイズが問題なく、wavフォーマットが問題のように思われます。
良く分かりません。
384K wavがちゃんと再生出来ないのは polipo の問題ではなく、alsaの問題ですから、以前から発生していたトラブルで、解決は linux os 任せということだと思います。
192K wav は僕のところではちゃんと再生出来たという記憶があるのですが、確認してみます。
http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-3.zip" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/downlog.cgi?upload/boticized-lightmpd-upnp-v2-3.zip
yo@ubuntu:/mnt$ sudo zip /home/yo/boticized-lightmpd-upnp-v2-3.zip \
> boot/uInitrd-br-upnp-stand boot/uInitrd-br-upnp-stand-arch \
> boot/uInitrd-br-upnp-player boot/uInitrd-br-upnp-player-arch
adding: boot/uInitrd-br-upnp-stand (deflated 1%)
adding: boot/uInitrd-br-upnp-stand-arch (deflated 1%)
adding: boot/uInitrd-br-upnp-player (deflated 1%)
adding: boot/uInitrd-br-upnp-player-arch (deflated 1%)
以下digififanさんのコメント。
--------------------------------------------------------
polipoをさらに見直したのものをアップロードしました。
こちらでは現象を確認できないのですが、wavでのノイズに効果があるかもしれません。
また、chunkが不足した場合の処理を一部見直しました。chunkCriticalMarkは意味を持たなくなります。しかし、設定値に誤りがあるとエラーになるので値自体は適切に設定して下さい。
パッチを1つにまとめました。
--------------------------------------------------------
僕の環境での確認では、2GBの壁、500MBの壁、共に全てのパターンで問題なくなりました。
wavでのノイズは、残念ながら、一部のwavで依然発生します。
digififanさん共々、素早い対応ありがとうございました。
>wavでのノイズは、残念ながら、一部のwavで依然発生します。
当方でも、96KHz 24bit、88.2KHz 24bitのどちらもノイズだらけの状態は以前と変わりないですね。
ちなみに、最近の版においては、回線の入れ替え(アドレス変更)を元に戻さないとダメですよね。LUMINでUpLightMpdが見えなくなったので、ちょっと焦りました(^^;
それと、DSD128を聴きながら思ったのですけど、何か音が更に良くなっているような…、駄耳なので気のせいかも(^^;
私の環境でも、DSD128の2GBの壁を超えて第9の4楽章を最後まで再生できました。
しかし、やはりwav96kHz24bitの再生はノイズだらけで音になりませんでした。
ところで、lanの2回線の接続のしかたで、不思議なことがあります。
まずpolipo回線の入れ替えをしない状態では、APUとBBGの2回線をどちらで結んでも正常に最後まで再生します。しかし、polipo回線を入れ替えるための3か所のIPアドレスの変更をすると、APU-BBGがeth1-eth1とeth2-eth0の場合は正常に2GB超を再生しますが、逆の場合は再生ができません。
えふさんも、おそらく2本のlineを交換すれば再生できるかもしれません。
ところで、実はこれまでも毎回このようなethの入れ替えをやってみましたが、バージョンごとに挙動が違っていました。
今回のバージョンでは、このような接続で良いのでしょうか。それともpolipoが使われていないから正常に再生したのでしょうか。
また、BBG側のpolipo.confの先頭の#enable=yesは#を外さなくても良いのでしょうか。
以上、動作報告でした。
24bit wav のノイズについてはどの環境でも発生しているようですね。僕の環境では今回の版で一部の wav については発生しなくなっています。Boticパッチの問題と予想していたので、ちょっと不思議なのですが、理由は分かりません。digififanさんのところでは正常に再生出来るようですから、これ以上の対応は難しいから思います。
2GBの壁と500MB壁についてはほぼクリアできたと考えてよさそうです。
えふ さんから「ちなみに、最近の版においては、回線の入れ替え(アドレス変更)を元に戻さないとダメですよね。LUMINでUpLightMpdが見えなくなったので、ちょっと焦りました(^^;」、
ja7jtz さんから「今回のバージョンでは、このような接続で良いのでしょうか。それともpolipoが使われていないから正常に再生したのでしょうか。」
との報告かありますが、これはapu-bbgの設定ミスで、それぞれのpolipoがきちんと対向接続されていないということではないでしょか。以下多少長くなりますが、仕組みを解説します。
フロントとバックエンドに2回線を使ったカスケード接続は、apuが3つのイーサネット回線をもっているのを利用し、ネットワークの負荷低減させて、音を良くしようとdigififanさんが発案された仕組みです。フロント側はインタネット用、upmpdcli-mpd用、polipo用にそれぞれ一回線づつ3回線を使い、バックエンド側はupmpdcli-mpd用、polipo用に2回線を使うという構成をとります。
以上の複数の回線の設定は lightmpd/upnpgw ではlightmpd.confを使い、まとめて行っています。
[network]がeth0/eth0、[network:player]がeth1/-、[network:nasgate]がeth2/eth1のネットワーク関連の設定です(フロント/バックエンド)。[upmpdcli] mpdhost=、[polipo] allowedClients= でそれぞれのプログラムが使用するネットワークを割り当てます。この割り当てで注意すべきは、[polipo] allowedClients= で対向接続の相手側と正しく設定されていることです。この設定が間違っていると音は鳴りません。
さて、BBB/BBGをバックエンド側に使おうとすると、2回線にする必要があります。boticized-lightmpd-upnpでは、USB-LAN変換アダプタを使い、2回線にしています。BBB/BBGは upnpgw 対応していませんので、このUSB-LAN変換アダプタ回線をどう設定するか考慮する必要があります。
まず、ネットワークの設定ですが、イーサネット回線(eth0)は従来の仕組みでそのまま設定出来るので、[network]を使います。USB-LAN変換アダプタ回線は仕組みがないので、myscript.shでeth1として処理しています。
次にupmpdcliとpolipoの設定ですが、lightmpd/upnpgw の lightmpd.confによる仕組みは移植しないと使えないので、不精をして、/lightmpd に upmpdcli.conf と polipo.conf を用意し、そのまま使うという仕組みにしています。upmpdcli.confとpolipo.confの中味は lightmpd/upnpgw の lightmpd.conf の[upmpdcli]、[polipo]と同じです。但し、ja7jtz さんがご質問の #enable=yes はこの仕組みからいうと関係がない(enableはlightmpd/upnpgwの初期設定処理で使っているだけ)ので、コメントアウトが正しいです。
以上、文章で説明しようとすると複雑ですが、サイトの「Boticized lightMPD UPnP版を公開します」という記事の冒頭にある図をご覧下さい。だいたい感じは分かるのではないかと思います。
polipoが正しく動いているかどうかはtop画面で見れば、確認できます。telnetでtopと入力すると
Mem: 384548K used, 125072K free, 924K shrd, 30944K buff, 31768K cached
CPU: 1.2% usr 1.2% sys 0.0% nic 97.5% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.21 0.14 0.06 1/118 383
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
254 1 root S 85768 16.8 0 1.3 /usr/bin/mpd
244 1 root S 198m 39.8 0 0.5 /usr/bin/polipo -c /var/lightMPD/etc/polipo.conf pidF
353 1 upmpdcli S 106m 21.3 0 0.1 /usr/bin/upmpdcli -D -c /var/lightMPD/etc/upmpdcli.co
366 364 root R 2368 0.4 0 0.1 top
16 2 root SW 0 0.0 0 0.1 [kworker/0:1]
28 2 root SW 0 0.0 0 0.1 [irq/20-49000000]
こんな画面が出力されます。/usr/bin/polipoのVSZが使用しているメモリサイズです。VSZが198mとなっていますので、ほぼ最大値を使いきっていることになります。qで止めることができます。
音については僕も素晴らしくなったと思います。
特に、BBB(lightmpd-upnp-adapter フロント)-BBG(boticized-lightmpd-upnp バックエンド)という繋ぎ方は「BBBはハードの制約からちょっと厳しいなぁ、やっぱりフロント側はapuにするのがオーディオ的にはベスト」と思っていたのですが、最近の版を使うと、apu(lightmpd/upnpgw)と遜色ないという感じです。polipoに手を入れることで、処理が効率化され、BBBでも十分フロント側に使えるようになったということでしょうか。
2回線のカスケードの設定ですが、私なりに考えてみました。
APU側のlightmpd.confでは、まず[network:player]でeth1を10.0.0.1、[network:nasgate]でeth2を10.0.1.1と設定しておき、[upmpdcli]のmpdhostを10.0.1.2に変更しました。これはコントロールをeth2にしたということだと思います。
また[polipo]のallowedClientsを10.0.0.2に変更しました。これは、eth1に接続された10.0.0.2に音楽データを流すことを許可する、ということだと思います。
BBG側ではlightmopd.confの[network]の### for player from here でeth0 のaddressが10.0.0.2ですから、APUのeth1からallowedClientsで許可されているので、音楽データを受信するということだと思います。
また、polipo.confの### for double line player from here でもparentProxyが10.0.0.1ですからAPUのeth1からデータを受信するようになっているのだと思います。
コントローはupmpdcli.confで設定する、ということであればupnpiface=eth0をupnpiface=eth1に変更する必要があると思うのですが、「変更は3か所だけ」という質問をしたのはこのためです。
ここを変更しないと、2GBの壁を越えて再生はされますが、Kinsky(windows版)のpauseが効かないなどの不具合があります。変更するとこのような不具合はなくなります。
以上のように考えてみましたが、実際のLANケーブルの接続は、APU-BBGの順にeth1-eth1、eth2-eth0となり、APUからの音楽データとコントロールの送出が逆になってしまいます。
兎にも角にも。Kinskyの動作等から考えてみても、今の設定で良いような気がしますが、どうも自信がもてず、、あれやこれややっていました。
音に関しては奥行きが加わり、厚みが出てきたと思います。すばらしいです。
ご本家の情報(upmpdcli-manual)で
upnpiface
Network interface to use for UPnP. libupnp/pupnp only supports communicating on a single interface and will use the first found, this allows forcing the use of another interface.
とありますので、
> コントローはupmpdcli.confで設定する、ということであればupnpiface=eth0をupnpiface=eth1に変更する必要があると思うのですが、「変更は3か所だけ」という質問をしたのはこのためです。
は間違えです。
何故、eth1にするとポーズが効くのかよく分かりませんが(そもそも、upnpの世界に上手く繋がるのが不思議)。
いろいろ考えても良くわからないので、設定が間違っているのだと思い、再度インストールからしてみました。
まず、APU側ですが普通にインストールして、confフォルダのlightmpd.conf-upnpgw-nasgateを持ってきて[network]を自分の環境に変更、さらに[polipo]のallowedClients = 10.0.1.2に修正。
次にBBG側ですが、本家のv1.0.3にyoさんのv2を上書きし、さらにv2-3をbootフォルダ内に上書きし、全体をmicroSDに書き込み、lightmpd.confをstand aloneで起動すよるように[network]を修正する。
これでBBGを起動してtelnetで接続し、/mnt/scripts/upnpset.sh dplay を実行する。
これでAPUとBBGを2本のLANケーブルで接続し再起動する。
という手順ですが、やはり音楽自体は正常に再生されますが、kinskyはpouseが効かない、複数の曲を連続再生できない等の不具合があります。
> という手順ですが、やはり音楽自体は正常に再生されますが、kinskyはpouseが効かない、複数の曲を連続再生できない等の不具合があります。
これはkinskyの問題ではないでしょうか。Windows upplay で確認しましたが、pauseも効くし、連続再生もできました。
追記 Windows kinskyをインストールし試してみました。同じ結果です。pauseも効くし、連続再生もできました。
ja7jtz さんの環境の問題ですかね。
いろいろ試してみましたが、まれに、BBGが起動しないことがあるので、BBG & B3D-A4495の電源を変えてみました。テスト用なのでiPhone用のACアダプタを使っていたのですが他のものに変えたところ正常になりました。kinskeyのpauseや連続再生もOKです。iPhoneのアダプタでも他のものに変えたら問題なしです。
どうやら電圧か消費電力かの関係で不安定になっていたようです。ACアダプタだけでなく、MicroUSBケーブルを交換しても動作が不安定になることがありました。
私の環境の問題というのが、このようなつまらないことで、お手数をかけてしまい、本当に申し訳ありませんでした。
ところでiPhoneのACアダプタですが、電圧波形の測定をする限り、素晴らしいものなので使っています。
iPurifierが素晴らしいということですが、高いので同じ技術を使い、安価なiPowerを購入したのですが、全然ダメでした。再生音にノイズが乗り、近くのラジオにもノイズが入りました。
iFiに問い合わせたところ、環境によっては大きなノイズを発生することがあるということでした。
何種類かのSWACアダプタの電源波形をオシロで見てiPhoneのアダプタにしました。
もちろん、テスト用でない常用のプレイヤーにはアナログ電源を使っています。
問題が解決されたので、フロント側にBBGを使ってみようかと思います。
「APUと遜色ない」ということですが、APU=BBGは2回線、BBG-BBGは1回線ですが、それでも遜色ないのでしょうか?
テストしてみて良い音なら、BBG2台とDACを1つのケースに入れた一体型プレイヤーを作ろうか、なんて考えていました。
iPowerはあるブログで紹介されているのを見て、調べてみたら、ifi製品らしからぬデザインのダサさと値段の安さに信用出来ないと考え、購入は見合せました。やっばり駄目でしたか。
iphoneの電源って「Apple 12W USB電源アダプタ」
MD836LL product-MD836
のことですか。
BB対向接続ですが、僕はBBB-BBGで繋いでいます(最初に買って、余っているBBBを使っています)。APU2c4との比較ですが、APU-BBGの方が良いと思います(音の空間、音の出方の余裕というか無理をしていないという感じ)。公開した版では差は大きいなと感じ、確か紹介のメッセージにもその旨記述したような記憶があります。
だだ、digififanさんの最新のパッチをかけた状態では差は小さくなっていますね。ご希望ならこの版も公開します。
あと、只今興味をもっているのは、別のスレッドで inthedark さんに教唆煽動されている usb-otgに対応する方式です。inthedark さんの提案はフロント側にAPUを使ってなのですが、当然BBGを使うことも出来るので、この場合BBGはUSB-LANアダプタと組み合わせると3回線となります。この方式の弱点はフロント側のBBGの電源がusb-otg経由で供給されることとなる点です。このあたり、面白そうなので、試してみるかなと思っています。時間はかかりそうですが。
BBG2台によるプレーヤーには大変興味があります。
私はケースに電源+bbg+dac+ヘッドホンアンプを入れて楽しんでおります。yoさんがBBB-BBGによるプレーヤー版の公開をして頂ければ大変嬉しく思っている次第です。
ところで、愚問かもしれませんが、こんなことができませんでしょうか。
①現在bbgには電源を基板に直付けでつないでおります
②電電源供給に使用するマイクロUSBと通常タイプのUSBが余っています
③その2つにUSB-LANアダプターを取り付けってダブルラインのプレーヤーの設定ができないでしょうか
以上が出来るようであればAPUと同様なダブルライン構成ができると思うのですが。
iPhoneのACアダプタは5Wの超小型のものです。MD810LL
12WのものはiPad付属のものだと思いますが、オシロで見た限りではギザギザの汚い波形でした。
興味があったので、測定結果は残してあります。swadpt
これを見てiPhoneのACアダプタが良いと思いました。iPowerはある程度の周波数以下なら、ノイズは十分に抑え込まれているので、それが良いのかもしれません。
しかし、5GHzまでもアクティブなキャンセル回路で抑えられるはずがありません(この値段で)。
結果が良い音であれば使いたいとは思います、私が使った限りでは、イヤホンにビーンというノイズが入ったのでボツです。
BBB-BBGの最新バージョンですが、もし今開発したものが問題ないのであれば、ぜひとも公開をお願いしたいと思います。
ただし、sugi-さんも希望しておられるOTGポートを使った3回線で、double lineモードになれば、本当に素晴らしいと思うので、そちらの方を楽しみにしております。
流行からかけ離れた事をコツコツやっています(^_^;)
ところで
APU1Cの電源ってどんなものが良いんでしょう?
yoさんの画像をみるとYAMAHAの楽器用のものを使っているのかな?
電池でやっても三端子レギュレーターでやっても
スイッチング電源アダプターに勝てないんですが(^_^;)
Archlinuxはどんどんカーネルが上がっていきますが
とりあえず
4.9.18-rt14-ARCHでconfigを最低限にしてカーネル再構築をすれば
前に書いた様なDSDが再生できないという現象は起きなくなりました。
DACに入力するPCや使うOSでDACの評価が大きく違ってくるので
最近は何をやっているのか分からなくなっています \_(ツ)_/
僕が使っている電源はヤマハの他にRATOC(スイッチング方式)、エルサウント(トランス方式)などいろいろです。いろいろ使い比べての感想は、スイッチング方式は音が悪いといわれているけど、設計次第ですね。結局、聞き比べて良さそうなものを使うということになります。
愛用しているのはifiのDC iPurifierというノイズフィルターです。普通のスイッチング方式のDCアダプタの先にいれて使っています。効果は抜群で、簡単なので、最近はほとんどこれを使っています。欠点はお値段。BBG本体の3倍しますので、ちょっと躊躇しますが、どんどん増殖していますね(^^;;;。
>普通のスイッチング方式のDCアダプタの先にいれて
これを自作のフィルターでやったらハイサンプリングソースの再生時に
息継ぎするようになってしまって撃沈(^_^;)
>BBG本体の3倍しますので
三倍ならBBBとか購入して流行に乗ってしまいますね(笑)
やってみたいのですが...
皆さんの書き込みを読んでも半分も理解できません(^_^;)
猫でも出来るシリーズとかやっていただくと嬉しいですね。
とりあえずスターターkitみたいにして設定部分を最小にして
書いてある通りにすれば音が出る感じで...
一度動き出せば色々理解出来る部分が出てきて
波に乗れるかもです。
mieroさんが、4.9.Xのソースを作ってくれるのを待っていても
よいわけですが、カーネルいじりの好きな私はついついこういう
遊びをやってしまいます。
できてしまえばコロンブスの卵のようなことなんで、私自身
拍子抜けしてしまいました。
kernelのmenuconfigにどうやってbotic関連の表示をさせるかが
わかった瞬間ひらめいたんですが、細かいことは私の趣味なの
で興味がある方のために手っ取り早い方法を説明します。
まず、kernel.orgの最新カーネル4.9.7とmieroさんの4.8.13
をダウンロードし各々展開してください。
私は先に4.9.7にrtパッチをあて、lightmpdbbbのconfig.gzに
入れ替えました。
そして、4.9.7の以下のディレクトリを4.8.13のそれと入れ替え
てください。
arch/arm/boot/dts
include/sound
sound/soc/codecs
sound/soc/davinci
sound/soc/generic
こうしてkernelのmenuconfigを立ち上げて見てください。
device driversのところにboticの選択項目が表示されている
はずです。それを選択してビルドしてください。
(firmwareディレクトリにam335x-pm-firmware.binをコピー
しておくことをお忘れなく)
buildrootを使うなら、am335x-boneblack-botic.dtbを作る
指示をお忘れなく。
ca2さん、やってみてください。
inthedark
さっそく試して、うまく行きました。ちゃんと音も出ています。
kernelの中でboticの機能にあたる部分を入れ替えてるのでしょうか?このへんの勘は私にはないので、簡単な手順で最新kernelでBotic対応できるのは驚きです。
ちなみに、buildrootの中でmakeしましたが、TopDirにlocal.mkを置く方法を試しました(manualのhttps://buildroot.org/downloads/manual/manual.html#_advanced_usage" target="_blank">https://buildroot.org/downloads/manual/manual.html#_advanced_usageの8.12.6にある方法です)。そのlocal.mkに、
LINUX_OVERRIDE_SRCDIR = botic-kernelの場所
のように書いておくと、make linux-menuconfig時にダウンロード設定は無視して(パッチも自動では当たらない)、OVERRIDE_SRCDIRから丸々コピーすると言うものです。linux-kernelに限らず、どのパッケージについても使えるとのこと。
ただ、普通はbuildrootに任せたほうが良いので、使い道がわからなかったんですが、今回のケースだとちょうど良さそうなので試してみた次第です。
ちゃんと音がでましたか。嬉しいもんですね、やっぱり。
ご報告ありがとうございます。
>kernelの中でboticの機能にあたる部分を入れ替えてるのでしょうか?
最初にyoさんに話を持っていったときのやり方よりは、私の
最終目的はこれでした。ドライバーを組み込むこと。
これをgithub.com/mieroのbotic-devをみて考えていました。
ドライバーを組み込んでも、menuconfigに表示されない、
これでは使えないなあと思っていたのですが、その仕組みが
わかったもんですから道が開けた感じです。
(4.8.x系列はEOLですし、4.9.Xはlongtermなんでしばらく
お付き合いできそうですしね。)
local.mkの件、ありがとうございます。勉強になります。
ca2さんがお気づきになられたことや、便利だなあと思われた
ことなど、buildrootのスレでもこのスレでも結構ですので
書き残して行っていただけると、これからbuildrootを使いたい
人(どれくらいいるかわかりませんが)に役立ててもらえるん
ではないかと思います。
inthedark
すいませんが >私は先に4.9.7にrtパッチをあて
この部分が良く分かりません。
何処に4.9.7のrtパッチがあるのか?教えていただけないでしょうか?パッチが綺麗に当たるlinux-4.9.7元ソースもお願いします。
ちなみに
https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/" target="_blank">https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/
ここにはpatch-4.9.6-rt4.patch.gz しか見当たりません?
4.9.7のパッチはまだありません。
4.9.6のパッチをあてています。エラーも出ませんので。
これでやってみてください。(気になるなら4.9.6にカーネル
ソースも合わせられたらよろしいかと思います。)
今確認しましたら、4.9.8が最新になってますね。
本当に更新が激しいですね。
inthedark
もう状況は変わっているようです。
上手く当たりません...
$ zcat patches-4.9.6-rt4.tar.gz | patch -p1
Hunk #1 FAILED at 135.
Hunk #2 succeeded at 1676 (offset -28 lines).
1 out of 2 hunks FAILED -- saving rejects to file kernel/locking/rtmutex.c.rej
patching file kernel/locking/rtmutex_common.h
Hunk #1 FAILED at 99.
1 out of 1 hunk FAILED -- saving rejects to file kernel/locking/rtmutex_common.h.rej
patching file kernel/irq/spurious.c
patching file drivers/scsi/qla2xxx/qla_isr.c
patching file include/linux/interrupt.h
Hunk #2 succeeded at 217 (offset -2 lines).
Hunk #3 succeeded at 229 (offset -2 lines).
patching file kernel/irq/manage.c
Hunk #1 succeeded at 233 (offset -2 lines).
Hunk #2 succeeded at 276 (offset -2 lines).
Hunk #3 succeeded at 299 (offset -2 lines).
Hunk #4 succeeded at 356 (offset -2 lines).
patching file include/linux/interrupt.h
Hunk #1 succeeded at 412 (offset 6 lines).
patching file kernel/irq/manage.c
patching file kernel/irq/manage.c
Hunk #1 succeeded at 2100 (offset -11 lines).
patching file drivers/gpu/drm/i915/i915_gem_shrinker.c
patching file drivers/gpu/drm/msm/msm_gem_shrinker.c
patching file kernel/cpu.c
Hunk #1 FAILED at 418.
1 out of 1 hunk FAILED -- saving rejects to file kernel/cpu.c.rej
patching file include/linux/cpu.h
Reversed (or previously applied) patch detected! Assume -R? [n]
とりあえず、ほとんど最新のlinux-4.9.7を使えばどうでしょうか?
あるいは、安全を考えるなら 4.9.6 でも良いかと…
https://www.kernel.org/pub/linux/kernel/v4.x/" target="_blank">https://www.kernel.org/pub/linux/kernel/v4.x/
以下に、
https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.7.tar.gz" target="_blank">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.7.tar.gz
があります。
rtパッチは、そのうち新しいのが出ると思うので待つのが良いでしょう。
inthedarkさん。
buildrootについては、後ほどmanualから引いたtips的なものを書いてみようと思います。そんな多くはないですが…。
そういう手があったのですか(@д@)。
正攻法は4.8.13の Botic Patch をかけるという方法ですが、試してみたら(パッチはgithubのアーカイブのlinux-dev-botic7-v48/patches/boticにあります)
yo@ubuntu:~/linux-4.9.7$ nano drivers/mfd/tps65217.c.rej
yo@ubuntu:~/linux-4.9.7$ nano drivers/rtc/rtc-omap.c.rej
yo@ubuntu:~/linux-4.9.7$ nano arch/arm/boot/dts/Makefile.rej
yo@ubuntu:~/linux-4.9.7$ nano sound/soc/generic/Kconfig.rej
と4箇所エラーになりますね。この内、rtc-omap.c、Makefile、Kconfig はレベルアップに伴う単純なエラーなので、修正は簡単です。しかし、tps65217.c のエラーはエラー箇所が多く、ちょっと修正は大変そうですね(できないというレベルではないですが)。
「tps65217 って何だろな」と調べたら、BBBの電源制御用チップのようですね。無視は出来ないようです。
このあたりは、多分、終了時の電源オフ対策のパッチだと思いますので、かかってないというのは、ちょっと不味いかもしれません。
私のところでlinux-4.9.7にpatch-4.9.6-rt4.patchをあてましたが
rejもなくちゃんと当たりますよ。
ca2さん
援護射撃は大歓迎ですので、バンバンお願いします。
ca2さんのtips楽しみにしております。
私も勉強しよう。
inthedark
私はそのパッチの存在は知りませんでした。
4.8.X系列のpatchだから4.9.xにはうまく当たらないのは
当然なんでしょうね。
私は知り合いからboticっていうのはドライバだよ、と
聞かされてましたのでそのドライバさえ組み込めればどの
カーネルでも一応動くだろうと思ってやってみたら動いちゃった
ということです。ca2さんから音出しの報告もいただいており
ますので、まあやってみるもんだなあと。
inthedark
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.9.7.tar.gz
$ wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patches-4.9.6-rt4.tar.gz
$ tar xvzf linux-4.9.7.tar.gz
$ cp patches-4.9.6-rt4.tar.gz linux-4.9.7/
$ cd linux-4.9.7
$ zcat patches-4.9.6-rt4.tar.gz | patch -p1
patching file kernel/locking/rtmutex_common.h
Hunk #1 FAILED at 99.
1 out of 1 hunk FAILED -- saving rejects to file kernel/locking/rtmutex_common.h.rej
patching file kernel/irq/spurious.c
patching file drivers/scsi/qla2xxx/qla_isr.c
patching file include/linux/interrupt.h
Hunk #2 succeeded at 217 (offset -2 lines).
Hunk #3 succeeded at 229 (offset -2 lines).
patching file kernel/irq/manage.c
Hunk #1 succeeded at 233 (offset -2 lines).
Hunk #2 succeeded at 276 (offset -2 lines).
Hunk #3 succeeded at 299 (offset -2 lines).
Hunk #4 succeeded at 356 (offset -2 lines).
patching file include/linux/interrupt.h
Hunk #1 succeeded at 412 (offset 6 lines).
patching file kernel/irq/manage.c
patching file kernel/irq/manage.c
Hunk #1 succeeded at 2100 (offset -11 lines).
patching file drivers/gpu/drm/i915/i915_gem_shrinker.c
patching file drivers/gpu/drm/msm/msm_gem_shrinker.c
patching file kernel/cpu.c
Hunk #1 FAILED at 418.
1 out of 1 hunk FAILED -- saving rejects to file kernel/cpu.c.rej
patching file include/linux/cpu.h
Reversed (or previously applied) patch detected! Assume -R? [n]
だめですね...
> buildrootについては、後ほどmanualから引いたtips的なものを書いてみようと思います。そんな多くはないですが…。
楽しみにしています。
僕は digififan さんの雛型を使って、どうにか make は通ったという段階で、まだマニュアルを読み込むまでに到っていません。
只今、熱中しているのは、uInitrdの軽量化と反対の重量化(^^;;;です。
mpd まわりのライブラリ構成を arch linuxと同じ構造にして音がどうなるか試しているところです。一人でやっていても限界があるので、耳の良い皆様の意見を聞くため、仮に公開してみるかなと思っています。
確かに、ドライバ機能に関連するパッチ0001...からパッチ0010...までは問題なくかかっていますので、ソース入れ換えてやれば、ドライバとしては正常に動くということだと思います。
エラーになった(パッチのかかっていない)部分は、多分、ちゃんと電源オフしない時の対策などでしょうから、普通に使っている分には動くということでしょう。
僕も直前に書いたメッセージにあるパッチかけは同じ手順でやりました。つい一時間位前です。
rejはBotic側だけでした(findで確認してあります)。もう一度最新版で試してみたらどうでしょう。
wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patches-4.9.6-rt4.tar.gz
ではなく
wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.6-rt4.patch.gz
でした。
これでやってみてください。
私の軽量化の話はまあ趣味の様なものです。lightMPDは元々十分に小さいですし。
buildrootの更新にあわせて個人でビルドするとなると、ミニマムがわかってると管理も簡単でDLもmakeも早いというのが、強いていえばメリットでしょうか。
まず、Moctさんのdebian版の話なんですが、botic7-rc1とbotic7-rc3のカーネルがついていて、botic7-rc1ではcpufreqが有効で、たとえば
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
とすればCPUの最大設定が見れて、手順をふめば設定変更もできました。一方でbotic7-rc3だと
/sys/devices/system/cpu/cpu0/cpufreq が見れなくなって、cpufreqの設定もできなくなりました。これは、今回のbotic化4.9カーネルも、config時にcpufreqを選ぶようにしても同様の状態です。なお、
/sys/devices/system/cpu/cpufreq
はあります。そもそもカーネルが対応してないのか、あるいは設定が足りてないのでしょうか?
可能なら、音楽再生にパワーは特別必要ないので、最小の300MHzに設定したいと思っています。非常にささいなことなので、無理なら無理でもかまわないんですけれども。
軽量化して音がどうなるのかに大いに興味があります。
lightmpdの場合、オリジナルの状態で十分に軽量化されているでしょうから、それ以上やったらどうなるか、試してみたいと思っています。よい設定が見つかったら是非教えてください。
あと別件ですが、cpufreqを僕の環境(自作のbotilized debian jessie と 自作のbotilized arch linux、どちらもカーネルは4.8.13)で確認してみました。
/sys/devices/system/cpu/cpufreqはあるが、/sys/devices/system/cpu/cpu0/cpufreqはありません。
しかし、/sys/devices/system/cpu/cpufreqは空のディレクトリです。
linux-dev-botic7-v48/KERNELで menuconfig(configはbotic v7のものを使用)を確認したら
CPU Power Management --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
となっていました。
ということで、あまり参考になりませんが、無くなったのですかね。
あまりカーネル周りのことが分かってないんですが、boticカーネル側の対応次第なんでしょうかね。またmieroさんが新しいカーネルを出した時には、状況も変わるかもしれないので待つのが良さそうです。
このスレの手順でビルドしたカーネルを使って2Lのサイトにある352.8kHzのサンプルファイルを再生して
cat /proc/asound/Botic/pcm0p/sub0/hw_params
を実行したときの表示は
access: RW_INTERLEAVED
format: S24_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 2940
buffer_size: 52920
となりましたが、念のために /sound/core/pcm_native.c の拡張が反映されるようにパッチをあてた方が良さそうです。
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -1981,12 +1981,13 @@
return snd_interval_refine(hw_param_interval(params, rule->var), &t);
}
-#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_192000 != 1 << 12
+#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_768000 != 1 << 16
#error "Change this table"
#endif
static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
- 48000, 64000, 88200, 96000, 176400, 192000 };
+ 48000, 64000, 88200, 96000, 176400, 192000,
+ 352800, 384000, 705600, 768000 };
const struct snd_pcm_hw_constraint_list snd_pcm_known_rates = {
.count = ARRAY_SIZE(rates),
参考
https://patchwork.kernel.org/patch/9160203/" target="_blank">https://patchwork.kernel.org/patch/9160203/
僕の公開しているカーネル(linux-upstream)もパッチをかけておくかなと思い、調べたら、パッチはかかっていますね。
#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_768000 != 1 << 16
#error "Change this table"
#endif
static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
48000, 64000, 88200, 96000, 176400, 192000,
352800, 384000, 705600, 768000 };
考えてみたら、boticの作者(mieroさん)が管理しているカーネルソースですから、当たり前ですね(^^;;;。
yo さんが配布されているカーネルはパッチが当たっているようですね。
このスレの手順通りに4.9.xにmieroさんの4.8.13の該当ディレクトリを入れ替えただけでは
sound/core/pcm_native.c
が拡張されずに取り残されてしまうのでパッチ当てが必要だと思いました。
(pcm.h は include/sound の入れ替えで拡張されている)
ご存分に動作報告などなさってください。
inthedark
面白いアイディアだな思い、顰みに倣ってみました。楽をするため スクラッチではなく、buildrootを使います。
簡単でしたね。menuconfigで選んで(Target packages -> Networking applications -> にあります)、makeするだけ。
問題はこの後のsdカードに音楽データをおいたディレクトリ(/music)をつくり、それをminidlnaに音楽用データベースとして認識させる方法です。
donutsさんは、lightmpd.confを使い、sdカードを音楽用データベースとしてマウントするというスマートな方法をとっていますが、こちらはそんな腕はないので、普通(?)に /mntにmountして、minidlna.confでmedia_dir=A,/mnt/musicとして認識させるという方法をとりました。
マウントするタイミングとminidlnaの立ち上げのタイミングを合わせるためS60をS98に変更するとか、荒っぽい方法を乱発させて、なんとかクリア。
上手くいきました。
nas再生より音が良いとは思いませんが、きれいな音でなります。音量がやや大きめになる(気がする)のは不思議ですね。再生中断などの問題は発生しません。
フロント側には apu2c4 lightmpd upnpgw を使用。confファイルは lightmpd.conf-upnpgwを使いました。
変更部分は
[network]
address=192.168.0.30
だけです。
player部分はディフォルトのままです。
[network:player]
interface=eth1
address=10.0.0.1
netmask=255.255.255.252
これに合わせて、バックエンド側は lightmpd.conf.playerを以下の通り変更しました。
[network]
# interface=eth0
# address=192.168.0.21
# netmask=255.255.255.0
# gateway=192.168.0.0
# nameserver=192.168.0.0
# domain=mydomain.jp
interface=eth0
address=10.0.0.2
netmask=255.255.255.252
gateway=10.0.0.1
nameserver=192.168.0.0
domain=mydomain.jp
ネットワークの接続は apu は eth0 をインタネット側に、eth1を対抗接続(bbg)側に繋ぎます。bbg は同じクロスケーブルの反対側を繋ぎます。
pingで接続を確認。コントロールポイント(Android UPnPlay)でUplightMpdレンダラーの存在を確認。linux版のMinimServerを使い、再生も問題なく行えました。
音はいわずもがなですが、素晴らしいです。これまでのザベストですね。音の響きの空間がリアルに感じられます。
topでフロント側の動作状況を観察しました。当たり前ですが、polipoが動いていますね。
Mem: 137480K used, 3890972K free, 896K shrd, 17328K buff, 17276K cached
CPU: 0.0% usr 0.0% sys 0.0% nic 99.9% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.02 0.01 0.00 2/127 296
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
276 1 upmpdcli S 766m 19.4 2 0.0 /usr/bin/upmpdcli -D -c /etc/upmpdcli.conf
293 288 root R 6856 0.1 3 0.0 top
254 1 root S 7232 0.1 0 0.0 /usr/bin/polipo -c /var/lightMPD/etc/polipo.conf pidF
VSZの値からみて、実質的には動いてはいないようですが気になるので、止めてみました。
[polipo]^M
# enable=yes^M
enable=no^M
これで再起動。フロント側からpolipoを排除しました。
何となく音が良くなったような気がしますが、気のせいでしょうね(^^;;;。
まあ、polipoをmpd側に置くのは正解だと思います。
このアイコンは upmpdcli.conf の iconpath = で指定出来るので、普通のシステムであれば、画像を用意して、そこを指定すれば、okです。しかし、lightmpdの場合、rootfsがリードオンリなので、「そうは問屋が卸さない」のですよね。
donutsさんのシステムでどうやっているか調べてみました。アイコンはsdカードの/lightmpd/iconに置いてあって、これを /var/lightmpd/binにコピーして、iconpath = /var/lightmpd/bin/beagle.png として、表示させているようです。
問題はどこで/var/lightmpd/binにコピーしているか。/etc/init.d/ にはそれらしき痕跡は見当たらないので、多分、syssetup.scm のどこかでやっているのでしょう。
その場所を探して、移植するというのが正しい作法だとは知っているが、面倒。例によって、荒っぽい方法を乱発させることにしました。といっても大したことはなくて、myscript.sh に cpを一行追加するだけですみました。
アイコンはboticの作者mieroさんに敬意を表し、チェコ国旗としました。
kaamuraと申します。
donuts.shop73さん
素晴らしいイメージの提供をありがとうございました。
インストールしスタンドアローンにて聴いております。
素晴らしい音ですね。
NAS4Free+MiniDLNA 1.1.5
BBB
B2R-5100
RBD-02+ HG
LINN Kazoo
のような環境ですが、自分の場合はm4aやmp3を再生することができませんでした。
mpd.confのdecoders pluginsをコメントアウトしたくらいではどうにもならないことは、なんとなく理解しております。
まずは、MPDのビルドから勉強していこうと思っております。
今後ともよろしくお願いします。
正攻法は、donutsさんがやっているように、lightmpd.conf にパラメータを置いて、syssetup.scmでpolipo.confを生成するというやり方なのですが、移植は楽ではないです。
というわけで、例によって、超手抜き、荒っぽい方法をとることにしました。
要するに、mpdとpolipoだけのuInitrdを作り、conf(lightmpd、mpd、polipo)をdonutsさんのシステムに合わせればいいだろうと考えた。正解でしたね。あっさり、音出し出来ました。
ちょっと躓いたのは mpdのビルドです。
make distcleanでクリアしたのですが、これは output/下の出力保存ファイルをクリアするだけですね。package/配下の Config.inとか *.mk、*.hashなどはそのまま残ります。何をいっているかというと、mpdでrtoptの指定とか、パッチとか、バージョンの指定はそのまま残るのですよね。
「そういうものなのか、とりあえず楽できそうね」と考え、menuconfigでヘルプを参考にしながら、dsd rtopt ffmpeg flac mad vorbis curl alsa tcp_sockets UPnP を選んで、makeしてみました。
作成した uInitrd-br-upnp-adapter を追加して、起動してみましたが、mpdが立ち上がらない。「libopus.so.0がないよ」というエラーになるのですよね。「libopusなんて知らないよ」と思ったがmenuをみたらopusというのがある。これをオンにして、やり直したら、音が出ました。
しかし、今から考えると、この時の正しい作法は「mpdを入れ換える」であったようです。opusというのは音声圧縮の方法のようですが、使っていないので、以前のmpdをビルドする時、間違えて組み込んでしまったのでしょう。従って、そんなものに合わせるのでなく、正しくビルドされたmpdを使うことが正解のはず。
ただ、「覆水盆に帰らず」。いっぺんlibopusを組み込んでしまうと、取り外す方法は make distclean だけなようですよね。まるで足を洗えないヤクザみたいな状態になります(^^;;;。「シャバに戻るには、指を詰めるしかない」という感じですね。
まあ、面倒なので、そのままにしてありますが、ちょっと失敗だったなぁ。
telenetで入り、確認してみました。
------------------------
# mpd -V
Music Player Daemon 0.20.4
Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2017 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Database plugins:
simple proxy upnp
Storage plugins:
local curl
Neighbor plugins:
upnp
Decoders plugins:
[oggflac] ogg oga
[flac] flac
[audiofile] wav au aiff aif
[dsdiff] dff
[dsf] dsf
[pcm]
------------------------
となりますので、donutsさんのシステムは mp3、mp4再生に対応していないようですね。
ちなみに、直前のメッセージに書いた僕のシステムは
------------------------
# mpd -V
Music Player Daemon 0.20.4
Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2017 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Database plugins:
simple proxy upnp
Storage plugins:
local curl
Decoders plugins:
[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[opus] opus ogg oga
[dsdiff] dff
[dsf] dsf
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
------------------------
となりますので、これは対応しているのですかね。
「donutsさんのやつがあるからいいか」と思っていましたが、やっぱり公開しますかね。暫くお待ちください。
お返事ありがとうございます。
donutsさんのシステムにおいて、SDカードのmusicフォルダにmp3やm4aファイルをローカルに配置した場合、LINN Kazooでは認識されておりません。flacファイルは認識されております。
こちらについても、MPDのビルド具合が関係しているのでしょうか?
とても興味深いです。
donutsさんだけでなく、yoさんのシステムをも公開していただけるのであれば、こんなにありがたいことはありません。
心待ちにしております。
MiniDLNAに手を入れ、以下の拡張子のみ収集するようにしています。
.flac
.fla
.flc
.wav
.dsf
.dff
BeagleBone Blackの風が吹いていますね(^_^;)
私は地道にArchlinux+APU1Cを弄っています(笑)
ところで
(APU1C+linux-4.9.8+native-dsd-noise.patch+patch-4.9.6-rt4.patch.gz+mpd-0.20.4)
を試してみたところ
4.8.15-rt10まで問題なかったDSD256(11.2MHz)ファイルの再生が
音が途切れ途切れ+早送りになるようになりました?
ちなみにDSD5.6MHzのファイルは問題ありません。
念のため、intel i5 4コアマシンで同じ条件で
試した見たところでは問題なしです?
うーん どこが悪いのか見当がつきません。
過去の経験から、もし何か分かればヒントを貰えないでしょうか(^_^;)
なりゆきで、BBB lightmpdに熱中していますが、arch linux & apu を忘れたわけではありません(^^;;;。
> 4.8.15-rt10まで問題なかったDSD512(11.2MHz)ファイルの再生が
> 音が途切れ途切れ+早送りになるようになりました?
> ちなみにDSD5.6MHzのファイルは問題ありません。
「intel i5 4コアマシンでは問題なし」ということなので、性能的差により発生しているのでしょうね。
arch はローリングリリースですから、以前OKだからといって、新しいバージョンでOKという保証はありません。新バージョンによるレベルダウンは日常茶飯です。arch使いの嗜みは「ちゃんと動いている旧バージョンはしっかり残しておいて、いざとなったらそっちに戻す」です。
まあ、このご返事では身も蓋もないので、ちょっとだけ僕のあまり役に立たない推理です。
rtカーネルではいったん制御権を渡されたモジュールは仕事が終わるまで、制御権を握りぱなしで動きます。従って、osから制御権を渡されたら、出来るだけ速やかに処理を終わらせ、制御権をosに返すというのが仁義です。仁義を守らないヤクザが頑張ると、ひとときの神戸や福岡のような状態になるので、問題です。同じように、rtの世界でも仁義を守らないモジュールが登場すると、音が途切れとか雑音とか早送りとかいろいろな問題が発生します。
arch新版により、多分、このような問題が起きているのではないかと思います。
対応策は上記したように旧版に戻すというのがお勧めですが、あとrtカーネルを諦めるという方法もあります。full rtをやめて、Preemptible Kernelにすれば、一定時間以上制御権を握り続けるモジュールから強制的に制御権を奪い返すというosの機能が有効になりますので、問題に対処することが出来る可能性があります。
Linux arch 4.9.6-1-ARCHのカーネルがインストールされます。
このrtでは無いカーネルでも同じ症状です。
なので打つ手はカーネルの軽量化?ぐらいしか思いつきません(^_^;)...
最新カーネルは音がとても良いので残念です。
最新のカーネルとmpdの組み合わせでは曲間のノイズさえ我慢して
且つカーネル指定のDDC or DACを使用すれば
何の加工も無しにDSD-nativeが実現されているのが凄いと思います。
またカーネルで指定のないDDC or DACを接続してDSDファイルを再生すると
勝手にPCMに変換されて出力してくる様です(^_^;)
もちろん/etc/mpd.conf で dsd type dsd_usb とかの指定は一切必要無いです。
11.2MHzということはDSD256ですよね。
以下を確認してみてください。
DSD256を再生しているときに
cat /proc/asound/Botic/pcm0p/sub0/hw_params
を実行して format: に何と表示されていますか?
ひょっとしたらDSDフォーマットとして再生できていないのかもしれません。
mpd-0.19系のときはdigififan さんのパッチ
0008-native-DSD-u32le.patch
(lightMPDのbuildroot設定ファイル類 lightmpd-buildroot-beaglebone.tgz https://drive.google.com/file/d/0B6wqcK_p4l0ROTFjR3drZk1RWkk/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B6wqcK_p4l0ROTFjR3drZk1RWkk/view?usp=sharing に含まれています)
をmpdにあてて明示的に
dsd_usb "no"
dsd_native "yes"
dsd_native_type "3"
とすることで format: DSD_U32_LE としてDSD64/128/256を再生できていました。
mpd-0.20系ではそのような明示的な指定はできないようです。(自動判別におまかせ)
digififan さんが自身のlightMPD掲示板でmpd-0.20のnative dsdの問題点を述べられています。
>cat /proc/asound/Botic/pcm0p/sub0/hw_params
残念ながら確認済みで
--------------------------------------
カード 0: DIYINHK
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072
--------------------------------------
となっています(^_^;)
ちなみに最新アップデート済みのArchlinuxだとmpd-0.19.7の全部パッチ済みの
コンパイルはたぶんffmpeg関連の何かが原因でコンパイルできません(悲)
buildrootで作ろう、完全にメモリ上で動くシステム の続きです。
これはlightmpdv1.03にupmpdcliとpolipoを追加してupnpレンダラ化をやってみたというだけの記録です。
digififanさんが公開されている
lightMPDのrootイメージの作成方法(暫定版)
に書かれていることが実行できることを前提としております。
いずれ、digififanさんがやり方を教えてくださると思います
のでそれを待たれてもよろしいかと思います。あくまで私の
やったことの記録ですので。
$ make lightmpd_beaglebone_defconfig
ここまでやりましたらここから前準備をします。
https://drive.google.com/file/d/0B6wqcK_p4l0RWEZ2dlFpeEtOR0E/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B6wqcK_p4l0RWEZ2dlFpeEtOR0E/view?usp=sharing
からpolipo-buildroot-pkg.tgzを落として来て適当な場所に
展開します。中に以下の3つのファイルがあります。
0001-discardOblects.patch
Config.in
polipo.mk
buildroot-2016.11.1ディレクトリの中にpackageがあります
ので、その中にpolipoディレクトリを作りそこに上の3つの
ファイルをコピーしておきます。
同じくpackageの中にあるConfig.inをエディタで開いて以下の
ように編集します。
source "package/opus-tools/Config.in"
source "package/polipo/Config.in" <---追加
あとdigififanさんの指示通りにディレクトリ構成をつくって
おられれば、lightmpd-root-v15というディレクトリがあります
のでその中のrootdirディレクトリを開いてください。
これはこれから作るrootイメージに追加したいものをいれておく
場所です。この中のetcに以下のファイルを作っていきます。
etc/init.d/S94polipo(実行権限の付与を忘れずに)
etc/polipo.conf
etc/upmpdcli.conf
lightmpdupnpgwを参考にすれば作れると思いますが、私の設定
を書いておきます。
(polipo.conf)
enable=yes
proxyAddress=0.0.0.0
allowedClients=127.0.0.1
chunkHighMark=335544320
chunkLowMark=83886080
chunkCriticalMark=251658240
objectHighMark=512
dnsQueryIPv6=no
cacheIsShared=false
dnsUseGethostbyname=yes
disableConfiguration=true
disableIndexing=true
disableLocalInterface=true
(upmpdcli.conf)
enable=yes
upnpiface=eth0
mpdhost=localhost
mpdport=6600
friendlyname=BBGmpd <---好きな名前にしてください
ohproductroom=BBGmpd <---好きな名前にしてください
openhome=1
ohmetapersist=1
logfilename=/var/log/upmpdcli.log
loglevel=3
(S94polipo)
これは、buildroot-2016.11.1/package/upmpdcliの中にS99upmpdcliというファイルが
ありますのでこれを上記etc/init.dにS94polipoという名でコピーしてその中身を編集します。
(編集したところだけ示します)
NAME=polipo (変更箇所)
DAEMON=/usr/bin/$NAME (変更なし)
CONFFILE=/etc/$NAME.conf (変更なし)
PIDFILE=/var/run/$NAME.pid (変更なし)
DAEMON_ARGS="-c $CONFFILE pidFile=$PIDFILE"(変更箇所)
以上が終わりましたら
$ make menuconfig
でtarget packages としてpolipoも表示されているはずですので、upmpdcliとともにチェックを
いれてexitしてください。
以上で前準備が終わりましたのでやっと「lightMPDのrootイメージの作成方法(暫定版)」
の手順に戻ります。
$ make
これ以降も手順通りにすすめて、uInitrdを作ってlightmpdbbbv1.03のものと入れ替えてください。
あと、lightMPD/mpd.confもレンダラーにしたときの以下の設定を追加してください。
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
私はbbgにamaneroを繋いで音出しを確認しております。
upmpdcliはbuildrootにありますが、polipoはサポートされていません。
digififanさんがbuildrootでpolipoをビルドできるようにconfig.in ,polipo.mkやパッチまで
用意してくださっていますのでなんとか簡単にできますが、buildrootにないパッケージは
自力でビルドするなりして追加しないといけません。
digififanさんがやり方を公開してくださる前の予習になればと思っております。
inthedark
早速、試してみて、僕の boticized-lightmpd-v03alpha に uInitrd-103-upnp という名前で組み込み、問題なく動作しました。lightmpd.conf、mpd.conf共に変更しませんでしたが、gmpc(従来型接続)、UPnPlay+MinimServerの両方でノイズの無い、きれいな音が出ることを確認しました。素晴らしい。
それで、いくつか質問です。
polipo-buildroot-pkg.tgz はdigififanさん、提供のものなのでしょか ?
lightmpd.conf、mpd.confはupnpgw版に変えた方がいいのでしょうか ?
psでmpdとupmpdcliの起動は確認しました。polipoの動作を確認する方法はありますか ?
早速お試しいただきありがとうございます。
一人でもやってくれる人いてよかったです。まあ、いいんですけどね。
>polipo-buildroot-pkg.tgz はdigififanさん、提供のものなのでしょか ?
そのとおりです。
>lightmpd.conf、mpd.confはupnpgw版に変えた方がいいのでしょうか ?
これは試してませんので詳細はわかりません。
upnpgw版は、僕が作成したpolipo.conf,upmpdcli.confに
lightmpd.confでの設定が反映されるように作られている
ので、このへんの仕組みをyoさんが解明されているなら
boticized lightmpdでやってみてください。私も勉強に
なりますので。
mpd.confはupnpgw版はどうなっているのかわかりませんので
なんとも言えません。試してみてください。
>polipoの動作を確認する方法はありますか ?
僕は、topでpolipoのvsz値をみています。
これが曲に合わせて大きくなり、最終的にpolipo.confで
設定したchunkhighmarkの値になっていけばokです。
あと、lanケーブルを再生途中で引きぬいても、polipo
が働いていればしばらく再生は続きます。
polipoが起動に失敗している場合、S94polipoに実行
権限が与えられているかどうか、編集箇所の大文字、小文字
の区別など間違いがないか確認してください。
upnpgw版をお使いなら、その中の、SXXpolipoが私のお手本
ですので、もし間違いがあれば指摘してください。
inthedark
二番目の質問はピントはずれだったですね。
要するにこれは 1.0.2or3 のlightmpdにupmpdcliとpolipoを追加し、起動するための仕組みで、confも別枠で用意する必要があるということですね。
upnpgw版は lightmpd.confからそれらのconfをGaucheを使って初期生成できるようにした版である。従って、bb lightmpd1.0.3はupnpgw版ではないので、confファイルを入れ換えても意味はないようです。
しかし、同じシステムで gmpc(従来型接続)と UPnPlay+MinimServer(UPnP接続)が共存出来ると分かったのはビックリでした。
upnpを試せる環境が現在ないので、私はすぐ試せない状況です。polipoの話は十分理解してないものの、興味はあるんですけれど…。
curlで受けると言うことは、ラジオみたいにhttp経由でデータを受信するわけですよね。だとすると、他のmpdでhttpdでoutputしたのを受ければ、polipoを通したことになるわけでしょうか。(httpdについては、マニュアルで見かけただけで実行したことはないです。)
あと、polipoを使うのはキャッシュの形でメモリを通したい、と言う理解で良いんでしょうか。送信・受信ともpolipoが使えるらしいので、その場合は双方のメモリ間でデータをやりとりするわけですかね。
cpufreqの件自分なりに調べているのに回答できずすいません。
私もlightmpdでこれが試せればと思っておりますので。
polipoですがdigififanさんがメモリ再生にヒントをえて組み込まれた
ということからも想像できるかと思いますが、キャッシュサーバー
であるpolipoでメモリにhttp経由で送られてきた音楽データを
ため、それを再生するものと簡単にですがわかった気でおります。
恐らくですがおっしゃられているご理解でよいのではないかと
思います。
digififanさんが次期lightmpdbbbでやろうとされていることに比べれば
簡易なupnpレンダラーですが機会がありましたらやってみてください。
inthedark
cpufreqの件は、妙なことを持ち出してすみません。前々から気になっていたもので…。
upnpについては、考えるよりとにかく一度やってみるのが良いのかもしれませんね。そのうち、できるように用意したいと思います。
> upnpについては、考えるよりとにかく一度やってみるのが良いのかもしれませんね。
その通りだと思います。とにかく便利ですよ。
音もupnpgw版を使い、apu(BBBなども使えそうですね)+BBGでデュアル接続すれば、素晴らしいですから。
nasは空いているSoCを使い(僕は古いcuboxを使っています)、linux化していれば、簡単にdlnaサーバ対応できます。
もう少しこだわります。
どうもpolipoがうまく動いていないという感じだったので、シリアルを使い、起動メッセージを調べました。結論としては
nano ../lightmpd-root-v15/rootdir/etc/init.d/S94polipo
NAME=polipo
DAEMON_ARGS="-c $CONFFILE pidFile=$PIDFILE"
CONFFILE=/etc/$NAME.conf
PIDFILE=/var/run/$NAME.pid
#DAEMON_ARGS="-D -c $CONFFILE"
としないと駄目なようですね。追加した2行目の最後は「”」でなく「"」。4行目のDAEMON_ARGSをコメントアウト。これでいいのでしょうか。こちらの環境ではこれでエラーなしとなりました。
もう一つ。こっちの方が謎は大きいのですが、mpd.confに
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
を追加する。
とありますが、僕の環境ではこれを追加するとエラー(mpd起動は出来るが、音が出ない)になります。
上記inputの指定はapuのupnpgw版では有効になっていますし、なんとも不思議です。昨日、的外れな質問をした理由もこれが原因です。
input 4行をコメントアウトすると正常に動作します、素晴らしい音がします。
何かとんでもない勘違いをしている可能性もありますが、topで見る限り、upmpdcli、mpd共に正常に動いているように見え、vszの値も正常のように見えます。
upmpdcli.conf、polipo.confの内容はinthedark さんの書かれた内容通りです。
inthedark さんと僕の環境の違いはBotic化しているかいないかだけですので、「うーむ分からない」状態ですね。僕もinput文を有効にする方が正しいと思うのですが、現実は逆なので、混乱しています。
S94polipoですが、私の言い方が誤解を招いていますね。
私の最初の5行をあらためて記述します。
NAME=polipo (変更した箇所)
DAEMON=/usr/bin/$NAME
CONFFILE=/etc/$NAME.conf
PIDFILE=var/run/$NAME.pid
DAEMON_ARGS="-c $CONFFILE pidFile=$PIDFILE" (変更した箇所)
-Dオプションを入れるとだめですのでその行は上記のように
変更してください、という意味合いなんです。
"と”の違いもNo5624で訂正しておきます。
こちらの環境を再度topで確認し、polipoも起動し正常に
動いて音も出ています。
と私の錯覚ではないことを確認したうえで環境の
チェックを。
cat /proc/version
Linux version 4.9.3-rt1-lightMPDbbb (araki@armlmpd64)
mpd -V
Music Player Daemon 0.19.21-dsd (lightmpdbbbv1.03にあったもの input pluginsにcurlもちゃんとある)
あとlightMPD/mpd.confにレンダラー(polipoを通す場合)
の呪文を
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
追加記入しただけなんですが。(この4行がなければ、本来の
nfs,cifsによる音だしにもどる)
それ以外はいじってませんし。
input {
plugin "curl"
# proxy "127.0.0.1:8123"
}
のようにするとpolipoを無効にできるのでこれで音が
でるなら、polipoに原因があるということになりますね。
僕のpolipoはdigififanさんのオリジナルの
polipo.mkからオプションを変えてビルドしています。
(オリジナルのpolipo.mk)
EXTRA_DEFINES="-DNO_DISK_CACHE"
(私のpolipo.mk)
EXTRA_DEFINES="-DNO_DISK_CACHE -DNO_IPv6 -DNO_SYSLOG"
これでビルドするとpolipoも違いがなくなりますので
これで起動しないとなると難しいですね。
inthedark
どうも、boticドライバ付きのカーネルだと、curl input無しでないとupnpレンダラとして認識されないということみたいですね。
試しにと、boticドライバ無のシステムを作成してみたら、逆にcurl input有りでないとupnpレンダラとしては認識されませんでした。環境の問題で、まだ音は出せてませんが、curl input無しでは認識されないことを確認済ですので、間違いないと思います。
うーむ、こうなるとmieroさんとdigififanさんに両方に調査依頼を出さないと解決出来そうにないですね。困ったなぁ。
頂いた情報をもとにもう少し頑張ってみます。
polipoの件、調査ありがとうございました。
>curl input無しでないとupnpレンダラとして認識されないということみたいですね。
僕はpolipoを入れずにupmpdcliだけでやっていたことが
あります。
input {
plugin "curl"
}
これでupnpレンダラーとしてコントローラに認識されますので
正常ですね。
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
これにして初めてpolipoを通るわけですがこれで音が
でないということはpolipoの起動に失敗していることが
考えられます。
topで
/usr/bin/polipo -c /etc/polipo.conf
の表示があればpolipoは起動してますので。
起動はしているのに音がでないということはpolipoの
ビルドに失敗しているくらいしか思いつきませんね。
私がboticized lightmpdで音出しを確認できれば
なんの問題もないんですが。なかなか手ごわい。
inthedark
オリジナル版がcurl有りで音が出ないのも問題ですが、boticized版がcurl無しで音が出るのが不思議なのですよね。upmpdcliはhttp渡しのストリームとしてデータを送り出しているわけだから、mpd側にそれを受け取る仕組みが必要なはずです。その仕組みがcurlだと思っていたので、「curl無しで音が出るとは何事だ」となるわけです。boticドライバにinとoutがあって、このin側の機能がcurlと同じように働くということなのですかね。
まあ、解明のし甲斐のありそうな謎なので、丁寧に解き明かそうかなと考えています。
> 私がboticized lightmpdで音出しを確認できれば
> なんの問題もないんですが。なかなか手ごわい。
amaneroをお使いだとすれば、dacとはi2S接続となりますから、そんなにハードルは高くないと思います。3年位前にこの掲示板でさんざん議論していますので、ご参考になるかと思います。
Jan 01 09:04 : client: [0] opened from 127.0.0.1:58826
Jan 01 09:07 : client: [1] opened from 127.0.0.1:58842
Jan 01 09:08 : player: played "http://192.168.0.35:9790/minimserver/" target="_blank">http://192.168.0.35:9790/minimserver/*/CD/1973-Suite_op_29,_Wind_Quintet_op._26--John_Shirley-Quirk,_Mary_Thomas_David_Atherton_London_Sinfonietta/01-Suite_op_29_Overture_Allegretto.flac"
Jan 01 09:08 : player: played "sdd/CD/1972-Schubert_Piano_Sonata_#21--Richter/01-Schubert_Piano_Sonata_#21_In_B_Flat,_D_960-1._Molto_Moderato.flac"
Jan 01 09:08 : client: [1] closed
Jan 01 09:09 : player: played "http://192.168.0.35:9790/minimserver/" target="_blank">http://192.168.0.35:9790/minimserver/*/CD/1973-Suite_op_29,_Wind_Quintet_op._26--John_Shirley-Quirk,_Mary_Thomas_David_Atherton_London_Sinfonietta/04-Suite_op_29_Gigue.flac"
私のupmpdcli+polipo入りのlightmpdbbbv1.03で確かめたことを
書いておきます。
lightmpdを通常の使い方ではnfsを使ってます。
mpd.confには
input {
plugin "curl"
proxy "127.0.0.1:8123"
}
が挿入された状態です。
cantata(mpdclieant)から再生をしてみました。
ちゃんと音がでます。
topで/usr/bin/polipoのvsz値を観察します。
いくら再生時間が経過してもvszに変化はありません。
upmpdcliのvsz値も変化はありません。
polipoは通っていないわけです、nfsでの再生ですから
当然ですね。
今度はLUMINから再生します。
cantataでの再生をストップしLUMINを起動します。
するとLUMINにもcantataで再生していた曲が表示されます。
そしてupmpdcliのvsz値が跳ね上がりました。
再生を開始すると音はでます。
が polipoのvszは変化がありません。
polipoを通ってませんね。
これはupmpdcliのみ入れていた状態と同じです。
今度はLUMINで(cantataで再生していた曲)を消しあらためて
LUMINでplaylistに追加した曲目を再生します。
すると、今度はpolipoのvszも跳ね上がりました。
これはちゃんとpolipoを通っている証拠ですね。
以上のように私の環境では通常のnfsによる再生も
upnpレンダラーとしての再生もできているじゃないかなあ
と思ってますが、いかがなもんでしょうかね。
inthedark
polipoの設定を修正してやってみたら、curl有りできれいにupnp再生できるようになりました。どうも、polipoがきちんと立ち上がっていなかったというのが、諸悪の根源であったようです(^^;;;。お騒がせしました。
あとわかったのは polipoが変な状態になっていても、curl無しにすれば、upmpdcli+mpdはupnp再生が出来るようですね。この時、upmpdcliからmpdにどういう形でストリームデータのやりとりがされているのか、謎ですね。まあ、upmpdcliのマニュアルにあたって調べるしかなさそうです。
苦戦しましたが、これは素晴らしい音ですね。仮公開している boticized lightmpd v03 に uinitrd を追加するかなと思っています。まあ、このスレッドのやりとりを見れば、誰でも出来るわけですが。お付き合いいただいた inthedark さんに感謝です。
> まあ、このスレッドのやりとりを見れば、誰でも出来るわけですが。
確かにおっしゃる通りなのですが、出来れば追加していただけるとありがたいです。
apu2c4などでUPnPを頻繁に使い始めましたが、操作性の点で便利であることはもとより、気のせいかも知れませんが更に音の良さを感じています。(NASマウントとの当社比較)
以下は全くスレッドには関係ない私の独り言です(^^;
inthedarkさんは、もしかして「デジファイのおと」さんの掲示板で登場されるtakobozuさんと同一人物なのかな…
こちらの掲示板と同一時間帯に同内容のコメントをupされていたのでそう思いました。
> 出来れば追加していただけるとありがたいです。
了解しました。今週末位にアップするつもりです。例によって着せ変え人形方式でやります。
> 気のせいかも知れませんが更に音の良さを感じています。
気のせいではなく、UPnPの方が良いと僕も思います。まあ環境次第という部分はあると思いますが、一番音の良い upnp-arch をディフォルトにするつもりです。
apuをお持ちなら、apuをホスト、BBBをUPNPアダプターとするデュアル方式が音としてはザベストだと思います。
ただ、この方式をとる場合、ipアドレスの変更が必要ですが、どうしますかね。バラして、編集して、再生成するというのが簡単そうですが。Gaucheを使うのが正攻法であるのは承知していますが...。
まだ分かっていないのは packages/mpd-native-dsd を単独でクロスビルドさせる方法です。
make mpd-native-dsd-dirclean
がメークするルールがないというエラーになってしまうのですよね。
このため、以下の方法で回避しました。
一番目の方法(mpd.mk にオプション指定を追加)
packages/mpd-native-dsd/mpd-native-dsd.mk の
MPD_NATIVE_DSD_CONF_OPTS = \
以下のオプション指定の記述を MPD_CONF_OPTS に変えて packages/mpd/mpd.mk にコピーする。
二番目の方法(Config.in を使ってメニューに rtopt を追加)
package/mpd/Config.inに以下を追加(場所は適当でよいが、僕はDSDの後にしました)
config BR2_PACKAGE_MPD_RTOPT
bool "rtopt"
help
Enable rtopt to set mpd thread priority on rt Kernel
RT patches by yan and digififan are required.
packages/mpd/mpd.mk に以下を追加する(場所は適当でよいが、僕はDSDの後にしました)
ifeq ($(BR2_PACKAGE_MPD_RTOPT),y)
MPD_CONF_OPTS += --enable-rtopt
else
MPD_CONF_OPTS += --disable-rtopt
endif
あとは ca2さんが書いておられますが、
make mpd-dirclean
ccache make
でビルドを行えばいいです。
環境によっては
apt-get install ccache
が必要です。
パッチはpackages/mpd/に番号数字付(000n)付きで置いておけば、その順番で自動的にかかります。
hashを回避する方法は packages/mpd/mpd.hash に以下を追加すればいいです。
none xxx mpd-0.20.4.tar.xz
ビルドは
output/build/mpd-0.20.4
ベースで行われます。この時、
output/target/
がクロスビルドの環境になるようです。従って、mpdは
output/target/usr/bin/mpd
にインストールされます。また
output/build/mpd-0.20.4/src/mpd
にコンパイルされたmpdが置かれます。
不思議なのはこの二つにかなり大きいサイズの差があること。
yo@ubuntu:~/digifi/beaglebone/buildroot-2016.11.1$ ls -l output/target/usr/bin/mpd
-rwxr-xr-x 1 yo yo 409704 2月 10 18:24 output/target/usr/bin/mpd
yo@ubuntu:~/digifi/beaglebone/buildroot-2016.11.1$ ls -l output/build/mpd-0.20.4/src/mpd
-rwxr-xr-x 1 yo yo 730748 2月 10 18:24 output/build/mpd-0.20.4/src/mpd
となります。なんでですかね。とりあえず公開する時、「どうしたものかいな」と悩んでいます。
upnp版は音は圧倒的に良いと思いますが、かなり動作はセンシティブですね。dsd再生でpolipoのrt優先レベルを上げすぎるとノイズが発生します。他にも何か有りそうなので、公開は遅れそうです。
まあ、さっさと公開して、皆でバグ出しという手もあるのだけど。
> 他にも何か有りそうなので、公開は遅れそうです。
了解しました。人柱が必要な時は協力させていただきますので(^^;
待つだけでは芸がないので、当方もinthedarkさんの手順のとおりにやってみて、何とか音出しにこぎ着けました。
途中、makeinfoが無いとかいろいろありましたが、無事コンパイル終了。ちゃんとLUMINからも再生指示ができました。
他人様に教えて貰ったとおりだとしても、やはり嬉しいものですね。inthedarkさん、ありがとうございましたm(_ _)m
当方でもinthedark さんの手順でpolipoを通してupnpレンダラー化に成功しました。
NASの音源を聴いているのにLANケーブルを抜いても暫く音が途切れないのが不思議な感覚です。
これまでホームネットワークとは別に有線ルーターで分離したオーディオ専用ネットワーク(digififan さんが自身のdigifi laboで公開しているネットワークプレーヤ用ネットワーク)にBBGを接続していたのですが、polipo & upnpレンダラー化を機にBBGをホームネットワーク側に繋げ変えました。
BBB版lightMPDのBoticizedカーネル、最新版MPD、rootイメージ作成等がbuildrootでセルフビルド&構築できるようになったことで自分専用カスタマイズが俄然面白くなってきました。
こうなってくるとやはりapuが欲しくなってきますね。UPNPアダプターモードを試してみたいです。
polipo + upnpレンダラー化成功おめでとうございます。
案外簡単でしょ。音は素晴らしいし、自分好みの設定は出来るので、この機能追加はお勧めですね。
あと、直前にやり方を書き込んだMPDのクロスビルドもお勧めです。最新のMPDを簡単に追っかけられるようになりますので、楽しいですよ。時間も実機の数分の1に短縮されます。
digififanさんはupnpgwのデータも公開されるようなので、余っているrpiやbbbを活用できるようになるだろうから、楽しみですね。
buildrootというのは本当によくできたおもちゃ箱ですね。
本当によくできたのおもちゃ箱、まさにその通りだと思います。
まず、inthedark さんのご教示によりbuildrootの使い方を知るとともにBoticizedカーネルが(しかも今では最新版にrtパッチ当てて)セルフビルドできるようになり、
次にdigififan さんの情報公開によりrootイメージの作成やMPDのリビルドができるようになり、
加えてpolipo&upnpレンダラーの組込みへと進んできました。
私の場合、MPDのセルフビルドはdigififan さんのmpd-native-dsdをベースにパッチ当てとmpd-native-dsd.mkを編集して使用しないdecoder、encoder、その他のプラグインを削ることでビルド時間の短縮と軽量化を図っています。MPDの最新版の追っかけもmpd-native-dsdをベースに行っています。
buildrootはgit版を使用していて、rootイメージの作成時にpackageファイルが無くてエラーが出た箇所はbuildroot-2016.11.1のpackageから該当ファイルをコピーして対応しました。
皆様に教えていただいたことを辿っているだけですが、音出しに成功する度に感動しました。
勿論、yo さんがリリースされているBoticized lightMPDの解説や構造も大いに参考になりました。
どうもありがとうございました。
おはようございます。buildroot生活を楽しんでいただいているとの
ことで,嬉しいご報告ありがとうございます。
これからもこういう楽しい連鎖が起こっていくといいなあと思い
ます。
digififanさんがアイデアを詳細に公開してくださるおかげで、
私はupnpアダプタをrpi2Bでやってます。apu要らないです。
rpi2Bにupmpdcli+polipoを, bbgにmpdをいれたシステムを作り
遊んでおります。digififanさんのアイデアの奥深さに感心させられ
ます。rpiお持ちの方は是非やってみてください。
inthedark
範囲でお話したいと思います。
digififanさんとお話していての私なりの理解です。
mpdはpolipoが音楽データをキャッシュしてからでないと
音楽を再生できない。だからmpdの優先度がpolipoより
高くてもなんの問題もない。だが常にpolipoの優先度が
mpdより高いとおかしなことになる。(音飛びや、システムの
フリーズなど)<----私は体験済み
つまりキャッシュにデータがある一定程度貯まるまでは
polipoはmpdより優先度が高くてもいいがmpdが再生できる
ほどのデータが貯まればpolipoにはさっさとmpdに優先権
を明け渡す必要があるわけです。polipoにはchrtをせずmpdに
だけ優先度設定をしておけばいい、これがdigififanさんの
考え方だと思います。
これを一歩進めたのがdonuts.shop73さんです。この方はある
一定程度データをキャッシュするまではpolipoにchrt 98を
与えるが、それ以降はpolipoの優先度をmpdより下げるという
ことをスクリプトで実現させておられるようです。
donutsさんのmpd.confを見ればわかりますが、rtoptionの値も
audio_buffer_sizaやbefore_buffer_playの値もdigififanさん
のものとは全く違います。この当たりからも様々な試行錯誤を
されているのではないかと思います。
お二方に共通するのは以上からわかるようにpolipoにいつまで
もmpdより高い優先度で居座られては困る、ということだと
私は勝手に理解しております。
inthedark
> 私はupnpアダプタをrpi2Bでやってます。apu要らないです。
これは、是非、手口をサルでも分かるように公開して頂けるとうれしいです。
僕はrpiは余りがないのですが、BBBはあまっているのがあるので。
優先度だけではなく、chunkサイズなんかもシビアです。まあ、BBBはメモリが512MBしかないというハンディがありますが、大きくすると簡単にハングします。また、許容されるサイズも、wav再生かdsd再生かで変わったりします(dsd再生の方がシビアです)。
というわけで、polipo.confとupmpdcli,confをリードオンリーの/etcに置くのは使いづらいかなと思います。
sdカードの/lightmpd/に置いて、S00setupvarで/var/lightmpd/etcにコピーして使うという方法が良さそうです。
CONFFILES="lightmpd.conf mpd.conf sysctl.conf polipo.conf upmpdcli.conf"
さらに、S94polipoと(package/upmpdcli/)S99upmpdcliの修正が必要になりますが、
CONFFILE=/var/lightMPD/etc/$NAME.conf
で済むので、問題はなさそうです。
優先度の設定なども同じ方法で行えそうですね。タイミングの問題はありますが。
>sdカードの/lightmpd/に置いて、S00setupvarで/var/lightmpd/etcにコピーして使うという方法が良さそうです。
CONFFILES="lightmpd.conf mpd.conf sysctl.conf polipo.conf upmpdcli.conf"
さらに、S94polipoと(package/upmpdcli/)S99upmpdcliの修正が必要になりますが、
CONFFILE=/var/lightMPD/etc/$NAME.conf
で済むので、問題はなさそうです。
私もそうした方がいいと思います。
外から簡単にいじって色々試せるようにしておいた方がいい
ですね。
>手口をサルでも分かるように公開して頂けるとうれしいです。
いやー、しんどいっすね。笑
buildrootで懲りてますし。もう少しまてばlightmpdの次期
バージョンで試せるようになるんではないかと思いますし。
僕のようにapuを買わないで当面済ませようと考えている
人には有用ですが、財力のある方はapu買った方が早いかと。
まあ、考えておきます。
inthedark
普段はネットに書き込むことはあまり無いのですが、一言だけ。
(1)polipo.confとupmpdcli.conf
既に中身を見られておられるようですが、
lightMPD/upnpgwではlightmpd.confの同セクションの記述を起動時にそのままファイルに書き出しています。
syssetup.scmは各機種である程度共有されていますので、必要な部分のみを持ってくるのはありです。
私の公開しているイメージでは、テンプレートを用意しlightmpd.confの内容で置き換えています。
(2)chunkサイズ
私の環境では以下の設定で特に問題なく動いています。
chunkHighMark=402653184
chunkLowMark=100663296
chunkCriticalMark=268435456
ただpolipoの制限として、chunkHighMarkを超えるサイズのファイルについては再生が寸断されてしまう(プレイリストの次曲へ移る)のはどうしようもないです。
chunkCriticalMarkを超えた場合、古いデータを削除しようとして再生中のファイルが破壊されているではと考えています。
(3)upnpアダプタ
ちょっと系統は異なりますが、私の公開しているRPi2用のイメージではWi-Fiに対応しています(GW-USNANO2専用ですが)。複数のネットワークを内包しているという点ではお役に立てるかもしれません。(有線2本よりは面倒なことになっていますが。)
(4)その他
お遊び程度ですが、私の公開しているイメージではMiniDLNAを搭載しています。SDカードのmusicフォルダに格納された音楽ファイルをUPnPクライアントから選択可能です。
UPnPの環境が整っていない方でもUPnPの操作性を手軽に体験していただけます。
(5)Botic化
私の環境でもBBのBotic化で音出しまでできました。
おこがましいようですが、動いて満足している程度のものですが、お声掛け頂ければひとつのサンプルとしてご参考にしていただく事も可能です。
ここまでご足労いただきましてありがとうございます。
お時間が許す限りで結構ですので色々ご教示いただければ
幸いです。
inthedark
この掲示板でもアドバイスいただけると嬉しいです。
(1) syssetup.scmでpolipo、upmpdcliのパラメータ設定を操作している部分は分かりました。ただ、Gaucheは苦手なので、とりあえずは直前のメッセージで書いたように、S00setupvarによりかかるという方法で対応するかなと思っています。
(2) まだチューニング中ですが、僕のところの数字です。
#chunkHighMark=335544320
chunkHighMark=235544320
chunkLowMark=83886080
#chunkCriticalMark=251658240
chunkCriticalMark=201658240
大分低い値ですが、uInitrdやmpdを肥大化させているからかなと思っています。
> ただpolipoの制限として、chunkHighMarkを超えるサイズのファイルについては再生が寸断されてしまう(プレイリストの次曲へ移る)のはどうしようもないです。
これはまだ経験していませんが、クラシックの長大な曲(20分以上)だと再生出来ないということになるのでしょか。
(3)(4) rpi用の公開イメージを拝見しようかなと思っています。複数回線の処理は必須になりますから。
(5) 参考にしたいので、お手数をかけて恐縮ですが、Botic化したイメージのアドレスを教えていただけますか。
私見ですが、Boticドライバはlightmpdとの相性は随分良いとと思っています。
イメージは下記にあります。ご参考までに。
【イメージ格納場所】
https://drive.google.com/file/d/0B9LSJY9xM01jUDJtNkZVOHNDTzQ/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B9LSJY9xM01jUDJtNkZVOHNDTzQ/view?usp=sharing
【ファイル名】
bb-upnp-botic-20170212.zip
standalone, playerの2つのconfファイルを格納しています。
デフォルトはstandaloneです。
networkの設定変更のみで動作すると思います。
musicフォルダもお試しください。
私の環境では 96kHz24bit 26分 の曲が再生できません。
50秒あたりで次曲へスキップしてしまいます。
おはようございます。
donutsさんが書き込まれたのには驚きました。
yoさんが何かされたのですか?
inthedark
何も怪しいことはしてませんよ(苦笑)。
只今、upnp botic版をダウンロードして、試しているところです。ネットワークアドレスの設定だけで、一発で音が出ました。素晴らしい音がします。これはお勧めです。
これは以前digififanさんの掲示板で紹介されたバージョンをbotic対応させたものみたいですね。素晴らしい完成度だと思います。これから内部調査してみるつもりです。
僕のupnp版を待っていた方は是非これをダウンロードして下さい。僕のやつはアップロードに時間がかかりそうなので。こっちの方が完成度は高いです。シンプルで使いやすいです。ビーグル犬のアイコンも楽しいです。
>何も怪しいことはしてませんよ(苦笑)。
少なくとも関心をもって頂いているということでしょう。
それが私にとっては驚きだったわけです。
(botic化までして頂いてますので。)
>これから内部調査してみるつもりです。
これはサルでもわかるように調査結果をお願いします。
inthedark
素晴らしいイメージの提供ありがとうございました。早速インストールし聞いております。
素晴らしい音が出ています。
私の設定は以下の通りで聞き取りました。
Win10+MinimServar→pad+BubbleUPnP→BBG→ B3D-A4495
PCM44.1k
・問題なく聞けますが曲選択、時間選択、曲間時に小さなプチノイズが出ます
・曲の時間移動時に、曲の最初に戻るのに曲時間が継続されるため、曲の途中で次の曲に移動する
PCM96k
・曲の選択ダブルクリックでないと選択できない(BubbleUPnPの問題?)
・曲が選択できても再生する前に止まることが多い
PCM192k
・ノイズのみで曲が再生されない
DSD
・問題なく再生される
SDカード
・約5秒ほど再生されるがその後停止
・音量が大きくなるよう
・音質はUPnPより良い感じ(短時間の聞きにより断定できない)
BBGのハードの変化
面白い現象が出ていますuser led d2が起動後は全く点滅していないもよう
まとめ
UPnPは素晴らしい音を出している
SDカードからの音を聞いてみたい
今まで聞いた感想です
プチノイズ、止まる、ノイズのみ、すべてchunkサイズの問題だと思います。lightmpd.confで数値を調整すれば解決すると思います。詳しくは直前の僕、donutsさん、inthedarkさんのメッセージを読んでください。
> 面白い現象が出ていますuser led d2が起動後は全く点滅していないもよう
これは仕様のようです。意図的にブリンクを止めていらっしゃるようです。
sdカードの件は僕は試してないので分かりません。