身の回りでは、スマホ・タブレットで音楽やラジオ(radiko)を流す、せいぜい、それらをBluetoothスピーカーに出すぐらいだそうなのですが、私は在宅(勤務)時はスマホ・タブレットを触りたくない派(笑)なので、ネットワークオーディオ機器でBGMを流しています。
音質追求派ではまったくなく、在宅時に、スマホ・タブレットを持って触るとか、スタンドに立てて触るとかいう習慣がないんですよねー。オッサンになると環境変化適応能力が下がるので、いまどきの風習に体がついていかないだけです。
LMS+ネットワークオーディオ機器を使うと良い点・劣る点:
備考:Logitech Media Server(LMS)について補足
我が家では、NETGEAR社のReadyNASというNAS上でLMSを動かしています。ReayNASは、2013年にOS4搭載機種が生産終了、後継のOS6搭載機種も2021年頃に生産終了してます。
我が家での2013年購入当時は、某ネットストアの箱蹴り職人による投げ売り?在庫処分?という噂で、HDD 6本搭載のReadyNAS Ultra6(Intelベース)のベアボーンが3万円強ということで飛びつきました(自分の過去メモ)。
早いものであれから9年。途中で電源ユニットが逝ったので交換しました(自分の過去メモ)
いまなら、NASと言えば、QNAPやSynologyなどでしょうか。いずれもLinuxベースなのでこれらでもLMSが動きます。
この度?、重い腰をあげて、ReadyNASをOS4からOS6へ移行しました。
(この移行は、メーカ非サポートですが、ググれば移行方法はすぐ出てくるので割愛。メモリ増設は必須です(1GB×1→2GB×2のMax化))
ReadyNAS OS6向けにはLMSのプラグインが提供されておらず、メーカサイト 直接リンクからDebian向けのallのdebパッケージをインストールするか、もしくは、Dockerイメージを使用するかのどちらかのようです。
過去、LMSのバージョンアップの度になんやかんや動きがアレになったりしてハマったので、その場合でもロールバックが簡単な(いや、導入がカンタンな)Dockerイメージを利用することにしました。
LMSのDockerイメージの導入:
http://<ReadyNASのIPアドレス>/admin/ →「アプリ」→「利用可能アプリ」から「Docker CE CLI」をインストール
ReadyNASのSSHを有効化し、SSHでログイン(TeraTermなど) # curl -L "https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose
version: '3' services: lms: container_name: lms hostname: lms_readynas_docker image: lmscommunity/logitechmediaserver:stable volumes: - /data/docker/logitechmediaserver/config:/config:rw - /data/Music:/music:ro - /data/playlists:/playlist:rw - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro ports: - 9000:9000/tcp - 9090:9090/tcp - 3483:3483/tcp - 3483:3483/udp restart: always
# mkdir /data/docker/logitechmediaserver/config (どこでも良いですが、docker-compose.ymlの記載と合わせる)
# cd <docker-compose.ymlを置いたフォルダ> # docker-compose up -d
SqueezeBox RadioやSqueezePlayの場合:
Setting→Advanced→Networking→Remote Libraries に、LMSが稼働しているサーバのIPアドレスを入力し、「done」→「Connect to this library」
SqueezePlayの場合の画面イメージ
# cd /data/docker/logitechmediaserver/config (logitech media serverのconfigフォルダ) # cd cache/InstalledPlugins/Plugins/RadiRuKo/Bin/x86_64-linux/ # mv ffmpeg_bin ffmpeg_bin- # ln -s ../i386-linux/ffmpeg_bin .
version: '3' services: portainer: container_name: portainer hostname: portainer image: portainer/portainer-ce:latest ports: - "9001:9000" - "8000:8000" volumes: - /var/run/docker.sock:/var/run/docker.sock - /data/docker/portainer/portainer-data:/data restart: alwaysPortainerの設定ファイルなどが保存されるディレクトリを作成
# mkdir /data/docker/portainer/portainer-data (どこでも良いですが、docker-compose.ymlの記載と合わせる)シェルからdockerイメージのインストール・起動
# cd <docker-compose.ymlを置いたフォルダ> # docker-compose up -d
#EXTM3U #EXTINF:354,悦びに咲く花 - ACO D:\iTunes\iTunes Media\Music\Compilations\CLIMAX Love Story Chapter 2 [Disc 2]\2-14 悦びに咲く花.mp3 #EXTINF:462,Simon & Garfunkel Montage- Acoustix - Acoustix D:\iTunes\iTunes Media\Music\BBS-MP3\BBS-MP3\04 - Simon & Garfunkel Montage- Acoustix.m4a
WindowsのiTunes用プレイリスト → Linux上のLMS用プレイリスト
#!/bin/sh PREFIX='D:\\iTunes\\iTunes Media\\Music' POSTFIX='\/music' sed -z -e 's/\r\n/\n/g' | sed -e "s/$PREFIX/$POSTFIX/g" | sed -e 's/\\/\//g'
UNIXシェルを使える方には冗長だが、使い方はこんな感じ
cat win_playlist.m3u | ./conv_win2linux.sh > linux_playlist.m3u無事こんなふうに変換された
#EXTM3U #EXTINF:354,悦びに咲く花 - ACO /music/Compilations/CLIMAX Love Story Chapter 2 [Disc 2]/2-14 悦びに咲く花.mp3 #EXTINF:462,Simon & Garfunkel Montage- Acoustix - Acoustix /music/BBS-MP3/BBS-MP3/04 - Simon & Garfunkel Montage- Acoustix.m4a
あと、LMS上でもプレイリストをいじれるので、戻す時用
Linux上のLMS用プレイリスト → WindowsのiTunes用プレイリスト
#!/bin/sh PREFIX='\/music' POSTFIX='D:\\iTunes\\iTunes Media\\Music' sed -z -e 's/\n/\r\n/g' | sed -e "s/$PREFIX/$POSTFIX/g" | sed -e 's/\//\\/g'
自分の過去メモからの改善。
複数の再生プレーヤがLMSに接続されている場合には、API仕様上、プレーヤのMACアドレスをAPIに指定する必要がある。今回、SqueezeBox RadioとESP MUSE LUXEを接続するようになったので、その必要が出てきた。
気分しだいで、どちらで再生するかが変わる。elgato STREAM DECKのボタンを複数面用意するのはローテクだろということで、ReadyNAS上に下記のようなAPIラッパのCGIスクリプトを作成した。
ReadyNASにおける事前準備:
------------------------------------ Alias /intra /data/share/htdocs <Directory "/data/share/htdocs"> Options All AllowOverride All </Directory> ------------------------------------
------------------------------------ Options +ExecCGI +FollowSymLinks AddHandler cgi-script cgi pl ------------------------------------
上記スクリプトのCGI引数の指定方法
機能 | パラメタ | |
操作対象のLMSクライアントのMACアドレスの切替 | ?change_player_id=00%3A11%3A22%3A33%3A44%3A55 | |
プレーヤの電源オン・オフ(トグル) | ?command=power | |
一時停止・再生(トグル) | ?command=pause | |
ミュート(トグル) | ?command=mixer&p1=muting | |
音量アップ | ?command=mixer&p1=volume&p2=%2B10 | |
音量ダウン | ?command=mixer&p1=volume&p2=-10 | |
プレイリストの1つ前に戻る | ?comand=playlist&p1=jump&p2=-1 | |
プレイリストの1つ先に進む | ?command=playlist&p1=jump&p2=%2B1 | |
プレイリストをシャッフルする | ?command=playlist&p1=shuffle&p2=1 | |
プレイリストをシャッフルしない | ?command=playlist&p1=shuffle&p2=0 | |
プレイリストのリピート解除 | ?command=playlist&p1=repeat&p2=0 | |
プレイリストの1曲リピート | ?command=playlist&p1=repeat&p2=1 | |
プレイリストの全曲リピート | ?command=playlist&p1=repeat&p2=2 | |
お気に入り(Favorites)の1つめをプレイリストにする | ?command=favorites&p1=playlist&p2=play&p3=item_id:0 | |
radiko | TOKYO FM | ?command=playlist&p1=play&p2=radiko%3A%2F%2FFMT |
J-WAVE | ?command=playlist&p1=play&p2=radiko%3A%2F%2FFMJ | |
NACK5 | ?command=playlist&p1=play&p2=radiko%3A%2F%2FNACK5 | |
らじる | NHK-AM第一東京 | ?command=playlist&p1=play&p2=radiru%3A%2F%2FR1-Tokyo |
NHK-AM第二東京 | ?command=playlist&p1=play&p2=radiru%3A%2F%2FR2-Tokyo | |
NHK-FM東京 | ?command=playlist&p1=play&p2=radiru%3A%2F%2FM-Tokyo | |
現在再生中の情報のテキスト応答 | タイトル | ?status_request=title |
アーティスト | ?status_request=artist | |
プレイリスト中の何番目か | ?status_request=playlistnum | |
現在再生中のアートワークのURLへリダイレクト | ?status_request=artwork | |
現在操作対象の再生プレーヤ名のテキスト応答 | ?current_player=1 |
radikoやradiruの放送局URLは、LMSのらじるラジコの画面で放送局名をクリックして確認できる。「:」は「%3A」に、「/」は「%2F」に置換すること。
LMSの3rd party pluginを使って聞けるようになった。
詳細は、Squeezebox Forumのスレッド「ANNOUNCE: YouTube Plugin (API v3)」を参照。(GitHub))
http://downloads.sourceforge.net/project/lms-plugins-philippe44/dev/repo-sf.xml
https://www.youtube.com/feeds/videos.xml?user=PokemonCoJpで得られるxml中の「
ネットワークオーディオ機器のもうひとつの形態として、Raspberry Piを使った音楽プレーヤ(piCorePlayerベース)を組み立てみた。本来は、こちらが王道。
詳しくはこちら
「ESP MUSE LUXE」よりも、私にはあってるかも。
SqueezeBox RadioはReadyNASを導入する前、自宅内サーバがFreeBSDなPCの時代から使っており、もう10年以上経つ。そろそろ、壊れる予感がする。予備機を1台買ってあるけど、箱を明けずにほったままだし、違う再生プレーヤを考えんとなー。世の中的には、Raspberry Pi上にpiCorePlayerを載せるのが流行ってる?!みたいだが、Raspberry Piのオンボードの音源機能では音質悪すぎらしく、Raspberry Piの上にDACボードをHATとして載せるのが一般的らしい。あと、タッチパネルディスプレイなんかもあったほうが良さそうなので、いろいろ部品を買ったり、ハンダ付けこそなくとも組み立てたり、めんどくさそう・・・そしてなによりケースを自作せんととか・・・コロナ半導体不足問題でRaspberry Piがみょーに高いしなぁ・・・
そんなある日、「ESP MUSE LUXE」なるものを発見。別ページにつづく
Alexa meets your Logitech Media Server & Squeezebox players !
[Announce] 'MediaServer' *certified* Alexa skill for LMS
[Announce] LMS-lite certified Smart Home skill for Alexa
T.B.D.