気がついたらAVR wikiのサイトはどこも閉鎖されてしまったようです。(2014-04)
AVRの日本語情報として内容は多少古くなっていても基本の部分は現在でも充分通用する、AVRのバイブル的な存在だと思っています。 …read more

pulseaudioコントロール
moOde audioのデフォルトはmpd。moOde audioへはhttp://moode/html/pulse.phpにアクセスします。
以下Raspberry Pi ZeroにmoOde audio(8.0.2)新規インストールして確認
moOde audio(8.0.2)
moOde audioをインストールしたらI2SデバイスをSET
当サイトのI2SデバイスPCM5102A,ES9023,TDA1543
Generic-1 I2S(hifiberry-dac)
IPアドレスは固定(STATIC)に設定するのがいいと思います。
取り敢えずはDHCPでも可
pulseaudio
参考 過去記事 Raspberry Pi Zero moOde audio 630(PulseAudio)
$ sudo apt update && sudo apt -y install pulseaudio
以下 $ sudo -i # rootで作業しています
/etc/pulse/default.pa
当サイトのI2SデバイスPCM5102A,ES9023,TDA1543で確認
いずれも汎用のデバイスですが共通設定で使用できます。他のデバイスでは調査する必要があると思います。
末尾に追記(ネットワーク帯は自ネットワーク)
/etc/pulse/default.pa load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1 set-default-source alsa_output.platform-soc_sound.stereo-fallback.monitor set-default-sink alsa_output.platform-soc_sound.stereo-fallback
skyblue css
pulseaudioコントロールは操作性の良いskyblue cssを利用。ダウンロード、展開したらディレクトリ名をhtmlに変更してpulseaudio関連のファイルを纏めます。
# cd /var/www # wget https://github.com/Stanko/skyblue/archive/gh-pages.zip # unzip gh-pages.zip # mv skyblue-gh-pages html # rm gh-pages.zip
www-data
www-dataからpulseaudioをスタートするためにはホームディレクトリが必要になります。
# systemctl stop nginx php7.4-fpm # mkdir -p /var/www/html/www-data/.config/pulse # usermod -s /bin/bash www-data -d /var/www/html/www-data # systemctl start nginx php7.4-fpm
client.conf作成
# vi /var/www/html/www-data/.config/pulse/client.conf autospawn = no daemon-binary = /bin/true auto-connect-localhost = yes
所有者www-data
# chown -R www-data:www-data /var/www/html/www-data
www-dataをaudioグループに追加
# gpasswd -a www-data audio ユーザ www-data をグループ audio に追加
www-dataをsudersに追加(末尾に追記)
# visudo www-data ALL=(ALL) NOPASSWD: ALL
pulse.php
/var/www/html/pulse.php
/var/www/html/killall.sh 作成
#!/bin/sh sudo killall -q mplayer sudo killall -q mpv sudo killall -q ffplay mpc stop > /dev/null 2>&1
ロゴ画像 /var/www/html/imgにコピー
# mkdir /var/www/html/img
以上でmoOde audio(pulseaudio)の設定は終了 Reboot
client設定
``~/.config/pulse/client.conf autospawn = no daemon-binary = /bin/true default-server = 192.168.0.144 # moOde audioのIPアドレス
クライアントはpavucontrolをインストール、起動しておきます。(pulseaudioの自動キルを防止)
Raspberry Pi 2 ,Raspberry Pi Zeroで確認。但しZeroでは一瞬音声が詰まり気味になることがあります。moOde audio(730)では特に問題が無かったことからbullseye(pulseaudio)とZeroの間でなにか問題があると思います。Pi 2は特に問題なし(現時点ではPi2以降を使用か!?)

