abk1's scratched blog 3::AUDIO DIARY

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

Jan 22, 2017

mpdのHTTPストリーミング機能でflacを配信してみる(24日追記)

今回はこれ。
MPD Stream lossless flac or wav / Takla's Weblog
https://takla.wordpress.com/2014/04/01/mpd-stream-lossless-flac-or-wav/

MPD HTTP streaming reducing CPU load ! / raspberrypi.org forum
https://www.raspberrypi.org/forums/viewtopic.php?f=35&t=43670
MPD and high CPU usage / raspberrypi.org forum
https://www.raspberrypi.org/forums/viewtopic.php?f=35&t=47400

Music Player Daemon/Tips and tricks HTTP ストリーミング / ArchWiki
https://wiki.archlinuxjp.org/index.php/Music_Player_Daemon/Tips_and_tricks#HTTP_.E3.82.B9.E3.83.88.E3.83.AA.E3.83.BC.E3.83.9F.E3.83.B3.E3.82.B0

mpdをhttpサーバーに出来るという。flacでもストリーミングできるそうな。
よくよく読んだらvlcかmplayerじゃないと聴けないみたいなんだけど、まあ、試してみた。

使用したのはraspberry pi B+を2台。OSにはraspbian jessie。
まず1台にmpdをインストールしてhttpストリーミングサーバーにする。
流れは以下の通り。

sudo raspi-config
vi /etc/dhcpcd.conf
sudo reboot

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mpd mpc flac

chmod 777 /etc/mpd.conf
vi /etc/mpd.conf

#
music_directory         "/var/lib/mpd/music"
playlist_directory              "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/tag_cache"
log_file                        "/var/log/mpd/mpd.log"
pid_file                        "/run/mpd/pid"
state_file                      "/var/lib/mpd/state"
sticker_file                   "/var/lib/mpd/sticker.sql"
#
#user                           "mpd"
#group                          "nogroup"
#bind_to_address                "localhost"
#bind_to_address                "/run/mpd/socket"
#
#port                           "6600"
#
#### audio_output {
# type          "alsa"
# name          "My ALSA Device"
# device                "hw:0,0"        # optional
#       mixer_type      "hardware"      # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
# }
#
audio_output {
type            "httpd"
name            "My HTTP Stream"
encoder         "flac"          # optional, vorbis or lame
port            "8000"
#### bind_to_address "192.168.1.85"               # optional, IPv4 or IPv6
#       quality         "5.0"                   # do not define if bitrate is defined
#       bitrate         "128"                   # do not define if quality is defined
format          "44100:16:2"
#       max_clients     "0"                     # optional 0=no limit
}
#
#### samplerate_converter               "Fastest Sinc Interpolator"
#### audio_output_format "96000:16:2"
#

sudo chmod -R 777 /var/log/mpd
sudo chmod -R 777 /run/mpd
sudo chmod -R 777 /var/lib/mpd

sudo mount -o addr=192.168.1.80,nolock -t nfs 192.168.1.80:/titan/jazz /var/lib/mpd/music
sudo mpd --kill
pstree

