Music Assistantがすごい!音楽サービスを統合して、家のオーディオ環境が快適になった

Apple MusicにAmazon Music、YouTube Music、Spotify。音楽配信サービスって、いろいろある。

本当はどれかひとつに統一できればいいんだけど、なかなかそうもいかない。

Alexaに話しかけて音楽を流すときはAmazon Music。iPhoneからAirPlayでApple TVに飛ばすときはApple Music。YouTube Premiumに入ったので、せっかくだからYouTube Musicも使ってみるか……という具合に、気づけば複数のサービスを行ったり来たりしている。

当然、プレイリストもあちこちに乱立。あの曲はApple Musicにあって、このプレイリストはAmazon Musicにあって……と、だんだん面倒になってきた。

そんな状況を一気に解決してくれたのが、Music Assistantだ。

これが実にすごい。複数の音楽サービスをまとめて管理できるうえに、サービスごとの対応状況に縛られず、対応するネットワークスピーカーへ音楽を配信できる。私のように複数の音楽サービスを使い分けている人には、まさに革命的なソフトウェアだと思う。

Music Assistantとは?

Music Assistantは、GitHubで公開されているオープンソースソフトウェア(OSS)。Raspberry PiやNAS、Linuxサーバーなど、家庭内で常時稼働しているマシンにインストールして使う。

いわば、音楽サービスと再生機器の間に入って、音楽再生をまとめて管理してくれるサーバーだ。

Music Assistant自体が音楽を持っているわけではない。Apple MusicやYouTube Music、Spotifyといった音楽サービス、あるいは自分で保存している音楽ファイルなどを登録して、それらをひとつのライブラリにまとめてくれる。

同じアルバムが複数のサービスにある場合は、同じ作品としてまとめて表示する機能もある。もちろん、すべての曲が完全に一致するわけではないけれど、サービスごとにバラバラだった音楽ライブラリを一か所から探せるのは便利だ。

そして、もうひとつ重要なのが再生先を選べること。

スマホで音楽を再生して、その音をスピーカーに飛ばすという仕組みではない。Music Assistantがサーバー側で音源を取得し、ネットワーク経由で対応する再生機器に配信してくれる。

つまり、スマホはあくまで操作用。スマホのアプリを閉じても、サーバー側で再生が続く。

これがなかなか快適なのだ。

対応している音楽サービスが豊富

Music Assistantは、さまざまな音楽サービスや音源に対応している。

代表的なものを挙げると、次のとおり。

音楽サービス・音源対応内容
Apple Music楽曲・アルバム・プレイリストなど
YouTube Music楽曲・アルバム・プレイリストなど
Spotify楽曲・アルバム・プレイリストなど
Tidal楽曲・アルバム・プレイリストなど
Deezer楽曲・アルバム・プレイリストなど
Qobuz楽曲・アルバム・プレイリストなど
ローカル音楽ファイルPC・NASなどに保存した音源
Plex / Jellyfinなどメディアサーバー内の音源
インターネットラジオ対応するラジオサービス

このほかにも、SoundCloudやBandcamp、Podcast、各種ラジオサービスなど、かなり幅広い。

ただし、残念な点もある。Amazon Musicは、非対応だ。AlexaやWiiMからAmazon Musicを再生することはできても、Music AssistantにAmazon Musicを登録して一元管理できるわけではない。

また、Apple MusicとYouTube Musicは、Music Assistant側の対応が公式アプリと同じというわけではない。どちらもサードパーティーからの再生で、Apple MusicはロスレスやDolby Atmosに対応せず、YouTube Musicも公式APIを使わない方式のため、予告なく動作が変わる可能性がある。

再生先もかなり豊富

音楽サービスだけでなく、音楽を出力する側も幅広く対応している。

  • WiiM:WiiM Mini、WiiM Proなど
  • AirPlay:Apple TV、HomePod、AirPlay対応スピーカーなど
  • Google Cast / Chromecast:Google Nest、Chromecast built-in対応機器など
  • DLNA / UPnP:対応ネットワークプレーヤーやAV機器
  • Sonos:Sonos製品
  • Bluesound:Bluesound製品
  • Snapcast / Squeezelite:自前で構築したネットワークオーディオ環境
  • その他:対応するテレビ、ソフトウェアプレーヤーなど

これらは、Music Assistantの「Player Provider」という仕組みで管理されている。

