海上忍のラズパイ・オーディオ通信(49)
音楽ストリーミングは良い音楽との「出会い系」。ラズパイオーディオで出会いを実現する方法
■ラズパイが「Spotify Connect」対応機器に
とはいうものの、librespotはCUIのため単体では扱い辛い。なにか他の実装は……と探したところ、出会ったのが「spotifyd」(https://github.com/Spotifyd/spotifyd)。librespotの成果を生かしつつ、サービス(システムのバックグラウンドで動作するプログラム)として動作するようにしたソフトウェアだ。
サービスであれば、systemd(Raspbianのサービス管理機構)でMPDやUpmpdcliなどとまとめて起動管理できるため、Raspberry Piが「Spotify Connect」機器として扱えるようになる。
Spotify Connectとは、対応オーディオ機器で直接Spotifyを受信するしくみのこと。スマートフォンアプリをリモコンとして曲の検索や再生/停止などの曲操作を行うが、アプリはあくまでSpotify Connect機器に再生指示するための道具で、スマートフォン自身は曲データを受信しない。プレミアムアカウントが必須になるものの、Raspberry Piが直接曲データを受信するため、スマートフォンが受信した曲データをRaspberry Piへ転送する方法(ex. AirPlay)より再生は安定する。
Raspbianを対象としたインストールの方法は、下記作業手順に挙げたとおりだが、SSHでリモートログインすることが前提のうえ、2つの設定ファイル(spotifyd.service、spotifyd.conf)を用意しなければならないなど上級者向きだ。Raspbian(試していないがVolumioやMoode Audioでもイケるはず)でとりあえずSpotify Connectを試してみたい、という場合以外はスルーしてほしい。
その使用感だが、なかなかいい。アーティストの検索やプレイリストの選択、再生/停止やスキップに至るまで、すべてスマートフォンアプリ側で行うことになるため、再生機器がRaspberry Piということをまったく意識させないのだ。Spotify Connectに対応したオーディオ機器は多数存在するが(2018年8月現在80以上のハードウェアブランドの300以上の製品が対応)、セットアップの手順も操作方法も同じと言っていい。
音質面でいえば、SpotifyはOgg Vorbis/最大320kbpsとGoogle Play Music(MP3/最大320kbps)に比べて有利。同じ曲を聴き比べたときの印象も、高域方向の伸びや音場感で上回り、"出会い"用の音源であれば納得できるのではないだろうか。アプリはSpotify純正であるだけに完成度が高く、Spotify Connectを使いたいがためにRaspberry Piを購入するユーザが現れても不思議はないほどだ。
ただし、Spotifydは直接ALSAに音声ストリームを出力するため、MPDでは管理できない。MPDで管理できないということは、WEB UIを利用した選曲や曲名/アーティスト情報などのメタデータを表示できないことを意味する。NASやUSBストレージなど、他の音源と操作系統が完全に分断されてしまうのだ。
先日対応した赤外線リモコンも使えない。MPDとSpotifydのどちらかが再生中の場合はもう一方が再生できない(出力先デバイスがBUSYの場合は再生命令が無視される)、という問題も生じてしまう。まだ開発を続けねばならないようだ。
・「spotifyd.service」
- - - - -
[Unit]
Description=An open source Spotify client running as a UNIX daemon
Documentation=https://github.com/Spotifyd/spotifyd
[Service]
ExecStart=/usr/sbin/spotifyd --no-daemon --config /etc/spotifyd.conf
Restart=always
RestartSec=12
[Install]
WantedBy=default.target
- - - - -
・「spotifyd.conf」
- - - - -
[global]
username = Spotify Premiumのユーザ名
password = Spotify Premiumのパスワード
backend = alsa
device = default
mixer = PCM
volume-control = alsa
device_name = 1bc
bitrate = 320
cache_path = cache_directory
volume-normalisation = true
normalisation-pregain = -10
- - - - -
・作業手順
- - - - -
$ wget https://github.com/Spotifyd/spotifyd/releases/download/v0.2.2/spotifyd-2018-06-23-armv6.zip
$ unzip spotifyd-*
$ sudo cp spotifyd /usr/sbin/
$ sudo cp spotifyd.service /lib/systemd/system/
$ sudo cp spotifyd.conf /etc/
- - - - -
とはいうものの、librespotはCUIのため単体では扱い辛い。なにか他の実装は……と探したところ、出会ったのが「spotifyd」(https://github.com/Spotifyd/spotifyd)。librespotの成果を生かしつつ、サービス(システムのバックグラウンドで動作するプログラム)として動作するようにしたソフトウェアだ。
サービスであれば、systemd(Raspbianのサービス管理機構)でMPDやUpmpdcliなどとまとめて起動管理できるため、Raspberry Piが「Spotify Connect」機器として扱えるようになる。
Spotify Connectとは、対応オーディオ機器で直接Spotifyを受信するしくみのこと。スマートフォンアプリをリモコンとして曲の検索や再生/停止などの曲操作を行うが、アプリはあくまでSpotify Connect機器に再生指示するための道具で、スマートフォン自身は曲データを受信しない。プレミアムアカウントが必須になるものの、Raspberry Piが直接曲データを受信するため、スマートフォンが受信した曲データをRaspberry Piへ転送する方法(ex. AirPlay)より再生は安定する。
Raspbianを対象としたインストールの方法は、下記作業手順に挙げたとおりだが、SSHでリモートログインすることが前提のうえ、2つの設定ファイル(spotifyd.service、spotifyd.conf)を用意しなければならないなど上級者向きだ。Raspbian(試していないがVolumioやMoode Audioでもイケるはず)でとりあえずSpotify Connectを試してみたい、という場合以外はスルーしてほしい。
その使用感だが、なかなかいい。アーティストの検索やプレイリストの選択、再生/停止やスキップに至るまで、すべてスマートフォンアプリ側で行うことになるため、再生機器がRaspberry Piということをまったく意識させないのだ。Spotify Connectに対応したオーディオ機器は多数存在するが(2018年8月現在80以上のハードウェアブランドの300以上の製品が対応)、セットアップの手順も操作方法も同じと言っていい。
音質面でいえば、SpotifyはOgg Vorbis/最大320kbpsとGoogle Play Music(MP3/最大320kbps)に比べて有利。同じ曲を聴き比べたときの印象も、高域方向の伸びや音場感で上回り、"出会い"用の音源であれば納得できるのではないだろうか。アプリはSpotify純正であるだけに完成度が高く、Spotify Connectを使いたいがためにRaspberry Piを購入するユーザが現れても不思議はないほどだ。
ただし、Spotifydは直接ALSAに音声ストリームを出力するため、MPDでは管理できない。MPDで管理できないということは、WEB UIを利用した選曲や曲名/アーティスト情報などのメタデータを表示できないことを意味する。NASやUSBストレージなど、他の音源と操作系統が完全に分断されてしまうのだ。
先日対応した赤外線リモコンも使えない。MPDとSpotifydのどちらかが再生中の場合はもう一方が再生できない(出力先デバイスがBUSYの場合は再生命令が無視される)、という問題も生じてしまう。まだ開発を続けねばならないようだ。
・「spotifyd.service」
- - - - -
[Unit]
Description=An open source Spotify client running as a UNIX daemon
Documentation=https://github.com/Spotifyd/spotifyd
[Service]
ExecStart=/usr/sbin/spotifyd --no-daemon --config /etc/spotifyd.conf
Restart=always
RestartSec=12
[Install]
WantedBy=default.target
- - - - -
・「spotifyd.conf」
- - - - -
[global]
username = Spotify Premiumのユーザ名
password = Spotify Premiumのパスワード
backend = alsa
device = default
mixer = PCM
volume-control = alsa
device_name = 1bc
bitrate = 320
cache_path = cache_directory
volume-normalisation = true
normalisation-pregain = -10
- - - - -
・作業手順
- - - - -
$ wget https://github.com/Spotifyd/spotifyd/releases/download/v0.2.2/spotifyd-2018-06-23-armv6.zip
$ unzip spotifyd-*
$ sudo cp spotifyd /usr/sbin/
$ sudo cp spotifyd.service /lib/systemd/system/
$ sudo cp spotifyd.conf /etc/
- - - - -