swingboyさん
> 症状はPCからympdでアップデートし、NASの中身が見れて曲を選び、再生が出来て音が出ます。 所が1分以内にconnection refusedの表示が出て、接続が切れます。
lightmpd.confには問題はありません。
connection refusedの表示はブラウザーで表示されていると思いますが、この時音は出てますか?
音が出ているなら、ympdの問題、音も切れるならネットワーク関連の問題と考えられます。
手持ちのraspi2が見当たらないので、こちらでは確認できていないのですが、ympdの問題のような気がします。
音も着れるとなると、ネットワークなどの問題と考えられます。raspi2用のv1.0.2で音が切れるなどの問題はなかったと思います。
swingboyさん
raspi2 用の最新版は lightMPDraspi-armv7-v1.1.0.zip です。
v1.0.2が最新版としてアナウンスしているのは私のミスです。
申し訳ないのですが、上記のパッケージを再インストールして下さい。
このバージョンもympdは動作しません。(ympdのバグである事はわかっています)
ympdに対応したrootイメージを明日公開します。しばらくお待ち下さい。
lightMPDraspi-armv7-v1.1.0.zipについてはこの掲示板の「raspberry pi シリーズの lightMPD v1.1.0を公開しました。」のスレッドを参照して下さい。
swingboyさん
ympdのバグに対応した lightMPDraspi-armv7-v1.1.1.zip を公開しました。
raspi2(raspi系の32bitバージョン)はこれが最後になります。v1.2.0以降からraspi系は64bitバージョンに統一しました。
32bitバージョンにバグがあればv1.1.0に対する修正になります。
よろしくお願いします。
swingboyさん
> 残念ながら症状は変わらずで、ympdでnasがマウント出来て、音が出ます。
> 所が数十秒で 一瞬connection to ympd lost ?のエラーが出てそのあとはconnection refusedが繰返して出ます。
こちらでもraspi2 + hifiberry pro の組み合わせでテストしていますが、このような症状は出ません。
しかし、再生中にmpdを強制終了すると上記の状態になります。
このことから、swingboyさんの場合もなんらかの理由でmpdが終了したと考えられます。
こちらでも調べますので、
wingboyさんの環境でtelnetが使えるなら、以下の方法でmpdが異常終了したときのメッセージを教えて下さい。
mpdはフォアグラウンドで起動するので、そのままにしておきます。
この状態でmpdから色々とメッセージが出ますが、この状態でympdから曲を再生してください。
mpdが終了するとメッセージも止まり、プロンプト(#)がでます。
そのとき画面に表示されているエラーメッセージを教えて下さい。
エラーメッセージは複数に渡ることもあるので、その場合はエラーメッセージ全行の内容を教えて下さい。
よろしくお願いします。
ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 0: start_time: 0.000 duration: 228.391
ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: stream 1: start_time: 0.000 duration: 228.391
ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: format: start_time: 0.000 duration: 228.391 bitrate=141 kb/s
ffmpeg/mov,mp4,m4a,3gp,3g2,mj2: After avformat_find_stream_info() pos: 284384 bytes read:211750 seeks:4 frames:2
update: added MusicCD/日本/鈴木茂/BAND WAGON/09-銀河ラプソディー.mp4
update: reading Hi-Res/サンプル/TrondheimSolistene/【無料サンプル音源】 SOUVENIR part II/【無料サンプル音源】 SOUVENIR part II_03_【無料サンプル音源-flac-96 24 】SOUVENIR de Florence op. 70 I. Allegro con sp.flac
update: added Hi-Res/サンプル/TrondheimSolistene/【無料サンプル音源】 SOUVENIR part II/【無料サンプル音源】 SOUVENIR part II_03_【無料サンプル音源-flac-96 24】SOUVENIR de Florence op. 70 I. Allegro con sp.flac
update: reading Hi-Res/サンプル/圓谷綾乃/ハイレゾで聴く「SK-EX」 ~カワイ最高峰 のフルコンサー~/ハイレゾで聴く SK-EX カワイ最高峰のフルコンサー_03_Debussy Suite Bergamasque 1. Prelude Chopin Scherzo No.2, Op..dsf
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
client: [0] process command "status"
client: [0] command returned 0
Killed
#
swingboyさん
テストありがとうございます。
> client: [0] command returned 0
> Killed
mpdが異常を検出して終了した場合は、mpdがその異常内容をメッセージ表示しその後終了します。
しかし、今回の場合はmpdの預かりしれないところで異常終了しています。ちょっと困りました。
swingboyさんはraspi4もお持ちのようですが、raspi4でテストできますか?
raspi4でも同じなら外的要因の可能性が高いです。
> 音源:Exact AUDIO COPYを使ってCDリッピング 、フォーマットはFLAC
> 今回は、ジャズでkiyoshi kitagawaのancestryです。
logを拝見するとswingboyさんは市販の音源をお持ちのようですが、これでも同じようになりますか?
exact Audio Copy はダウンロードできましたので、こちらでもExact Audio Copy でリッピングしてテストしてみます。
swingboyさん
> →SkyMPCで接続するとnasがマウントされていて選曲が出来、1の音源を選びました。
> →再生がスターとせず、音が出ません、そして1分足らずでこの接続が切れました。
音がでないのは別にして、e-onkyoの音源を使っても現象は同じのようです。
> →PCからipアドレス:8080でアクセル出来ず
すみません、これはlightMPDのバグです。現状ではympdは使えません。
ympdのバグの修正がraspi系では漏れていたためです。なるべく早く修正しますが、それまではskympcを使ってください。
> raspi4bとTerra-berryDACの組み合わせにしないとこれ以上テスト出来ませんでしょうか?
いいえ、その必要はありません。
前回のログからmpdが異常終了しているのは確実なのですが、理由が思い当たりません。
他のシステムでは問題ないので、ネットワークの問題でもなさそうです。
ネットワーク関連で思い当たるのはイPアドレスの重複です。
lightMPDではIPアドレスは手動で設定しますが、IPアドレスの重複はありませんか?
すこし対応を検討します。
swingbyさん
いろいろテストしていただいでありがとうございます。
テストケース②で再生出来ないというのは、lightMPDの場合と同じようになるという事ですか?
こちらでも色々テストしましたが、現象が再現できません。再生中イーサーのケーブルを外すとその間再生は中断しますが、接続すると何事もなく再生が始まります。
raspi2,raspi4とも同じだということでlightMPDの問題と認識していますが、原因として思い当たるところがありません。
私の使っているnasもqnapで環境的にswingboyさんとそんなに違わないと思います。
うまく動作するシステムとligtMPDのマウント状k表を比較したいので、
raspi4bのRuneAudioにsshでログインして下記のコマンドの結果を教えて下さい。
cat /proc/mounts
このコマンドを実行すると現在マウントされているファイルシステムの状態が表示され、これでマウント時のパラメータを見ることができます。
cifsでマウントした場合、useridとpasswdも表示されるのでそれは適当にマスクしてください。
よろしくお願いします。
root@runeaudio+R e3:~ # cat /proc/mounts
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=1982848k,nr_inodes=180416,mode=755 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
/dev/mmcblk0p2 / ext4 rw,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12925 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p1 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0
//192.168.***.***/Public/Music /mnt/MPD/NAS/MusicServer cifs rw,relatime,vers=1.0,cache=strict,username=admin,uid=45,forceuid,gid=45,forcegid,addr=192.168.0.20,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=404064k,mode=700 0 0
以上
なお、PCから見てこの音源はnasの
PC>Public(¥¥MusicSerever) Z:\Music\Hi-Res\サンプル\TrondheimSolistene\【無料サンプル音源】 SOUVENIR part II
となっています。
プレイストは、
PC>Public(¥¥MusicSerever)Z:\mpd\playlists
です。
よろしくお願いします。
swingboyさん
色々テストして頂いてありがとうございます。cifsのパラメータについてはlightMPDのものと同じでした。
整理すると
他のディストリビューションでは発生していないことから、これはlightMPD固有の問題と認識していますが、原因が特定できません。
一般的に、LinuxのプロセルはSIGKILLシグナルを受け取るとKilledというメッセージを出力して終了します。
このことから、mpdがSIGKILLシグナルを受け取っていると考えられます。
SIGKILLを発行したのは多分mpd自身だと思います。mpdというよりmpdが使っているシステムライブラリのどれかが続行不能と判断して自分自身をkillしたと考えられます。
lightMPDは他のディストリビューションと違ってシステムライブラリも独自に構築しているので、このあたりに問題があるのかもしれません。
いろいろテストしましたが、こちらでは現象が確認できませんでした。お手上げ状態です。
swingboyさんのネットワーク環境についても、raspi,nasが同一セグメント(ハブ)につながっているので特に問題はないと思います。
一度この件の調査を打ち切らせてください。
swingboyさんにはいろいろテストしていただいたのですが、お役にたてずに申し訳ありませんでした。
swingboyさん
> なお、今後何か解決のヒントを思いつたらお知らせください。
今回の件はlightMPDの潜在的バグとして認識しています。
lightMPDはbuildrootというシステムで構築しています。
buildrootの最新版は2020年05月版なのですが、lightMPDでは2017年11月版がベースになっています。
runeaudioに比べるとライブラリなどが古くなっています。
また、肝心のmpdもlightMPDでは0.20.xですが、runeaudioでは0.22.xです。このあたりの差が出たのかなと思っています。
lightMPDではmpd本体及びmpdが使うライブラリ(libsox)を改造しているため、最新のbuildrootに移行出来ない状態です。
swingboyさんの環境にdlnaサーバーがあるなら、upnpmodeを使うと状況は変わるかもしれません。
upnpmodeで動作するとcifs関連に問題があると切り分けられるのですが、切り分けられたとして解決できる保証はありません。
qnapにはdlnaサーバーがあったのですが、今のバージョンにあるかはわかりません。新たにdlnaサーバーを立ち上げるのは結構大変です。
もし、swingboyさんがdlnaで運用するのに抵抗がなければupnpmodeを試して見てください。
swingboyさん
> ただ、調べた所QNAPでもMultimedia Consoleから設定出来る様です。
> QNAP MediaServerとTwonky Media DLNA Serverが選べるのか?
> これを設定すると、現在上手く再生出来ている物にも影響があるのでしょうか?
> 慌てて設定するには見合わせておきます。
私はtwonkymediaを使っています。私が使っているのは8.2.1.0で現在サポートされている8.5よりはだいぶ古いものですが、とても安定しています。
QNAP MediaServerは使ったことがないのでわかりません。
DLNAサーバーをインストールしても現在動作しているプレーヤー(runeaudioなど)が動作しなくなるということはありません。
各プレーヤーソフトでDLNAの設定を行うことでDLNAサーバーの音源を再生できるようになります。
swingboyさん
upnpmodeで動作するということはCIFS周りに問題がありそうです。
これは解決出来そうにないので、upnpmodeで使ってください。
私がQNAPを購入したときはTwonkyServerは標準で入っていました。しかし、途中からTwoonkyServerは標準から外されたので、バージョンアップもせず古い物を使い続けています。
今年のはじめにTwonkyServerのサポート開始がアナウンスされましたが、まさか有料だったとは... バージョンアップしなくてよかったです。
> ここまで来たらそのうちAPU2も買って、次のステップでしょう。
APU2は今となっては古くなった感は否めません。スイッチサイエンスでも販売は終了しているようです。
APU2よりは少し金額ははりますがLIVAZ-4(N4200)などのほうが使いでがあります。usb接続のDACを使った単体システムでもapu2よりは音がいいです。
LIVA-Zに限らずイサーネットを2個搭載したファンレスPCならどれもlightMPD-upnpgwは動くと思います。
最近、NanoPi R2S というarmベースのSBCでイーサーネットを2個搭載したものが販売されました。
価格は22ドル、プラスチックのケースが3ドルです。
日本でも販売されるようになったら、これ用のupnpgw は作りたいなと思っています。kernelさえなんとかなればraspi3用のものが流用できそうです。
ということでupnpgwの構成はすこしまったほうがいいと思います。
アドバイスありがとうございます。
APU2はやめにします。
NanoPi R2Sは$22なら安いですね、輸入しても¥5,000程度?
Raspi4Bと組み合わせるならば、イーサーネット分離式でなく下図のUPNPアダプター式でしょうか?
小生はRaspiの I2Sで次に繋げて
Raspi4B→お気楽さんPiPCM-CONV→やなさんI2Sアイソレータ2基板→やなさんファイナルR-2R DAC基板→トランスでIV変換→アンプ
で組み上げるのがターゲットで、昨年末にI2Sアイソレータ2基板とファイナルR-2R DAC基板を衝動的に入手し、少しづつ部品を揃えているところです。あまりに部品が小さくて半田付け出来るかと、最終的に幾ら費用が掛かるのかでビビッています。
UPNPアダプター
swingboyさん
> Raspi4Bと組み合わせるならば、イーサーネット分離式でなく下図のUPNPアダプター式でしょうか?
そのとおりです。
upnpgwの為だけにLIVAZ-4はちょっと贅沢かなと思います。しばらくはRaspi4bだけで楽しまれてはどうでしょうか?
> Raspi4B→お気楽さんPiPCM-CONV→やなさんI2Sアイソレータ2基板→やなさんファイナルR-2R DAC基板→トランスでIV変換→アンプ
私もやなさんのR-2Rの計画をしています。
構成は
usb ——> i2soverusb ——> R-2R——>トランス——> アンプ
i2soverusbはusb → i2s を行うDDCですが、i2s出力時のフォーマットにi2sの他right-justified,left-justifiedを選択できます。
更にi2sはアイソレートされていてクロックはDAC側についています。そのクロックでアイソレートされた信号をリクロックしています。
1つ前のバージョンを使っていますが、他のxmosのddcに比べても音はいいと思います。
R-2R DACの場合、抵抗の精度が大事だと思いますが、0.05%の抵抗など結構な値段がします。部品集めから頓挫しています。
長らくメインのDACとして使っていたお気軽さんのDAC9018Dv2が壊れてしまったので、急遽denafrips ares II というDACを購入しました。
これもR-2R(20bit)DACです。DSDはハードでデコード(DSD原理基板と同様の方式)します。
これをNOSの設定にしてlightMPDでPCM,DSDとも16fsに変換して聞いています。
もうこれでいいんじゃないかと思うくらい気に入っています。
ということで、やなさんのR-2Rはもう少し先になりそうです。
swingboyさん
>i2soverusb は知らなかったです。
i2soverusbのドキュメントを確認したらright justifiedはRJ24でした。
やなさんのR-2RはRJ32なので直結は出来ません。
この基板を使った場合でもi2s→RJ32の変換を何らかの形で行う必要があります。
swingboyさん
よく考えてみれば、1フレーム64bit (32bit/ch)の場合、LJ(left justified)とRJ32は同じなのでLJの設定でうまくいくはずです。i2soverusbを検討したのはだいぶ前で、忘れていました。
> denafrips ares Ⅱも調べたら、日本円で8万円位でしょうか?コンパクトで良いですね。
私は82000円で購入しました。その他に2100円の税金を取られています。確かにこれだけの物量を投入した割には安いのですが、今だとこの値段でAK4499を使ったDACが手に入ります。
AK4495,4497を使ったDACを制作し使ったこともあるのですが、未だにDAC9018DV2を使っています。
AKシリーズの音があまり好きでないのかもしれません。しかし、いろいろな方の試聴記を見るとAK4499はちょっと別物のような気がしてちょっと気になっています。
denafrips ares II はi2s入力がないので、raspi4で使う場合はusb接続になります。ares IIのusbは32fsを受け付けるのですが、実際にはノイズだらけで実用になりません。
私の場合は、lightMPDでアップサンプリング、dsdはpcmに変換するのが前提なのでDAC側のデジタルフィルターがバイパスできるのが前提です。ares II はnosの設定があるのでnosで使っています。
ares IIはdsdをハードでアナログ信号に変換できるのですが、これはあまり良くありませんでした。
私も TDA1541を使ったDACの音を聞いて NOS + R2Rに興味を持ったのですが、当初はsoekris dam1021を使う予定でした。(今ならdam1121) しかし、これはNOSの設定ができなさそうななのでパスしました。内部で64fsにアップサンプリングしてr-2rに出力するようです。
NOSにこだわらない場合は、これを使うのも手かもしれません。0.01%の抵抗を使ったものが€282だそうです。
swingboyさん
まず用語の説明から
フレーム 左チャンネルのデータ/右チャンネルのデータの一組をフレームと呼びます。
MSB バイナリーデータの最上位ビット
LSB バイナリーデータの最下位ビット
32bitのバイナリーデータの場合、
B31 B30 B29 B28 ...... B01 B00
と表現しますが、B31がMSB、B00がLSBになります。B31は2の31乗を意味しています。
1チャンネルあたり24bitのデータ(B23 B22 B21 ... B01 B00)を32bitのフレームに詰め込むと8bit分の空きができます。
その空きの部分に0を詰めます。
RJ 0 0 0 0 0 0 0 0 B23 B22 B21 ..... B01 B00
LJ B23 B22 B21 ..... B01 B00 0 0 0 0 0 0 0 0
データが32bitの場合、そもそも空きがありませんから0を埋める必要がありません。
mpdからデバイスに送るフォーマット(I2S,RJ,LJ)はデバイスのドライバーで規定されます。
hifiberry などは I2Sですが、もしかしたらLJ で送信するデバイスもあったかもしれません。これは調査していないのでわかりません。
LJで送信するデバイスがあれば PiPCM-CONVは必要ないかもしれません。
> AK4495,4497を使ったDACを制作し、とあり驚きました。
いずれも頒布されている基板を入手して作りました。回路設計をしたわけではありません。
DAC9018Dv2には電源とか、IVトランスをおごったのでそれも影響しているのかもしれません。
swingboyさん
返信が遅れて申し訳ありません。
> ①R2RDACも、32bit,2chの為にはlightmpdのmpd.conf設定はaudio_output_format “*:32:2”に設定する。
その通りです。
> ②I2Sのタイミングチャートでは、LJに対してMSBが1BCK 分ずれて始まります。
> LJとのこの差をLRCKをずらして合わせるのがPiPCM-CONVと理解しています。
> 今回の32bitの場合は1BCK分遅らせれば良い、で合っていますか?
PiPCM-CONVのことはわかりませんが、PiPCM-CONVにLJの設定があればLJに設定したほうがいいと思います。
本来なら、raspiとr-2rdacを直結して、raspiからLJで出せればいいのですが、LJやRJで受け付けるボードは無いようです。なんらかの形でI2S→LJの変換を行う必要があります。
> ③lightmpdの[mpd]でdac=usb-audioを選択し、RaspiからUSBで出力してi2soverusb で受けてLJで
> R2Rに渡せばこれらの問題は無い。
その通りです。この場合もaudio_output_formatに”*:32:2"の設定は必要です。
i2soverusbを使う場合は電源に注意が必要です。
i2soverusbはデジタル電源とアナログ電源(アイソレートされる側の電源)の2つ必要です。
この内デジタル電源はUSBのバスからも供給が可能ですが、デジタル電源が大食らいの為、PCによっては
不安定になります。