面白いのは、AirPlayやChromecastなどのプロトコルにも対応していること。対応機器をネットワークにつないでおけば、自動検出されるものも多い。

例えば、Apple TVを再生先にしたり、WiiMを再生先にしたり、複数の部屋のスピーカーで同期再生したりできる。

Docker Composeでの導入方法

Music Assistantは、Home Assistantのアプリとして導入する方法もあるけれど、Dockerが動くLinuxサーバーを持っているなら、Docker Composeで単独稼働させるのが手軽だ。

私のようにRaspberry Piなどで自宅サーバーを運用している人なら、比較的簡単に導入できる。

まず、Music Assistant用のディレクトリを作成する。

$mkdir -p ~/docker/music-assistant
cd ~/docker/music-assistant

続いて、compose.yamlを作成する。

services:
  music-assistant-server:
    image: ghcr.io/music-assistant/server:latest
    container_name: music-assistant-server
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./data:/data
    environment:
      - LOG_LEVEL=info

あとは起動するだけ。

$docker compose up -d

起動したら、ブラウザから次のアドレスにアクセスする。

http://サーバーのIPアドレス:8095

これでMusic Assistantの画面が開く。

ここで重要なのが、network_mode: hostを指定していること。Music Assistantはネットワーク上の再生機器を自動検出するために、mDNSやUPnPなどの仕組みを利用している。通常のDockerブリッジネットワークでは機器を検出できない場合があるため、公式もホストネットワークモードを指定するよう案内している。

また、音声ストリーミングには標準でTCP 8097番ポートも使う。再生機器からMusic Assistantサーバーにアクセスできるネットワーク構成にしておく必要がある。

起動後は、Music Assistantの設定画面から音楽サービスと再生機器を追加していけばよい。

音質はどうなのか?

ここは少しややこしいので、整理しておきたい。

Music Assistantは、音楽サービスから取得した音源を、そのままの形式で再生機器に渡すとは限らない。再生機器の対応形式や設定に応じて、Music Assistant側で変換してから配信することもできる。

例えばWiiMへの出力では、Music Assistantの標準設定はFLAC。FLACは可逆圧縮なので、Music Assistantが受け取った音声データをFLACに変換してWiiMへ送る場合、転送時に音質が劣化することはない。

ただし、ここで注意したいのが、元の音源の品質だ。

Apple MusicとYouTube Musicは、Music Assistantから再生する場合、どちらも最大AAC 256kbpsとされている。

音楽サービスMusic Assistantでの最大ストリーム品質
Apple MusicAAC 256kbps
YouTube MusicAAC 256kbps

つまり、Apple Musicのロスレス音源やハイレゾ音源を、そのままMusic Assistant経由で取り出せるわけではない。Apple MusicのロスレスやDolby Atmosは利用できず、YouTube Musicも最大AAC 256kbpsとなっている。

一方で、Music AssistantからWiiMへの出力はFLACに対応している。WiiM側の対応範囲内であれば、最大192kHz/24bitまで扱える。ロスレス再生なので完璧だ!

百聞は一見に如かずということで、実際にMusic Assistant上のApple MusicからWiim miniに再生している様子を見ると、こんな感じ↓

Apple MusicやYouTube Musicの音源がAAC 256kbps程度であれば、かなり高音質なので、これ以上良くても聴き分けは難しいだろう。

十分な音質ということだ。

我が家のオーディオ環境で使ってみる

さて、ここからは実際に我が家でMusic Assistantを使っている環境を紹介したい。

我が家のオーディオ構成はこんな感じ。

【テレビの音声】
REGZA 65M550M
      │ HDMI(ARC / CEC)
      ▼
FX-AUDIO HAC-03J
      │ RCA
      ▼
WiiM Mini ──────── AUX入力
      │
      │ 光デジタル(S/PDIF)
      ▼
FX-AUDIO SQ5J
      │
      ▼
FX-AUDIO FX-502J-S
      │
      ▼
DALI ZENSOR 1


【音楽配信】
Apple Music / YouTube Music
      │
      ▼
Music Assistant(自宅サーバー)
      │ ネットワークストリーミング
      ▼
WiiM Mini

テレビの音声は、HDMI ARCでHAC-03Jに入力している。HAC-03JからRCAケーブルでWiiM MiniのAUX入力へ接続し、そこから光デジタルでSQ5Jに送っている。

この構成にしている理由は、テレビのリモコンで音量を操作したいから。

