Mac mini 2018 + Lyrion Music Server(LMS, Logitech Media Server) + Squeezeliteで音楽ライフ

うちはメインデスクトップから一線を退いたIntel Mac mini 2018がホームサーバの中心として鎮座しており、そこからXiaomiのMi TV経由でアンプにも繋がっている。なので、音楽の再生は基本的にこの子でやりたい。ただしその操作は手元のPCにあるやつでやりたい。

何がよかろうとかとGeminiに色々と相談し、結果 LMS + Squeezelite になった。

目次

構成

全体の構成はこのような感じだ。ポイントは、起点となるPC Aから、PC B経由でMi TV、そして最終的にSonyのスピーカー(友人からもらった)に接続することだね。

graph TD subgraph PCA ["PC A (操作端末 / リモコン)"] Browser["Webブラウザ / App<br/>(Material Skin UI)"] end subgraph PCB ["PC B (Mac mini 2018 / サーバー兼再生機)"] direction TB LMS["Logitech Media Server<br/>(楽曲管理・配信)"] subgraph AudioOutput ["音声出力プロセス"] Squeezelite["Squeezelite<br/>(再生用クライアント)"] CoreAudio["macOS Core Audio<br/>(OS音声制御)"] end Storage[("音楽ファイル群<br/>(HDD/SSD)")] end subgraph AudioPath ["中継・出力"] TV["Mi TV<br/>(音声ハブ)"] Speaker["外部スピーカー"] end %% 接続とデータの流れ Browser -- "① 選曲・操作命令 (Port 9000)" --> LMS LMS -- "② 音楽ストリーム送信 (localhost)" --> Squeezelite Squeezelite -- "③ 音声信号受け渡し" --> CoreAudio Storage -. "スキャン" .-> LMS %% 物理接続 CoreAudio == "④ HDMI/音声出力" ==> TV TV == "⑤ 光デジタル出力" ==> Speaker %% スタイル設定 style PCB fill:#f9f9f9,stroke:#333,stroke-width:2px style LMS fill:#d1e7dd,stroke:#0f5132 style Squeezelite fill:#fff3cd,stroke:#856404 style Browser fill:#cfe2ff,stroke:#084298 style TV fill:#eeeeee,stroke:#666

このめんどくさい絵をサクッと起こしてくれるのはAIの良いところだ。

インストール

Lyrion Music Server

Getting Started with LMS - Lyrion Music Server」よりダウンロードしてインストール。開発元云々は「プライバシーとセキュリティ」から黙らせるいつもの儀式。

http://IPアドレス:9000にアクセスして、セットアップする。

画面右下にNextボタンがあるので、そっから「ローカルフォルダ(曲をスキャンするフォルダ)」とプレイリストを保存するフォルダをそれぞれ指定する。外付けSSDもちゃんと指定できてよかった。

しばらく待つといい感じになる。

時間がかかるので、その間にSqueezeliteの設定にうつる。

Squeezelite

Squeezelite - Lyrion Music Server」のリンクにあるSourceforgeのバイナリを使う。Intel Macの場合ffmpeg版と無印があるがffmpegで一番新しいやつを使う。ダウンロードした.dmgを実行し、アプリケーションフォルダにコピーする。例によってセキュリティ元云々言ってきて鬱陶しいが「プライバシーとセキュリティ」から黙らせるいつもの儀式。ジョブズ亡き後のこの儀式いつまで続くんだろう。

インストールできたのかどうかよくわからない感じだが、以下のコマンドを実行する。

/Applications/Squeezelite.app/Contents/MacOS/squeezelite -l

これでOutput devicesが出てきたらOK。うちの場合はこんな感じ。

Output devices:
  0 - Mi TV [Core Audio]
  1 - Mac miniのスピーカー [Core Audio]
  2 - Microsoft Teams Audio [Core Audio]
  3 - Splashtop Remote Sound [Core Audio]

Mac mini ->|HDMI| Mi TV ->|光デジタル| -> スピーカーの経路で、デフォルトMi TVにしている。とりあえず接続はOK。

いい感じになる。

Squeezeliteの常駐化

毎回起動するのもつらいので、バックグラウンド常駐化。

nano ~/Library/LaunchAgents/com.user.squeezelite.plist

編集内容は以下。-o以下のデバイス名は、

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.squeezelite</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Squeezelite.app/Contents/MacOS/squeezelite</string>
        <string>-n</string>
        <string>任意のプレイヤー名</string>
        <string>-o</string>
        <string>デバイス名</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>

</dict>
</plist>

/tmp以下は再起動で消えるので、ログを保存したい場合はホームフォルダ以下のパスにしとけってさ。

ロードする。

launchctl load ~/Library/LaunchAgents/com.user.squeezelite.plist

Squeezeliteが落ちたとき

おまかんの気がするが、スーパーよく落ちる。とりあえず応急処置としては以下のコマンドで復活する。

nohup /Applications/Squeezelite.app/Contents/MacOS/squeezelite -n "任意のプレイヤー名" -o "アウトプットデバイスの名前" -s 127.0.0.1 > /dev/null 2>&1 &

アウトプットデバイスの名前は-lで出したやつをそのまま使う。たとえばうちの環境だと以下になる。

nohup /Applications/Squeezelite.app/Contents/MacOS/squeezelite -n "MacMini-Player" -o "Mi TV" -s 127.0.0.1 > /dev/null 2>&1 &

基本的にはlaunchdが救うはずなんだが、うちの環境だとMi TVの電源ダウンとかでなんかエラー出ているのかなぁ。ログ指定したけどなんも出てなかった。

これは現状未解決で、強行的に監視入れるかどうか悩んでいる。

音楽フォルダベースでの管理

僕はライブラリ管理せずにフォルダベースでやっているので、LMSではInterfaceの設定から以下のように「Categories」の歯車より「音楽フォルダーをブラウズする」にチェックを入れる。

 この変更により「My music」に「音楽フォルダーをブラウズする」が追加される。

所感

ホームサーバ化が進んでよかった。

ただ現在、音楽ファイルが散らばってしまっている問題がある。というのも、外部接続用途のメディアサーバは別にたてているんだよねぇ。うーん。それというのも、ホームサーバとして鎮座しているMac mini 2018がmacOSで、ストレージ容量が512GBしかないのだけれど、かといって外部ストレージの接続も不安定、またそもそもSMB接続がうんこなど、のNASになりきれない制約による。「Logitech Media Server 最新版 – Plumtown」のようにTS-233にLMSを入れている方もいて、なるほどと思ったが、しかしネットワーク経由になってしまうし、なんだかなぁ。

Mac miniを完全にLinux化できれば諸々の問題も解決するんだろうか。うちのジャンクPC艦隊の中には立派に役割を果たせそうなのもある。しかし純粋に性能が高いのはこの子だし、メインデスクトップのM2 Pro Mac miniとユニバーサルコントロールにより標準機能で繋がれるという強みもあるので、当面はもうちょっとこの構成で運用を考えていこう。

この記事をいいなと思っていただけた方、よければ高評価・チャンネル登録……はないので、コメント・SNSでシェア・ブックマーク、RSSフィード登録を、よろしくお願い致します。

コメント

コメントする

目次