ちょっとサボっている間にmoOde audioのリビジョンも7(buster base)から8(bullseye base)に上がっています。
moOde audio 8.0.2
moOde7インストールの要領で8.0.2の新規インストールを実行したのですがmpdが起動していません(音が出ない)
/var/lib/mpd/databaseが無いよと言っています。
/var/lib/mpd/(/var/lib/mpd/database)の所有者を見るとpulse:audioになっています。
pulseaudioをインストールしたことでbullseyeはmpdの出力はpulseaudio経由と判断するようです。
所有者を変更して再起動
# chown mpd:audio /var/lib/mpd # chown mpd:audio /var/lib/mpd/database
moOde player(8.0.2)
moOde playerは当サイトの環境では特に大きな変更は無いように思います。
mpdは非常に軽いmusic playerでPi zeroでも難なく動作します。基本はクライアントのウェブブラウザからmoOde audioにアクセス、moOde playerから基本設定、アルバム、ラジオなどを選択
mpdとpulseaudio
当サイトのmoOde audioはpulseaudioをインストール、設定をしています。過去記事にもpulseaudioについて触れていますがここでざっくばらんにmoOde audioにおけるmpdとpulseaudioの関係について考慮してみたいと思います。
debian系のmpdパッケージはmpdの出力をpulseaudio経由で再生する設定もあります。pulseaudio形式に変換することで音質の劣化を招く恐れがあるためmoOde audioにおいては独自にコンパイル、pulseaudioには非対応にしているものと思われます。アルバム、ラジオ局再生としてのmoOde playerも使い勝手がよくハイエンドオーディオを目指す形としては当然ながらひとつの方法と思います。
但し基本ラジオ生活を送っている当サイトとしてはmoOde audioにpulseaudioをインストール、接続しているアンプ、スピーカーを利用、日本のラジオサイト、動画の音声などを再生することでさらに利用価値が上がります。
pulseaudioコントロール (pulse.php)
mpdとpulseaudioの切り替えはpulseaudioをスタートすることでpulseaudioモード pulseaudioキルでmpdモード
実際のプログラムは/var/www/html以下に関係するファイルを全て置いてコントロールしています。クライアント(Pi4)からはsurfブラウザからアクセス、devilspie2でサイズ調整、タイトルバー非表示、全ワークスペース配置など設定
pulseaudioはroot権限ではスタート出来ません。通常はユーザーがログインしてpulseaudioをスタートさせることになりますが代わりにwww-dataにホームディレクトリを設定ブラウザを介してpulseaudioをスタートします(pulse.php)
pulseaudio mode
音量変更は%表示に変更。デフォルト音量値は深夜早朝でもうるさくない程度に
mpd mode
mpdモード時も音量値表示するように変更
デフォルト値設定(mpc volume)
上記のpulseaudioコントロールだけの場合(要設定)はmpdとpulseaudioの切り替え及びpulseaudioは外部からの接続のみとなります。
クライアントのPi4はデフォルトでpulseaudioはインストールされています。ユーザーは~/.config/pulse/client.confのdefault-server(IPアドレス)をmoOdeに向けることで音声はmoOdeに接続されたアンプ、スピーカーから出力します。例えば物理的な音声デバイスの無いSBCでもネットワーク、そしてpulseaudioをインストールできる環境であればpulseaudioを介して音声を出力できる可能性があります。(当サイトで試したSBCは可)
Pi4 + firefoxでYouTube視聴例 映像はPi4 音声はpulseaudioでmoOde audioから再生
TigerVNCサーバー
作成したサイマルラジオやラジコプレーヤーはXアプリケーションのためvnc serverを立ち上げます。
起動時もpulseaudioがスタートしていることがあるのでここで明示的にkillallしています。
vncbootで起動したvncserverを持続させるため最後の/usr/local/bin/dwmは”&”を付けないで実行します。ここらは従来の挙動とは若干違っていると思います。
必要なアプリケーションは起動後スクリプトまたは個別に起動
~/.vnc/xstartup #!/bin/sh xrdb $HOME/.Xresources date.sh & # 時計 ~/.fehbg # 壁紙 xbindkeys & uim-xim & sleep 1 xterm -e ranger ~/ & sleep 1 sudo killall -q pulseaudio sleep 1 /usr/local/bin/dwm
残念ながらJCBAサイマルラジオはRadimo(レディモ)が導入されたせいかURLも変更となり4月中旬以降mpdからは再生不可となりました。使用する頻度は少ないのですが代わりにmoOde audioのラジオ局を登録しています。(よく聞くラジオ局はクイックに選局可)
登録しているラジオサイトはmpd,pulseaudioを自動で切り替えます。moOde playerを直接再生する場合のみpulseaudioコントロールからmpdモードに切り替えます。
pavucontrolは以前と比べると起動が遅い感じがします。(あまり支障が無い)
pulseaudioコントロール(pulse.php)やサイマルラジオのプログラムは順次次回の記事で紹介したいと思います。

