◆はじめに
SqueezeliteはSqueezeboxシステムにおけるレンダラーソフトで、WindowsやLinuxにインストールできます。
今回は備忘録も兼ねてLinuxにSqueezeliteをインストール/設定する方法を紹介します。ラズベリーパイを使う前提で進めますが、Debian/UbuntuをインストールしたミニPCなどでも手順は同じです。
1.前準備
ラズベリーパイ3B/4BにRaspberry Pi OS Lite 64bitをインストールしてLMSと同じネットワークにつなぎます。オーディオHATを使う場合はHATのドライバをロードしておきます。
LMSの代わりにRoon Coreを使うこともできます。その場合はRoonアプリで Enable squeezebox support を Yes にしておいてください。
2.squeezeliteのインストール
$ sudo apt update
$ sudo apt install squeezelite
3.オーディオデバイスのリストアップ
以下のコマンドを打つと利用可能なオーディオデバイス一覧が出てきます。
$ squeezelite -l
Output devices:
null - Discard all samples (playback) or generate zero samples (capture)
default - Default Audio Device
sysdefault - Default Audio Device
hw:CARD=vc4hdmi,DEV=0 - vc4-hdmi, MAI PCM i2s-hifi-0 - Direct hardware device without any conversions
plughw:CARD=vc4hdmi,DEV=0 - vc4-hdmi, MAI PCM i2s-hifi-0 - Hardware device with all software conversions
default:CARD=vc4hdmi - vc4-hdmi, MAI PCM i2s-hifi-0 - Default Audio Device
sysdefault:CARD=vc4hdmi - vc4-hdmi, MAI PCM i2s-hifi-0 - Default Audio Device
hdmi:CARD=vc4hdmi,DEV=0 - vc4-hdmi, MAI PCM i2s-hifi-0 - HDMI Audio Output
dmix:CARD=vc4hdmi,DEV=0 - vc4-hdmi, MAI PCM i2s-hifi-0 - Direct sample mixing device
hw:CARD=sndrpihifiberry,DEV=0 - snd_rpi_hifiberry_digi, HiFiBerry Digi+ Pro HiFi wm8804-spdif-0 - Direct hardware device without any conversions
(以下略)
うじゃうじゃと出てきてわかりにくいですが、今回はこの中の hw:CARD=sndrpihifiberry を出力先にします。
4.古いタイプのシンボリックリンクを削除?(不勉強でうまく説明できません)
$ sudo update-rc.d -f squeezelite remove
5.ユニットファイルを記述
$ sudo nano /etc/systemd/system/squeezelite.service
(以下を記述)
[Unit]
Description=Squeezelite
After=network.target
[Service]
ExecStart=/usr/bin/squeezelite -o hw:CARD=sndrpihifiberry -n "digi+pro" -s 192.168.10.200
[Install]
WantedBy=multi-user.target
(記述ここまで)
ExecStart=〇〇がユニット起動時に実行されるコマンドです。
-o は squeezelite -l で出てきたオーディオ出力先を指定します。
-n はLMSに表示するプレイヤーの名前を任意で指定します。
-s はLMSの IPアドレスを指定します。
基本的にこれら3つのオプションで充分だと思います。
赤文字のところを自身の環境に合わせて書き換えてください。
-a オプションでalsaのパラメーターを指定することもできます。
他にもいろんなオプションがあります。詳しくはコマンドヘルプを見てください。
6.ユニットファイルの変更を反映
$ sudo systemctl daemon-reload
7.squeezeliteの自動起動設定
$ sudo systemctl enable squeezelite.service
8.squeezeliteを起動
$ sudo systemctl start squeezelite.service
9.squeezeliteの状態を見る
$ sudo systemctl status squeezelite.service
〇 squeezelite.service - Squeezelite
Loaded: loaded (/etc/systemd/system/squeezelite.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-12-08 14:10:53 JST; 2s ago
Main PID: 2635 (squeezelite)
Tasks: 4 (limit: 779)
CPU: 673ms
CGroup: /system.slice/squeezelite.service
└─2635 /usr/bin/squeezelite -o hw:CARD=sndrpihifiberry -n digi+pro -s 192.168.10.200
Dec 08 14:10:53 raspi systemd[1]: Started Squeezelite.
————
"active (running)" と表示されればOKです。
もし"active (exited)"となっていればsqueezeliteを再起動します。
$ sudo systemctl restart squeezelite.service
10. LMSのWeb Interface(IP:9000)を開く
このようにプレイヤーが表示されれば成功です。
以上で完了です。
Unitファイルの内容を変更する際は変更後に以下のコマンドを打ちます。
$ sudo systemctl daemon-reload
$ sudo systemctl restart squeezelite.service
◆終わりに
squeezeliteインストール後の設定に関するネットの情報を探し回りましたが、日本語の情報がほとんど見当たらず困り果てました。やっと見つけた以下↓のサイトの情報には非常に助けられました。
LinuxサーバーとRaspberry Pi 3B+を使ってSqueezeBoxを作った話
自力ではとても音出しまでこぎつけることができませんでした。サイトの投稿者の方にはお礼を申し上げます。