abk1's scratched blog 3::AUDIO DIARY

コメントへの書き込み機能は停止していますので宜しくおねがいします。

May 27, 2018

piCore7で作るPPAP Back-End (2020.08.16.追記)

piCore7でppap (piped pcm audio play)を試みる
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20180301a.htm

piCore7でPPAPバックエンドは恐ろしいほど簡単にできる。
そう思っていたら、後から「こうすれば良かった」とか出てきてるので上記のエントリーに随時加筆訂正を入れていたんだけど、読みにくすぎる。

問題になっているのはバックエンドに関してだけだ。
なので、piCore7 PPAP Back-Endの作り方を、独立したエントリーにまとめることにした。

まず、microSDにpiCoreを焼いて、i2s DACの設定など必要に応じて記載して、ras piに刺して起動する。
詳細は、こちらのエントリーを参照のこと。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20180103a.htm
piCore7にmpdをインストールする方法

以下、sshでログイン後の流れを.ash_historyファイルからコピペ。

filetool.sh -b
sudo fdisk -u /dev/mmcblk0
sudo resize2fs /dev/mmcblk0p2
vi /opt/eth0.sh
chmod +x /opt/eth0.sh
vi /opt/bootsync.sh
vi /opt/.filetool.lst
filetool.sh -b

ここまでで、基本的なセッティングを終了。
続いて、nmapとalsaをインストール。

ras pi B+の場合。

tce-load -wi nmap.tcz alsa-modules-4.1.13-piCore+.tcz alsa.tcz

ras pi 2の場合。

tce-load -wi nmap.tcz alsa-modules-4.1.13-piCore_v7+.tcz alsa.tcz

これだけでいいのか、という感じ。

続いて、bootlocal.shを編集。
コマンド設定を書き込んで、piCore起動時にバックエンドとして機能するようにする。

vi /opt/bootlocal.sh

16/44.1のデータを受ける場合は、下記をbootlocal.shに追記する。

/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D plughw:0,0 -M --period-size=64 --buffer-size=512 -t raw -f cd"

下記は24/192のデータを受ける場合。
192kHzがaplayで扱うことができるサンプリング周波数の上限なので、PPAPの上限も192kHzになる。

/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D plughw:0,0 -M --period-size=512 --buffer-size=4096 -t raw -f S24_LE -r192000 -c2"

https://linux.die.net/man/1/aplay
aplay(1) - Linux man page

前回のエントリーで書いたけど、piCore7の場合は「-D plughw:0,0」の記載がなかったら、dmixが起動して48kHzにリサンプリングされる。
しかし、alsa-modules-4.1.13-piCore_v7+.tczとalsa.tczしかインストールされてない状態だと、mpdの再生自体が止まるようだ。ncmpcppに「paused」が表示されて、音が出なくなる。これら以外のalsa関連のtczがインストールされていないと、dmix自体が動かないし出力もしないらしい。
dmixがインストールされていないんじゃないかな。
というか、dmixがなかったら音が出ないのか?、、
あれこれインストールするより「-D plughw:0,0」を指定したほうがシンプルだし扱いやすくていいと思う。

この「hw」「plughw」という文字列だけど、どうもあちこちで説明の内容が違う。
環境によって違ってくるのか「aplay -l」で表示されるデバイス名を指定できるという話や、plughwを使うとリサンプリングされるという話もある(えぇー?)。
しかし、うちではplughwを記載したら、確かにフロントから出力したとおりのサンプリング周波数が表示されるんだよね、、、

以前に使っていた、
/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -M --period-size=512 --buffer-size=4096 -t raw -f S24_LE -r192000 -c2"
というようなコマンドだと、前述の通り音が出ない。alsa-dev.tcz alsa-doc.tcz alsaequal.tcz alsa-locale.tcz、、まあ、どれが働くのかわからないけど、これらがインストールされていたらdmixが働いて48kHzに変換された上で、音が出る。