マイクロSDにインストール、動作確認出来たところで再度SSDにクリーンインストールしました。
SSD
120GB 楽天ポイントで購入済のもの、現在は少し値上がりしていますね。
SATA-USB3 変換アダプタ こちらも楽天で購入
チップセット:ASMedia ASM1153E
インストール
インストールディスクの作成はマイクロSD作成時と同様。新品のSSDはgpartedからはデバイスを選択、デバイス –> パーテーションテーブルの作成で見えてきます。
デフォルトはOS書き込み後起動するとrootfsを拡張します。当サイトでは書き込み後適当にパーテーションを区切っています。起動すると拡張領域が無いよと言ってそこで止まっていますが強制的に再起動すると通常通りのインストール画面になります。
インストール終了後/dev/sda3をホームディレクトリとして環境を構成しています。
/etc/fstab
fstab(ホームディレクトリ)はオプションownerを入れることでログインユーザーのディレクトリとして認識します。
proc /proc proc defaults 0 0 PARTUUID=4a422963-01 /boot vfat defaults,flush 0 2 PARTUUID=4a422963-02 / ext4 defaults,noatime 0 1 PARTUUID=4a422963-03 /home/pi ext4 defaults,owner,noatime 0 2 PARTUUID=4a422963-04 /home/data ext4 defaults,noatime 0 2
起動
SSDからの起動はPi4のUSB3端子に接続します。従来はマイクロSDが接続してあれば優先して起動していましたが現在のbullseyeではSSDが優先します。マイクロSDから起動したい場合はSSDを外すことになります。
デスクトップ用途ではSSDはマイクロSDと比較するとかなり快適に動作します。

Raspberry Pi OS 64bit版も正式公開になっていますが当サイトの環境では一部のアプリケーションが異常終了してしまうため32bit版で構成してみました。
/boot/config.txt
# For more options and information see # http://rpf.io/configtxt hdmi_force_hotplug=1 hdmi_group=2 hdmi_mode=87 hdmi_drive=1 # pi4 display(HP) hdmi_cvt 1920 1080 60 3 dtparam=audio=on display_auto_detect=1 disable_overscan=1 # Enable DRM VC4 V3D driver dtoverlay=vc4-fkms-v3d max_framebuffers=2 [pi4] arm_boost=1
64bit版は以下を追記
# Run in 64-bit mode
arm_64bit=1
インストール
ロケールを設定
デフォルトのpiユーザーは廃止されたので別途ユーザーを登録
wifi設定は設定済みのwpa_supplicant.confをbootに入れておくと簡単
当サイトではデスクトップページャーを設定しています。LXPanelは寸詰まり。ワークスペースを切り替えると画面はオレンジ系の単色となり操作不可
openbox
Raspberry Pi OS(bullseye)のデスクトップ環境はLXDE、ウィンドウマネージャはopenboxからmutterに変更になっています。但し2GB以下のメモリシステムはウィンドウマネージャにopenboxが適用されるようです。
Pi4(4GB)にopenboxを設定
Use openbox instead of mutter in rpi4 2-4-8gb
/etc/xdg/lxsession/LXDE-pi/desktop.conf window_manager=openbox
openboxを適用するとlxappearanceはsegmentation fault
lxappearance is giving me an error
sudo apt remove lxappearance-obconf
LXPanelの寸詰まりは変わりませんがデスクトップページャーは使えそうです。余白を調整して右寄せ
ウィジェットはAdwaita-Dark、アイコンテーマはHighContrast
# apt install gnome-accessibility-themes
以前のBusterからは個人のユーザーディレクトリ、またシステムのパスワード関連ファイルをコピーしています。
必要なアプリケーションをインストール、最低限の設定で以前の基本環境を復元(細部は要調整)。
wiringpiは正式にリポジトリから外れたようなので今までのGPIOコマンドはraspi-gpioコマンドに一本化しようと思います。
chromium-browserでは相変わらず~/.config/pulse/client.confの設定を無視しているようです。ブラウザからの動画再生などはfirefoxを使うことにします。
今回の現象は当サイトだけの問題かもしれませんがこれでしばらく様子を見ようと思います。
また64bit版は正式公開になっていますが安定するのはもう少し時間が掛かると思っています。

