moOde audio 7.0.0 + Raspberry Pi 3B

moOde audio 7.0.0がリリースされています。

Raspberry Pi 3Bに新規インストールしてみました。
記事は当サイト設定のmoOde audio(671)が正常に稼働しているものとします。

moOde audio 7.0.0

moOde audio 7.0.0をダウンロード、カードを作成
非力なzeroでは不要なアプリケーションをできるだけ削除していたのですがPi3Bに代えたことでそのままとしてカードを取り敢えず5GiBに拡張
Pi3B + moOde audio(671)は特に問題無く動いているので作成したカードを現稼働中のmoOde audio(671)にマウントして必要なデータ、設定をコピー
パスワード関連をコピーすることで作成した/var/www/htmlはそのまま活きてきます
moode-r700-config.txt 作成したカードの最上位(/ ルートディレクトリ)に入れておきます

#!/bin/sh
cp /etc/passwd ./etc
cp /etc/shadow ./etc
cp /etc/group ./etc
cp /etc/gshadow ./etc
cp /etc/sudoers ./etc

cp -Rp /var/www/html ./var/www
cp /etc/dhcpcd.conf ./etc
cp /etc/init.d/vncboot ./etc/init.d
cp /usr/local/bin/dwm ./usr/local/bin
cp -r /etc/fonts ./etc

cp -rp /home/pi ./home

moOde audio(671)にマウント(/mediaにマウントしたとして)rootで実行

# cd /media
# sh moode-r700-config.txt

moOde audio 7.0.0起動

$ ssh pi@moode


起動しました。


クライアントのwebブラウザからも見えています
Audio Deviceを設定、再起動することでラジオなど再生可能になります

vncserver simul-radio streamlink-radiko

ここから独自の実装をインストール、設定をします
user pi : network 192.168.0.0/24 : I2S device 汎用(Generic) 適宜変更
moode-r700-setup.txt

#!/bin/sh

# ssh pi@moode
# password: moodeaudio

echo "--- Timezone locale ---"
timedatectl set-timezone Asia/Tokyo
sed -i 5a"ja_JP.UTF-8 UTF-8" /etc/locale.gen && locale-gen
update-locale LANG=ja_JP.UTF-8

echo "--- update ---"
apt update

apt -y install tcsh lv vim
apt -y install tigervnc-standalone-server tigervnc-common xbindkeys
apt -y install ranger highlight ffmpegthumbnailer surf python3-tk
apt -y install pulseaudio pavucontrol ncmpcpp
apt -y install mpv mplayer
runuser -l pi -c pip3 install --upgrade --user streamlink
apt -y remove youtube-dl
curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
chmod a+rx /usr/local/bin/youtube-dl

echo "--- jp ---"
apt install -y fonts-ipafont fonts-ricty-diminished
apt install -y uim uim-anthy uim-mozc uim-xim uim-gtk2.0

echo "--- themes ---"
apt install lxappearance gnome-accessibility-themes

echo "--- pulseaudio /etc/pulse/default.pa ---"
sed -i -e '$a load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1' /etc/pulse/default.pa
sed -i -e '$a set-default-source alsa_output.platform-soc_sound.stereo-fallback.monitor' /etc/pulse/default.pa
sed -i -e '$a set-default-sink alsa_output.platform-soc_sound.stereo-fallback' /etc/pulse/default.pa

echo "--- systemctl ---"
systemctl enable vncboot

echo "--- autoremove ---"
apt -y autoremove

sh -c 'echo -n "Hit Enter key to reboot..."; read x'
reboot

同様に予め作成(/ ルートディレクトリ)に保存

# sh moode-r700-setup.txt

再起動後クライアントのPi4から接続(Pi3のvnc passwdは~/.vnc/vncにコピー、リネーム)

$ vncviewer -passwd /home/pi/.vnc/vnc moode:1 &

surfブラウザではアニメーション画像を使っているせいかロードアベレージがかなり高くなってしまいます。
moOde audioデフォルトのchromium-browserは初めてですが思っていたよりかなり軽快に動作します。
気になっていたブラウザ経由の音声出力は殺しているようで問題無く使用できそうです。

サイマルラジオ


さて肝心のサイマルラジオのmoOde audioへの登録ですが新規に1局登録してみたのですが正常にできました。
Station name,Url,Logo画像を登録
以前手作業で復活したラジオデータの方法でインポートしたところsqlite3で見事にエラーになってしまいました。

671と比べると700ではデータ形式が変更になっているようです。
moOde audio(671) 501,http://mtist.as.smartstream.ne.jp/30031/livestream/playlist.m3u8,”かつしかFM”,u,local,””,””,””,””,””,””,””
moOde audio(700) 501,http://mtist.as.smartstream.ne.jp/30031/livestream/playlist.m3u8,”かつしかFM”,r,local,””,””,””,””,””,””,””,No,NULL,NULL
moOde audio(671)からは事前にエクスポートしています。
EXportしたstations,zipを展開 var/local/www/db/cfg_radio.csvから登録したcfg_radio.csv.500を作成
vi editorで置き換え

:%s/u,local,"","","","","","",""/r,local,"","","","","","","",No,NULL,NULL/g

cfg_radio.csv.500をPi3の/var/local/www/dbへコピー、あとは以前の記事の通りエラー無くインポートできました(正式なインポート手順は未確認)
登録したplsファイル、ロゴ画像は手作業でコピーする必要があります。

取り敢えず約200局のデータは復活しましたが新機能リストの小さいアイコンだけは適用されませんでした。
データベースのどこかに項目があるものと思います。
simul.pyは1局選択、再生をするので取り敢えず気にしないことにします(宿題にしておきます)

通常運用画面はこんな感じにしました。simul.pyとstreamlink radikoはフロート
simulラジオ、radikoは自由に選局可、moOde playerはpulseaudioキルの状態で操作可(mpd errorを返します)

Pi3のmoOde playerは基本モニターとしてアルバムの選択はクライアント(Pi4)のブラウザから実行、選択したアルバムは即Pi3のメインウインドウに反映されます。
Pi4のブラウザはdevilspie2で定位置、サイズ、タイトルバーのみ(shade)で待機しています。