/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D hw:0,0 -M --period-size=512 --buffer-size=4096 -t raw -f S24_LE -r192000 -c2"
だったら「paused」が表示されて音が出ないんだけど、alsa-dev.tcz alsa-doc.tcz alsaequal.tcz alsa-locale.tczを追加インストールしても、「paused」で音が出なかった。「-D hw:0,0」はあちこちでdmixによるリサンプリングをさせない設定とされているんだけど、どうもpiCore7ではうまく機能しない。

/usr/local/bin/ncat -kl 4444 -e "/usr/local/bin/aplay -D plughw:0,0 -M --period-size=512 --buffer-size=4096 -t raw -f S24_LE -r192000 -c2"
これだったら、こちらの求めるように機能して音が出る。どこかでそうなるように設定されているのかもしれないけど、よく分からない。
現状、変換せずに音が出てくれたらいい、という感じだ。

2020.08.16.追記。
上記の「hw」と「plughw」の件について、解決したと思うので昨日にエントリーを挙げた。
PPAP back-Endの設定を考え直す(hwとplughw)
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20200815a.htm

要は、コマンドの書き間違いのせいでエラーが起きていたということ。データのフォーマットの記載が不正確だったので、plughwで記載する必要が生じたらしい。具体的には「S24_LE」というのが間違いだったのではないかと。
おそらく正確な記載は「S32_LE」だったのではないかと思うのだけど、今となっては推測だ。

閑話休題。

忘れないように設定を保存しリブートすれば、PPAP Back-Endとして機能する。

filetool.sh -b
sudo reboot

以下、Ras pi 2で設定して「df」を打った結果。

tc@box:~$ df
Filesystem                Size      Used Available Use% Mounted on
tmpfs                   833.2M      9.5M    823.7M   1% /
tmpfs                   462.9M         0    462.9M   0% /dev/shm
/dev/mmcblk0p2           28.3M     13.1M     13.6M  49% /mnt/mmcblk0p2
/dev/loop0                1.1M      1.1M         0 100% /tmp/tcloop/mc
/dev/loop1                1.9M      1.9M         0 100% /tmp/tcloop/openssh
/dev/loop2                4.9M      4.9M         0 100% /tmp/tcloop/nmap
/dev/loop3              768.0K    768.0K         0 100% /tmp/tcloop/alsa-modules-4.1.13-piCore_v7+
/dev/loop4              256.0K    256.0K         0 100% /tmp/tcloop/alsa
/dev/loop5                1.1M      1.1M         0 100% /tmp/tcloop/glib2
/dev/loop6               68.0K     68.0K         0 100% /tmp/tcloop/libssh2
/dev/loop7              256.0K    256.0K         0 100% /tmp/tcloop/ncurses
/dev/loop8                1.5M      1.5M         0 100% /tmp/tcloop/openssl
/dev/loop9              292.0K    292.0K         0 100% /tmp/tcloop/libnl
/dev/loop10             128.0K    128.0K         0 100% /tmp/tcloop/libpcap
/dev/loop11             128.0K    128.0K         0 100% /tmp/tcloop/lua-lib
/dev/loop12             384.0K    384.0K         0 100% /tmp/tcloop/libasound
/dev/loop13              28.0K     28.0K         0 100% /tmp/tcloop/gamin
/dev/loop14              36.0K     36.0K         0 100% /tmp/tcloop/libelf
/dev/loop15             256.0K    256.0K         0 100% /tmp/tcloop/pcre
/dev/loop16             384.0K    384.0K         0 100% /tmp/tcloop/libgcrypt
/dev/loop17             128.0K    128.0K         0 100% /tmp/tcloop/libusb
/dev/loop18              36.0K     36.0K         0 100% /tmp/tcloop/bzip2-lib
/dev/loop19             128.0K    128.0K         0 100% /tmp/tcloop/libgpg-error
/dev/loop20             128.0K    128.0K         0 100% /tmp/tcloop/libudev

インストールされたtceの一覧。