2月28日未明よりMPD経由のNHKラジオらじるらじるが再生不可になっていました。
らじる★らじる
ホームページを覗いてみると
なにかシステムに変更があったようです。
ブラウザ(firefox)のプレーヤーからは正常に再生します。
右クリック -> 調査 -> ネットワーク -> ファイル -> m3u8 -> URLコピー
アカマイからnhk.jpのサーバーに変更になっていますね。
旧 NHK R1 東京 https://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8
新 NHK R1 東京 https://radio-stream.nhk.jp/hls/live/2023229/nhkradiruakr1/master48k.m3u8
新URL
"NHK R1 札幌 https://radio-stream.nhk.jp/hls/live/2023545/nhkradiruikr1/master48k.m3u8" "NHK FM 札幌 https://radio-stream.nhk.jp/hls/live/2023546/nhkradiruikfm/master48k.m3u8" "NHK R1 仙台 https://radio-stream.nhk.jp/hls/live/2023543/nhkradiruhkr1/master48k.m3u8" "NHK FM 仙台 https://radio-stream.nhk.jp/hls/live/2023544/nhkradiruhkfm/master48k.m3u8" "NHK R1 東京 https://radio-stream.nhk.jp/hls/live/2023229/nhkradiruakr1/master48k.m3u8" "NHK FM 東京 https://radio-stream.nhk.jp/hls/live/2023507/nhkradiruakfm/master48k.m3u8" "NHK R1 名古屋 https://radio-stream.nhk.jp/hls/live/2023510/nhkradiruckr1/master48k.m3u8" "NHK FM 名古屋 https://radio-stream.nhk.jp/hls/live/2023511/nhkradiruckfm/master48k.m3u8" "NHK R1 大阪 https://radio-stream.nhk.jp/hls/live/2023508/nhkradirubkr1/master48k.m3u8" "NHK FM 大阪 https://radio-stream.nhk.jp/hls/live/2023509/nhkradirubkfm/master48k.m3u8" "NHK R1 広島 https://radio-stream.nhk.jp/hls/live/2023512/nhkradirufkr1/master48k.m3u8" "NHK FM 広島 https://radio-stream.nhk.jp/hls/live/2023513/nhkradirufkfm/master48k.m3u8" "NHK R1 松山 https://radio-stream.nhk.jp/hls/live/2023547/nhkradiruzkr1/master48k.m3u8" "NHK FM 松山 https://radio-stream.nhk.jp/hls/live/2023548/nhkradiruzkfm/master48k.m3u8" "NHK R1 福岡 https://radio-stream.nhk.jp/hls/live/2023541/nhkradirulkr1/master48k.m3u8" "NHK FM 福岡 https://radio-stream.nhk.jp/hls/live/2023542/nhkradirulkfm/master48k.m3u8" "NHK R2 全国 https://radio-stream.nhk.jp/hls/live/2023501/nhkradiruakr2/master48k.m3u8"
Comments