HAC-03JはHDMI ARCとCECに対応しているので、テレビのリモコンで音量を操作できる。テレビの音声を光デジタルでDACに直接入力すると、テレビ側の音量操作ができないため、この構成にしているわけだ。

そして、Music Assistantから再生する音楽は、ネットワーク経由でWiiM Miniに送る。

つまり、テレビの音声はAUX入力、Music Assistantの音楽はネットワーク入力という使い分けだ。

ここでWiiM Miniの便利な機能が活きてくる。

WiiM MiniはAUX入力の有無を検知して、自動的に入力を切り替えてくれる。

テレビをつければAUX入力に切り替わり、Music Assistantから音楽を再生すればネットワーク再生に切り替わる。いちいち手動で入力を切り替える必要がない。

これが本当に便利。

WiiM Miniは安価なネットワークストリーマーだけど、こういう細かな使い勝手がよく考えられている。まさに我が家のオーディオ環境のハブになっている。

WiiM Miniが対応していない音楽サービスも再生できる

そもそも、WiiM MiniはAmazon Musicなどには対応しているものの、Apple MusicやYouTube Musicをネイティブには再生できない。

ここでMusic Assistantの出番だ。

Music Assistantがサーバー側でApple MusicやYouTube Musicの音源を取得し、WiiM Miniにネットワーク経由で配信してくれる。

これによって、WiiM Mini単体では対応していない音楽サービスも再生できるようになる。

しかも、WiiM Miniへの出力はFLACに設定できるので、転送時に余計な非可逆圧縮を加えずに済む。

スマホで音楽を再生しているわけではないので、スマホのバッテリーやアプリの動作に依存しない。スマホはMusic Assistantの操作画面として使うだけだ。

これはかなり理想的な使い方だと思う。

Music Assistantの操作画面が使いやすい

導入してみて、音楽の再生経路以上に気に入ったのが、操作画面の使いやすさだ。

これまでWiiM Homeアプリを使っていたのだけど、正直なところ、プレイリストの操作感などは「一応操作はできるけど、ちょっと使いづらいな」という印象だった。

Music Assistantは、アルバムアートワークが大きく表示され、アルバムやアーティスト、曲をグラフィカルに探せる。

複数の音楽サービスをまとめて検索できるので、どのサービスに曲があったかを意識する必要もない。

さらに、曲やアーティストから似た曲を探したり、Endless Mixで類似曲を次々と再生したりすることもできる。

こういう機能があると、普段は自分で選ばないような曲にも出会える。音楽を探す楽しさが増すんだよね。

プレイリストも複数のサービスをまたいで扱える。対応状況には差があるものの、サービスごとにバラバラだった音楽ライブラリをまとめて管理できるのは大きい。

Amazon MusicよりApple Musicのほうが音がよく感じる?

ちょっと不思議なのが、WiiM MiniからAmazon Musicを直接再生するより、Music Assistant経由でApple Musicを再生したほうが音がよく感じることがある。

特に低音が強めに出ているような気がする。

もちろん、これは私の耳で聴いた感想であって、測定したわけではない。

そもそも、Apple MusicのMusic Assistant経由のストリームは最大AAC 256kbps。一方、Amazon MusicはWiiMから直接再生する場合、契約プランや楽曲によってはロスレスやハイレゾ音源を再生できる。

スペックだけを見れば、Apple Musicのほうが高音質というわけではない。

考えられるのは、楽曲のマスタリングや音源の違い、再生時の音量差、音量正規化やイコライザーなどの設定差だろう。音量がほんの少し違うだけでも、低音や音の厚みの印象は変わることがある。

同じ曲を比較しているつもりでも、実際には配信されている音源のバージョンが異なる可能性もある。

このあたりはもう少し検証してみたいところだ。

Music Assistantは、音楽好きなら導入する価値あり

Music Assistantを導入してから、音楽を聴くときの利便性が著しく向上した。

複数の音楽サービスをひとつの画面から操作できる。プレイリストやアルバムをまとめて管理できる。スマホを介さずにサーバーからネットワークプレーヤーへ音楽を配信できる。

そして、我が家のようにWiiM Miniが対応していないApple MusicやYouTube Musicも再生できる。

Raspberry PiやNASなど、常時稼働しているサーバーを持っているなら、導入してみる価値は十分にあると思う。

何より、これだけ高機能なソフトウェアがOSSとして公開されていて、無料で使えるというのが素晴らしい。

いやー、これは革命ですな。

コメント