電子回路/オーディオ回路掲示板



カテゴリ:[ コラム ] キーワード: 自作オーディオ 電子回路 アンプ


新着順:8/1899


[1995] smpd セパレート構成設定方法の件

投稿者: オーシャン 投稿日:2017年12月29日(金)14時30分9秒   通報

こんにちは、オーシャンです
smpdのセパレート構成の設定方法を自分の備忘録として、記録します
殆どはコメント欄に埋もれてしまっているパパリウス氏の発言です

smpd セパレート構成設定方法

フロント、バックエンドどちらもsmpd0.4をインストールしアップデートする→v0.4.2
ラズパイは2でも3でも使えます 但し2はarmfreqを960に変更する必要が有ります
バックエンドはi2Sドライバーを組み込んでおきます

その後sshで接続して以下のコマンドを打ちます
●バックエンド側の作業
sudo systemctl start core

シングル構成に戻すときは、
sudo systemctl stop core

coreサービスを自動起動する場合は、
sudo systemctl enable core

●フロント側の作業
/etc/mpd.confの
audio_outputをコメントアウトし、
下記を追加してmpdを再起動する

audio_output {
type "pipe"
name "PIPE"
always_on "yes"
command "ncat --sctp 192.168.x.x 4444"
}

IPアドレスの部分は、バックエンド側のIPアドレスとなります。

次に、
/home/pi/configs/mpdpre.sh
の7行目に
while [ $(pstree -ps $(pidof mpd)|wc -l) != 4 ]
という記述がありますので、4を3に変えてください。
修正後は
while [ $(pstree -ps $(pidof mpd)|wc -l) != 3 ]
となります。

●外部コントロールソフト(MpadやGMPC等)を使用したい場合
/etc/mpd.confの
#port "6600"
#bind_to_address "any"
のコメントアウト#を外す

以上で、フロント側にアクセスすればympdが立ち上がり、使用できます
この状態でもかなり良い音が出てますが、パパリウス氏推奨調整は以下の通りです

(1)/lib/systemd/system/core.service

ExecStart=/usr/local/bin/ncat --recv-only -m 1 --sctp -kl 4444 -e "/usr/local/bin/aplay-1.1.5 --test-nowait -M --period-size=256 --buffer-size=136710 -t raw -f cd"

→aplayのperiod-sizeとbuffer-sizeはsmpdのデフォルトに近い値にしています。
ポイントは「--test-nowait」です。ちょっと試してみてください。

※編集後に
sync
sudo systemctl daemon-reload
sudo systemctl restart core
を実行してください。

設定が反映されているかどうかは、
sudo systemctl status core
を実行し、表示されたコマンドラインを確認してください。

(2)/home/pi/configs/core_start.sh

echo 1537|sudo tee /proc/asound/card0/pcm0p/sub0/prealloc ←追加
echo 8320 | sudo tee /proc/1/timerslack_ns

→preallocとtimer slackはsmpdのデフォルトにしています。

※編集後に
sync
sudo systemctl restart core
を実行してください。

プロセス停止が遅れてサウンドデバイスをつかんだ状態で変更しようとてしまい、preallocが反映されてないことがあるようです。
おかしいなと思ったらもう一度restartしてください。

preallocは、
/home/pi/util-stat.sh
で確認できます。

aplayのtimer slackは、
sudo cat /proc/$(pidof aplay-1.1.5)/timerslack_ns
で確認できます。

以上です


新着順:8/1899


お知らせ · よくある質問(FAQ) · お問合せ窓口 · teacup.レンタル掲示板

© GMO Media, Inc.