upnpgwと連携してupnpのレンダラーとして使用します。
基本的にはダウンロードしたそのままの状態でご利用ください。
【特徴】
MPDはSYMPHONIC-MPDのモジュールを使用しています。
(作者の方には公開の了解をいただいています。)
その他、SYMPHONIC-MPDの特徴をなるべく盛り込むようにしました。
私はRaspberry Pi 3、I2S接続DAC、両方とも持っていませんが、
SYMPHONIC-MPDの音が気になりましたのでこのような形で
音出しをしてみました。
全く別物になっている可能性もあります。
両方の音を聞ける環境をお持ちの方、感想など頂けると幸いです。
【格納場所】
https://drive.google.com/file/d/0B9LSJY9xM01jUmZhS0Rwb0lkM2c/view?usp=sharing
【ファイル名】
rpi2-smpdplayer-usb-20171017.zip
【対応機種】
Raspberry Pi 2
※Rpi3用のdtbも格納していますが、確認はとれていません。
【インストール手順】
(1)パッケージをダウンロード
(2)解凍して出来たフォルダの中身のみをmicroSDカードへコピー
【設定変更手順】
confフォルダ内にmpdとpolipoの設定ファイルがありますが
通常は使用しません。initrd.romfs.gzですべて完結させています。
設定を変更したい場合は以下手順でinitrd.romfs.gzの再作成をします。
(1)config.txt変更 (#を付け替える、以下は変更後の内容)
#kernel=/boot/zImage.player
kernel=/boot/zImage.setup
※zImage.playerはSDマウント、telnet接続ができません。
(2)confディレクトリのupload.lstを変更
mpd、mpd.conf、polipo.confの内取り込みたい行を有効化(#を外す)
※'='の右に取り込みたいファイル名を指定
(3)起動&接続
アダプター経由でtelnet接続(root/パスワードなし)
(4)/var/bin/mkimage.shを実行
/var/tmp/imgディレクトリが作成され、initrd.romfs.gzに必要な情報
が収集されます。
※(2)の内容も反映されます。
(5)/var/tmp/imgの内容を変更(任意)
※mpd.conf、polipo.confの変更だけであればこの手順は不要です。
(6)/var/bin/mkinitrd.shを実行
/var/tmp/imgの内容からinitrd.romfs.gzを作成
※作成したファイルはSDのconfディレクトリへコピーされます。
(7)SD内のbootディレクトリへ作成したinitrd.romfs.gzをコピー。
(8)config.txtの戻し
※(1)(2)(7)(8)はWindows上の操作です。
(3)(4)(5)(6)はtelnetで接続したRaspberryPi2上の操作です。
イメージは無保証です、個人の責任でご利用ください。
質問などありましたらこのスレッドにお願いします。私が回答いたします。
※正式版とは関係ありませんので、digififanさん、SYMPHONIC-MPDの作者の方
へ直接問い合わせることはおやめください。
raspi 3で動作を確認しました。dtbファイルはどちらを選択しても動作するようです。
手持ちのファイルではなくダウンロードし直して確認しましたが、
私の環境ではどちらのカーネルでも再生できました。
telnetがつながるのであれば再生できても良さそうなものですが...
【再生を確認した環境】
upnpplayer: ココで公開している物(Raspberry Pi 2)
upnpgw: 「NanoPiNEO用lightMPDにupnpgwの機能を追加しました」で公開している物(NanoPiNEO2)
USB-DAC: uDSD
その他: USB-LANアダプター(NanoPiNEO2に接続)
【接続】
[HUB]---USBLAN---[NanoPINEO2]---LAN---[RaspberryPi2]---USB---[USBDAC]
【upnpplayer仕様】
カーネル: 4.12.14
MPD: 0.19.21
ネットワーク設定はlightMPDのupnpplayerに準拠
polipoはupnpplayerとupnpgwでカスケード接続を想定
DSDは dop="yes" を設定
/pro/asoundが無いのは正常です。再生中も無いです。
カーネルをスリム化している際に落ちたようですが、
私的にはなくても問題ないためそのままにしています。
以前公開したものに対してもどなたかから同じ指摘を受けたことがあります。
同じ構成のupnpplayerがもう一つあります。これもココで公開いたしますので
お手数ですが再生可能かご確認いただけないでしょうか。
こちらはapuとの接続で再生できたと報告いただいているものです。
【格納場所】
https://drive.google.com/file/d/0B9LSJY9xM01jTG4yZDNmWVJyTzg/view?usp=sharing
【ファイル名】
rpi2-upnpplayer-usb-20171015.zip
これはSYMPHONIC-MPDのMPDを取り込んだ版の前身にあたるもので
とことんスリム化を追求したものです。initrd.romfs.gzのサイズが
4MB強ほどとなっています。
再生可能なフォーマットは、flac, wav, dsd に絞っています。
apu1d4をアダプターとして試聴しました。アダプター側のpolipoの設定ですが、donutsさんが他で公開している数字にしないと、容量の大きいハイレゾファイルの再生が、途中で中断する(その後はシステムがハングする)現象が発生しました。apuをプレーヤーにも使う場合とくらべて、各設定を半分以下にする必要があるようです。
音は素晴らしいです。apuほど太い音ではありませんが、透明感があり、しなやかであると感じました。
apu1c2(lightMPD upnpgw) adapter + Korg 10R DAC と繋いで、音出し、確認しました。r-pi3を使い、device_tree=/boot/bcm2710-rpi-3-b.dtb、arm_freq=1320に変更しています。MPDが0.20.9rtの直前の版を試していましたので、問題なく動かせました。素晴らしい音ですね。
ちなみに
> /pro/asoundが無いのは正常です。再生中も無いです。...以前公開したものに対してもどなたかから同じ指摘を受けたことがあります。
は僕です。
「まさか /proc/asound まで削除しているソフトがある」とは夢にも思いませんでしたので、ビックリ。あまりの刈り込みの凄さに驚いた記憶があります。
基本的にホールトーン重視のSymphonicMPDの世界に近づいた音になりますね。
MPDが0.20.9rtの版は徹底したオンマイク、クリアな音ですが、こちらはもっと雰囲気重視、柔らかい音になっていると思います。どちらが良いかは好みだと思いますが、僕はこちらの音が好きです。
SymphonicMPDとの比較ですが、SymphonicMPDで raspbianを排除して、upnp対応させたらどんな音になるのかなと思っていました。scratch linux、upnpタンデム構成で、「なるほどねぇ。よりリアルな音になるなぁ。」と分かったというところですかね。まあ、このあたりは試聴に使う DACによって変わる範囲ですので、あくまで参考にというレベルの感想です(SymphonicMPDは r-pi2 + TerraBerryという構成で鳴らしています)。
質問が三つ。
一 mpdはSymphonicMPDのものをそのまま入れ換えたのでしょうか ?
二 mpd以外にSymphonicMPDを参考にチューニングされたのは何でしょうか ?
三 mpd以外のソフトに手は入っていますか(例えばpolipoにdigififanさんのパッチは適用されているか) ?
面白いソフトの公開ありがとうございました。
動作確認がとれて良かったです。
感想もいただきありがとうございます。
BBでのboticやOrangePiZero、NanoPiNEOなどに手を出してはいるものの
RaspberryPi2でのUSB接続を基本にやっていますので、
そう言っていただけるとうれしいです。
>mpd以外のライブラリは普通にbuildしたものですか?
mpd以外のライブラリもmpdが必要なものはglibcをのぞいてすべて
SYMPHONIC-MPDから持ってきました。
glibcとそれ以外のライブラリは普通にbuildしたものです。
後から公開したもののスリム化は、mpd、polipoなど実行プログラムが
必要とするライブラリをldd コマンドで事前確認した上で徐々に
外していきました。
その他、以前どなたかがスリム化を行っていた情報も
参考にさせていただきました。
uehara2007さん
polipoの設定に関するご報告ありがとうございます。
参考にさせていただきます。
感想もいただきありがとうございます。
kubota.yoさん
感想いただきありがとうございます。
>SymphonicMPDの世界に近づいた音になりますね。
これが聞けて安心しました。
SYMPHONIC-MPDはMPDだけでなくシステムトータルで開発されていますので、
MPDだけ持ってきてどこまでの音が出せるのか不安でした。
>一 mpdはSymphonicMPDのものをそのまま入れ換えたのでしょうか ?
上にも書いている通り関連ライブラリ含めそのまま入れ替えています。
>二 mpd以外にSymphonicMPDを参考にチューニングされたのは何でしょうか ?
SYMPHONIC-MPDのホームページから引用すると以下ぐらいでしょうか。
11.CPUのオーバークロック
⇒ SYMPHONIC-MPDのRpi2用の設定にしています。
12.GPUのアンダークロック
⇒ 設定が反映されているのか未確認ですが 0 を設定しています。
15.CPU Affinity設定
⇒ MPDの起動をCPU1からCPU0に変更しました(変化が合ったのかどうか?ですが)
19.USBポートへのバスパワー供給停止
⇒ 公開状態では無効にしていますがUSB-DACの電源を外部供給している場合は
有効だと思います。/etc/init.d/S99rc.localに設定があります。
20.LED消灯
⇒ もともとやっていたことではありますが、電源のみ残しています。
/etc/init.d/S99rc.localに設定があります。
Rpi3のSYMPHONIC-MPDではどのような状態なのでしょうか?
21.ALSAバッファのチューニング
⇒ 256 (デフォルトから気持ち多め)にしていましたが 4096に変更しました。
>三 mpd以外のソフトに手は入っていますか
polipoにはdigifaifanさんのパッチを適用させていただいています。
それ以外では、カーネルにパッチを当ててLANのLEDを消しているくらいです。
digififanさんのlightMPDを自分なりにスリム化し、そこへパパリウスさんのMPDを乗せてみた。
私のやっていることはただそれだけです。
最後になってしまいましたが、みなさん Rpi3 をお使いなのですね。
公開しているものは Rpi2 用ですので、Rpi3を使う際にはconfig.txtに
以下を加えるともう少し変わってくるのでしょうか。
# disable wifi/bluetooth
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt
ご返事ありがとうございました。どういう仕組みなのかよく分かりました。
僕も以前botic版のlightMPDで同じようなことを試したことがあります。
http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=5508#5509
ライブラリを含めて、丸ごともってきたのが、SymphonicMPDの世界を引き継いでいるということだと思います。
> # disable wifi/bluetooth
試してみましたが、僕の耳(環境)では違い分かりませんでした。
変わったような気もするのですが、多分気のせいですね(^^;;;。
>それ以外では、カーネルにパッチを当ててLANのLEDを消しているくらいです
HDMI、USBのOFFは以前から当方も適用していました。
LANのLED消灯はやり方が分かりません。
差し支えなければ、やり方や、参考ページなどをご教授いただけないでしょうか。
ksp130k
LANのLED消灯についてはこの掲示板の別スレッド「なんちゃってネットワーク分離」で公開しています。1月15日のコメントを参考にしてください。
アダプタはNano Pi neo2です