systemd-+-2*[agetty]
        |-avahi-daemon---avahi-daemon
        |-cron
        |-dbus-daemon
        |-dhcpcd
        |-mpd-+-{decoder:flac}
        |     |-{io}
        |     |-{output:My HTTP }
        |     `-{player}
        |-ntpd
        |-rsyslogd-+-{in:imklog}
        |          |-{in:imuxsock) S 1
        |          `-{rs:main Q:Reg}
        |-sshd---sshd---sshd---bash---pstree
        |-systemd-journal
        |-systemd-logind
        |-systemd-udevd
        `-thd

途中で何回かリブートしたけど、大体こんな感じ。
mpdをサーバーにできるので、ncmpcppでファイルや曲の選択ができるのが強み。データベースのアップデートはスピーディで、cue sheetも使える。
今回はなぜかapt-get update upgradeしなかったら、apt-get mpdができなかった。
samplerate_converterでアップサンプリングしたら処理能力を超える感じだったので止めた。
sudo mpd --kill でmpdを落としたら、数秒で再起動するようになっているようだ。

次にストリーミング受信機の設定。
mpdで受けれたらいいんだけど無理っぽい。
https://wiki.archlinuxjp.org/index.php/Music_Player_Daemon/Tips_and_tricks には mpc add http://192.168.1.86:8000 とかコマンドでできるみたいなことが書いてあるけど、多分、vorbis or lameじゃないといけないんだろう。

https://takla.wordpress.com/2014/04/01/mpd-stream-lossless-flac-or-wav/ こちらのリンク先などに書いてあるとおり、mplayerを使う。
以下、流れを記載。
あらかじめbootのconfig.txtにi2sDACの設定を書き込んでおく。

sudo raspi-config
vi /etc/dhcpcd.conf
sudo reboot

sudo apt-get install alsa-base

sudo apt-get update
sudo apt-get upgrade

なんかalsaインストールが先になってる。ここらの流れで挙動が変わるかどうかは不明。
mplayerインストールする。

sudo apt-get install mplayer
man mplayer
mplayer -idle -cache 2048 http://192.168.1.86:8000

これで、httpサーバー192.168.1.86からのストリーミングを受信してras piのイヤホンジャックから音を聞ける。なかなかきれいな音だけど、再生開始までcache取り込みの時間がかかる。cacheはデフォルトだともっと少ないらしいのけど、ときに再生中に途切れたり、再生開始のときにノイズが乗るので、コマンドで2048にしている。

しかしi2sDACから音を出したい。
alsaを設定する。

cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_soc_hifiberry_dac

cat /proc/asound/cards
 0 [ALSA           ]: bcm2835 - bcm2835 ALSA
                      bcm2835 ALSA
 1 [sndrpihifiberry]: snd_rpi_hifiber - snd_rpi_hifiberry_dac
                      snd_rpi_hifiberry_dac

1 [sndrpihifiberry]をデフォルトにしないとi2sDACから音が出ないのでasound.confを作る。

sudo vi /etc/asound.conf

pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}

pi@raspberrypi:~ $ mplayer -idle -cache 2048 http://192.168.1.86:8000

MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
Cannot open file '/home/pi/.mplayer/input.conf': No such file or directory
Failed to open /home/pi/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.

Playing http://192.168.1.86:8000.
Resolving 192.168.1.86 for AF_INET6...
Couldn't resolve name for AF_INET6: 192.168.1.86
Connecting to server 192.168.1.86[192.168.1.86]: 8000...
Name   : My HTTP Stream
Genre  : Set genre in config
Website: Set website in config
Public : yes
Cache size set to 2048 KiB
Cache fill:  0.00% (0 bytes)   
ICY Info: StreamTitle='NEBULA - Manabu Ohishi Trio - NEBULA';StreamUrl='';
Cache fill: 19.14% (401408 bytes)   
Detected file format: Audio only
Selected audio codec: FLAC (Free Lossless Audio Codec) [libavcodec]
AUDIO: 44100 Hz, 2 ch, s16le, 524.3 kbit/37.15% (ratio: 65536->176400)
AO: [pulse] Init failed: Connection refused
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
[AO_ALSA] Unable to find simple control 'Master',0.
Video: no video
Starting playback...
A:   4.5 (04.4) of 0.0 (00.0)  2.1% 12% 

これでi2sDACから音が出る。終了は「q」キー。
問題は、前記コマンドでmplayerを起動しても、ストリーミング信号が受信できないと数秒で終了してしまうこと。つまり先にmpdサーバーから配信開始してから、mplayerを起動しないといけない。これって楽曲の冒頭が聞けないのだ。バックグラウンドで動作させる方法を発見できないのも地味に困る。なにか方法があるんじゃないかと思うんだけど。

例によって、現時点では音質の確認はしていない。

24日、追記。
普通にvolumio1.55にNASをマウントしたのと比較したら、そっちのほうが音がいい。
そしてやっぱり圧倒的に扱いやすかった。快適に扱えるというのは、やはり助かる。

Posted at 16:24 in audio_diary | WriteBacks (0) | Edit Tagged as:
WriteBacks
TrackBack ping me at
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20170122a.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. piCore7で作るPPAP Back-End (2020.08.16.追記)
  129. PPAP Back-EndのUSB出力が48kHzになっていたので修正した(2020.08.16.追記)
  130. RAMメモリ再生とppap(piped PCM audio play)を比較した
  131. オーディオ状況報告(2018.04.12.)
  132. 今一度、44.1/16を聴き比べる
  133. MPDのアップサンプリングによる音への影響を確認してみる(SoXとLibsamplerateを比較する)
  134. piCore7でppap (piped pcm audio play)を試みる(05.22、2020.08.16、追記)
  135. ppap (piped pcm audio play)を試みるが、一筋縄に行かない、、、
  136. piCore7にmpdをインストールする方法
  137. オーディオ状況報告(2017.12.24.)
  138. 赤い鳥の音源について思ったこと
  139. fireface UCXについて再び(不覚だった、、、)
  140. オーディオ状況報告とか、いろいろ(2017.10.22. USB029H2RP導入など)
  141. ノイズ対策をあれこれやると音がずいぶん変わってしまった(11月21日USBターミネーターについて追記)
  142. fireface UCXについて(2017.09.05.追記あり)
  143. オーディオ状況報告(2017.07.05.)
  144. ハイレゾとアップサンプリング、384kHz周辺をいろいろと聴いてみた(7月2日、追記)
  145. Moode Audio3.1 384kHz/24bit i2sDACで、メモリ再生を試みる
  146. Moode Audio3.1にlibsamplerateをインストールして384kHzでi2s出力する
  147. オーディオ趣味の課題 備忘録
  148. Fishmans がリマスターで再発されたので1stアルバムを聴いてみた(2017.09.05.追記あり)
  149. mpdからmpdにflacをHTTPストリーミング機能で配信する
  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