tc@box:~$ ls /usr/local/tce.installed/
alsa                            libelf                          libudev                         openssh
alsa-modules-4.1.13-piCore_v7+  libgcrypt                       libusb                          openssl
bzip2-lib                       libgpg-error                    lua-lib                         pcre
gamin                           libnl                           mc
glib2                           libpcap                         ncurses
libasound                       libssh2                         nmap
tc@box:~$ 

piCoreはループバックデバイス機能を使って、インストールしたファイルをイメージであるかのように扱いRAM上に展開する。で、合ってるのかな?
結果、軽量なシステムのはずだけどプロセスが多くなるみたい。
削れるものはあるかもしれないけど、僕のほうでは無理せずにこのまま使っている。

>
Posted at 12:55 in audio_diary | WriteBacks (0) | Edit Tagged as: ,
WriteBacks
TrackBack ping me at
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20180527a.trackback
Post a comment

writeback message:
Caution!!!
Now, Anyone cannot post a comment.















Search


Advanced Search

Recent entries from same category
  1. PPAPで44.1kHzを再見する
  2. オーディオ状況報告(2025.04.20.)
  3. LAN ネットワークを見直してみた 7-2(GS105EによるVLANの挙動について - 13日、追記)
  4. LAN ネットワークを見直してみた 7(GS105EでポートベースVLANを使ってみる)
  5. MQAメモ
  6. LAN ネットワークを見直してみた 6(ハブについて現時点でのまとめ + NASの移動)
  7. LAN ネットワークを見直してみる 5(Walter Tilgner / Whispering Forest を巡る顛末)
  8. LAN ネットワークを見直してみる 4 (18日、19日に追記)
  9. LAN ネットワークを見直してみる 3
  10. LAN ネットワークを見直してみる 2
  11. オーディオ状況報告(2025.01.03.)
  12. テストシステムのPPAPで、44.1kHzを鳴らしてみる
  13. RoonとQobuzをやめた、他いくつか
  14. 書くことが無いので、libsamplerate (SRC) によるアップサンプリングの設定変更で音質が変わるかどうかを確認した
  15. オーディオ状況報告(2024.07.15.)
  16. 新しいLMSとDaphileとDeezerプラグインについてメモ
  17. 古いRaspberry PiをRoon、Mpd、UPnPとかで使おうとしたら
  18. Raspberry Pi 3B+をRoon Bridgeにする
  19. Logitech Media ServerのUPnP pluginとmpdの設定を見直した
  20. Mac mini (2010 mid)でFedoraが動くようになったので
  21. Logitech Media Serverを整理する
  22. Logitech Media ServerをMac miniにインストールして新しいDeezerプラグインを試みる
  23. DaphileでDeezerの再生ができなくなるので(3月25日、追記)
  24. オーディオ状況報告(2024.01.21.)31日追記:Deezerが使えなくなる
  25. ストレージ
  26. mpdサーバーに銅メッシュを仕込んでみる(17日、追記)
  27. アップサンプリングの設定を変えてmpdサーバーの負荷を減らしてみる
  28. Daphileサーバーに銅メッシュを組み込んでみる
  29. NASが壊れた
  30. 銅素材でPCトランスポート筐体内のノイズ対策を試みる(10月7日、追記)
  31. I try Roon on Linux
  32. オーディオ状況報告(2023.08.03.)
  33. LAN ネットワークを見直してみる
  34. オーディオ状況報告(2023.06.28.)
  35. HP Probook 450 G9, mpd, libsamplerateで高品質アップサンプリングを試みる(6月1日、4日、追記)
  36. 最新ノートPCで起動できるTiny Core 64 mpdサーバーを過去の資産の切り貼りで作る
  37. 最新のノートPCを最新のTiny Core 64で起動する
  38. リッピング(17日、追記)
  39. なぜpiCorePlayerとM500でMQAを再生すると、音が途切れることがあるのだろう
  40. Deezer hifiのMQAをDaphile、piCorePlayerで再生する(追記:WiFiでつなぐことにした)
  41. resampler {type "Best Sinc Interpolator"} 192kHzってどうなんだろう
  42. resampler {type "Best Sinc Interpolator"} を試してみるべきかも・・・(7日、追記あり)
  43. earfluff and eyecandy によるJitterの解説 その1
  44. earfluff and eyecandy によるJitterの解説 その2
  45. earfluff and eyecandy によるJitterの解説 その3
  46. TAS Super LP List と TAS Super Download List
  47. Ras Pi B+とpiCore13.1でPPAP Back Endを作ってみたけど
  48. オーディオ状況報告(2022.05.28.)
  49. Behringer MONITOR1の性能を確認する(5月24日、追記)
  50. いわゆる直結を試みる
  51. DVDドライブで聴くCDの音が良いような
  52. DaphileでMQAデータをpiCorePlayerに転送再生する
  53. Daphile 設定関係の覚え書き
  54. オーディオ状況報告(2022.01.20.)
  55. カーステレオにRas Pi2+piCore7+MPD+i2s DAC (追記 10月31日、11月03日)
  56. オーディオ状況報告(2021.09.05.)
  57. PPAP Back-Endをタンデム化
  58. ネットワーク上のサーバー運用を再考する
  59. pulseaudioでMQAデータを転送再生する
  60. DAC/アンプの切り替えケーブルによる音質変化ついて
  61. オーディオ状況報告(2021.06.14. 06.18. 追記あり)
  62. DAC/アンプの切り替え盤を設えてみた
  63. Musician Pegasus R2R DACを入手した(12.01. 12.07. 追記)
  64. mpdでCD再生に対応する(2022.03.29./.08.16./2025.04.08. 追記)
  65. オーディオ状況報告(2021.05.02.)
  66. アップしたイメージのPPAPへの転用についてPhile Webに記載した(2022.06.21. 追記:Phile Webサービス終了にて記載内容を転載した)
  67. イメージファイルをアップするにあたって、うちのセットからの変更点
  68. UPnPレンダラー兼アップサンプリングサーバーのディスクイメージをアップした
  69. DaphileにNASをマウントしてみる(cue sheetが使える!)
  70. オーディオ状況報告(2021.04.04. もうちょっと整理したい)
  71. DaphileとTiny CoreでDeezer hifiを768kHzにアップサンプリングする(ついでにPPAPで飛ばす - たびたび追記あり)
  72. DaphileとVolumio 1.55でDeezer hifiをアップサンプリングする
  73. DaphileとpiCorePlayerでDeezer hifiを聴いてみる
  74. PulseaudioによるLan経由音声データ転送のデータ量が大きすぎる(未解決案件)
  75. Deezer Web Player使用をサポートするデータベースを運用してみる
  76. ソフトを起動する順番を変えてみる ~ pulseaudioによる音声データ転送 使い方まとめ(2021.01.31. 06.26. 追記)
  77. pulseaudio クライアントのFirefoxを強化する
  78. オーディオ状況報告(2020.11.22.)
  79. pulseaudioサーバーを強化する(その2:12月11日、追記あり)
  80. pulseaudioサーバーを強化する(10月24、25日、11月01、05、10日、追記あり)
  81. ストリーミング音源をpulseaudioで転送しアップサンプリング再生する(10月15日、追記)
  82. 音楽ストリーミングサービス覚書
  83. Pulseaudioの備忘録
  84. 音楽ストリーミングサービスのウェブプレーヤーを使う
  85. Pulseaudioを使ってRaspberry piにAmazon Prime Musicを転送再生する(9月8日追記)
  86. 引き続き、hwとplughwについて
  87. PPAP back-Endの設定を考え直す(hwとplughw)(8月20日追記)
  88. オーディオ状況報告(2020.08.07.)
  89. バランス接続に業務用アッテネーターを試す
  90. Brooklyn AmpでSM-SX100の代替を試みる(07.14. 2022.02.24. 追記)
  91. 手持ちのアンプでSM-SX100の代替を試みる
  92. SMSL M500でMQAを聴いてみた(10.26. 追記あり)
  93. ジッター再々考
  94. サンプリングパラメータによるジッターの影響の差異について
  95. 今更だがpiCore7を復帰させる
  96. 700kHz台でPPAP 複数のFrontを使い分ける(2020.05.01、2023.06.22 追記)
  97. 700kHz台でPPAP(22日、4月7日追記)
  98. オーディオ状況報告(2020.03.08.)
  99. コンデンサーと抵抗と銅板による仮想アース(1月23日、26日、2月10日、16日、22日、27日、3月1日、8日追記)
  100. GNDについての考察してもわけがわからない
  101. コンデンサーと抵抗による仮想アースと銅板(追記あり)
  102. Lascia la spina (2021.04、2022.11 追記あり)
  103. コンデンサーと抵抗による仮想アース
  104. apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その4:動作確認)
  105. apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その3:0.21 インストール)
  106. apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その2:0.20 インストール)
  107. apu2で、Tiny CorePure64-10.1にmpd(0.20、0.21)をインストールする(その1:準備)
  108. LANに機械をつなぐということについて
  109. apu2d4でTiny CorePure64 10.1を動かす
  110. だんだん秋になってくる
  111. ケーブルインシュレーターをコンセントに使う
  112. 久しぶりにインシュレーターを追加する
  113. オーディオ状況報告(2019.05.03.)
  114. 歌声の録音について自分なりに考えた
  115. アップサンプリングについて色々
  116. オーディオ状況報告(2018.12.30.)
  117. Compaq 6730bとTiny coreでアップサンプリング (768kHzアップサンプリングの音について)
  118. apu2c4で768kHzへのアップサンプリングに取り組む
  119. ADI-2 DACとpiCoreで、384kHz以上を鳴らしてみる
  120. raspberry piをncmpcppサーバーに仕立ててみた
  121. RME ADI-2 DACを導入した
  122. fireface UCXの電源をiPowerに替えてみた
  123. USB電源用のDCノイズフィルターを作ってみた
  124. ようやくNASを追加した
  125. piCoreのonboot.lstを編集してタスク軽減を目指す
  126. PPAP (piped pcm audio play) 関連サイトアドレス集
  127. piCore7で作るPPAP Front
  128. PPAP Back-EndのUSB出力が48kHzになっていたので修正した(2020.08.16.追記)
  129. RAMメモリ再生とppap(piped PCM audio play)を比較した
  130. オーディオ状況報告(2018.04.12.)
  131. 今一度、44.1/16を聴き比べる
  132. MPDのアップサンプリングによる音への影響を確認してみる(SoXとLibsamplerateを比較する)
  133. piCore7でppap (piped pcm audio play)を試みる(05.22、2020.08.16、追記)
  134. ppap (piped pcm audio play)を試みるが、一筋縄に行かない、、、
  135. piCore7にmpdをインストールする方法
  136. オーディオ状況報告(2017.12.24.)
  137. 赤い鳥の音源について思ったこと
  138. fireface UCXについて再び(不覚だった、、、)
  139. オーディオ状況報告とか、いろいろ(2017.10.22. USB029H2RP導入など)
  140. ノイズ対策をあれこれやると音がずいぶん変わってしまった(11月21日USBターミネーターについて追記)
  141. fireface UCXについて(2017.09.05.追記あり)
  142. オーディオ状況報告(2017.07.05.)
  143. ハイレゾとアップサンプリング、384kHz周辺をいろいろと聴いてみた(7月2日、追記)
  144. Moode Audio3.1 384kHz/24bit i2sDACで、メモリ再生を試みる
  145. Moode Audio3.1にlibsamplerateをインストールして384kHzでi2s出力する
  146. オーディオ趣味の課題 備忘録
  147. Fishmans がリマスターで再発されたので1stアルバムを聴いてみた(2017.09.05.追記あり)
  148. mpdからmpdにflacをHTTPストリーミング機能で配信する
  149. mpdのHTTPストリーミング機能でflacを配信してみる(24日追記)
  150. MinimServerをRaspberry Pi B+で動かしてみた(24日追記)
  151. Volumioにマウントした時に機能するシンボリックリンクを作りたい
  152. VolumioをUPnP/DLNAで繋いでみた(1月4日、追記あり)
  153. UPnP/DLNAは難しかった(volumioをupnpで繋いだので追記した)
  154. オーディオ状況報告(2016.11.24.)
  155. JPLAYの音を聴いてみるなど
  156. Raspberry Piとi2sボードでのアップコンバートについて雑感
  157. mpd + SoXによるアップコンバートについて (Ras pi2用のpiCore7にはmpdのインストールが簡単にできる - 追記あり)
  158. mpd + libsamplerateによるアップコンバートについて(2021.04. 追記あり)
  159. ハイレゾを作って再生してみる、など (追記:アップコンバートすることにした)
  160. オーディオ状況報告(2016.06.14.)
  161. Raspberry Pi でメモリ再生を試みる2(raspbianにmpdをインストールする)
  162. Raspberry Pi でメモリ再生を試みる(piCore7にmpdをインストールする)-いろいろ追記あり
  163. NASの中のcue sheetの中を検索する
  164. Volumioのカーネルをバージョンアップしてみる(追記あり、さらに追記あり)
  165. Volumio 1.55 をいじってみる
  166. Raspberry pi B+ / Volumio 1.55 の運用状況
  167. VolumioのSDカード領域を拡張したのでメモ 追記:USBポートの電流出力上限を変更した
  168. 転居後の状況
  169. 引っ越した
  170. I2S DACとRaspberry Pi B+を導入 - Volumioでcue sheetを使う方法
  171. オーディオ状況報告(2014.10.01.)
  172. 加入者網終端装置(CTU)の設定でネットワークを分割する
  173. audio_output_formatについて(Vine Mpd ppcについて覚書-13)
  174. NASの入れ替え
  175. EACの覚書(2019年追記)
  176. Vine Mpd ppcについて覚書(12)デーモンの刈り込み
  177. Vine Mpd ppcについて覚書(11)mpd.conf : audio_buffer_sizeとbuffer_before_play
  178. Vine Mpd ppcについて覚書(10)NASのマウントについて
  179. オーディオ状況報告
  180. Vine Mpd ppcについて覚書(9)twmについて(2014.03.14.追記)
  181. Vine Mpd ppcについて覚書(8)サンプリング周波数とビットレートの変更+追記:mpd.confの設定
  182. Vine Mpd ppcについて覚書(7)というよりEACの設定について
  183. Vine Mpd ppcについて覚書(6)不良cue sheetによる再生の不具合
  184. Vine Mpd ppcについて覚書(5)alsa関連で要らないものを入れすぎていた
  185. Vine Mpd ppcについて覚書(4)ncmpcppのインストール
  186. Vine Mpd ppcについて覚書(3)ncmpcppの設定
  187. Vine Mpd ppcについて覚書(2)mpdのインストール
  188. Vine Mpd ppcについて覚書(1)前書き・OS選択
  189.  オーディオ状況報告
  190. 4年前との違い
  191. ファイルオーディオ現状
  192. ザ・ビートルズBOX USBをEMI Japanから買った
  193. abk1
  194. Magic Dreamの使いこなし顛末
  195. Magic Dreamと黒檀コロの比較
  196. Magic Dream、ようやく使ってみた
  197. Magic Dream、とりあえず使ってみた/ゴムシートの効果
  198. Magic Dream
  199. Audio Diary

May
Sun Mon Tue Wed Thu Fri Sat
       
28

abk1's scratched blog 3::AUDIO DIARY

Categories
Archives

ABK1s HOMEPAGE::audio diary ~2006

Search


Syndicate AUDIO DIARY (XML)
Syndicate this site (XML)

Powered by
blosxom 2.0
and
modified by
blosxom starter kit