これまでもMPDやMopidyについて書きました。Volumio2のv2.559からユーザーインターフェイスがまだ開発中のVolumio3を選択できるようになり、見た目や操作感が変わりました。
このままVolumio2を使いますが、そういえばRaspbianがBusterになってから、Mopidy-Mopifyだとどうなるのかと思い、Mopidyを再構築してみました。
結論から言うと、Mopidy-Mopifyの方が不安定な部分もあるため、Volumio2に戻すことにしました。また、設定方法などやっと理解した部分があったので、一緒にご紹介します。
Volumioがイヤだという人は、MopidyとSpotifyも試してみてください。
Raspberry Pi だとmicroSDカードを取り替えるだけで試せるのは楽ですね!
今回の環境
今回はZeroWなのですが、Raspberry Pi 3B+でも同じです。
- Raspberry Pi Zero W
- Raspbian buster lite
- microSDカード32GB
- pHAT DAC
RaspbianのインストールをmicroSDカードへ書き込みます。
事前に用意しているwpasupplicant.confファイルとsshファイルをmicroSDカードの直下へコピーします。
pHAT DACのセットアップスクリプトを実行
Raspbain Buster liteでも動作しました!
curl https://get.pimoroni.com/phatdac | bash
サウンドテスト
aplay /usr/share/sounds/alsa/Noise.wav
これでヘッドレスインストールの準備がOKです。

Mopidyのインストール
予めraspi-configでローカル言語やホスト名、そしてインターフェイスからI2Cを有効にしておきます。I2Cの有効はpHAT DACを使うためです。
aptアーカイブからインストールすると、今後の更新など自動で行えます。
この時、ログインパスワードも変更しておきましょう。
sudo raspi-config
公開鍵gpgキーの取得と追加
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
ソースリストの追加(buster用)
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
ソースリストをアップデートしてmopidyのインストール
sudo apt update
sudo apt install mopidy
固定IP化
ホスト名の指定もしましたが、IPも固定化しておいた方が後々に分かり易いです。
固定IPはdhcpcd.confに記述します。
sudo nano /etc/dhcpcd.conf
追加で記述する内容
interface wlan0
static ip_address=192.168.x.8/24 ←任意で決めた他と被らない番号
static routers=192.168.x.x ←ルーターの番号
static domain_name_servers=192.168.x.x ←こちらもルーターの番号
Mopidyの設定
mopidyの設定ファイルは都合により/etc内に存在するmopidy.confファイルを使います。
その前にホームフォルダの隠しファイルにデフォルトの設定を準備します。
mopidyと入力してデフォルトのファイルを作成させます。
mopidy
sudo nano ~/.config/mopidy/mopidy.conf
エラーが出て実行が止まった場合、ctrl+Cで中断させます。
もう一度mopidy.confを開くと、デフォルトの設定があるはずです。

このようなコメントアウトされた記述があればデフォルトの定義ファイルが出来ています。しかし、ここには記述しません。
mopidy.confへの追記は/etc/mopidy/mopidy.confへ
コメントアウトで書かれている~/.config/mopidy/mopidy.confは使いません。
sudoを付けた管理者権限でMopifyをインストールする場合、/etc内のconfに書かないと有効になりません。~/.config内はユーザー権限で有効です。
本来はsudoなしでインストールしてユーザーの~/.config/内で設定したいと思い、sudoを付けないでインストールし構築したものの、それだとウェブクライアントとして認識しないうえ、http経由でも接続できませんでした。んー。ちょっと分からない。
そのため、通常通りsudoの管理者権限でインストールをおこないますから、設定ファイルは、/etc/mopidy/mopidy.confになります。お間違えなく。
sudo nano /etc/mopidy/mopidy.conf
以下のように最下部へ追記します。httpセクションと、mpdセクションです。hostnameの追加をおこないます。
[http]
hostname = 192.168.0.29
[mpd]
hostname = ::
今回変更したのは、ウェブブラウザからアクセスするためのIPアドレスです。これは固定IPの場合はそれを、ホスト名を付けたならそれを指定します。
私はホスト名を「mopidy」としたので、ホスト名の場合は以下になります。
[http]
hostname = mopidy.local
[mpd]
hostname = ::
後ほど、SpotifyのIDなどもここで指定します。
では、設定を反映させる意味でも一度mopidyをスタートします。
sudo systemctl start mopidy
ウェブブラウザからアクセスして確認してください。(指定したIPアドレスまたはホスト名とポート番号です)
http://192.168.0.29:6680

一先ず、これでOKです。
もしも接続できない場合は、httpセクションの指定が間違っています。IPアドレスを確認しましょう。
ポート番号が被っていたら?
仮に初期設定のポート6680や6660が既に使用さて居るのか確認するには以下のコマンドです。
sudo netstat -tlpn | grep 6680
Spotify拡張機能をインストール
先程ウェブブラウザからアクセスしたのはMopidyのWeb clientsです。これをSpotify対応に変更します。
これはMPDクライアントと言います。他にもあります。公式ページに詳しく載っています。
sudo apt install mopidy-spotify
SpotifyのIDなど追加
これもmopidy.confの設定ファイルに追記します。
Spotifyのプレミアムアカウントのユーザーネーム、パスワード、そしてこの後取得するClient_idとClient_Secretです。
[spotify]
enabled = true
username = <your spotify username>
password = <your spotify password>
client_id = <your client id>
client_secret = <your client secret>
client_idなどを生成してコピーします。認証するにはhttps://www.mopidy.com/authenticate/#spotifyへ
順番通り1の「LOG IN WITH SPOTIFY」ボタンを押すことで、2と3の箇所に数字の羅列が表示されますので、「Copy to Clipboard」でコピーしてください。(※今回は3のSpotify_Webは記載しません)

sudo nano /etc/mopidy/mopidy.conf
先程の書式通りに最下部へ追記します。
spotify-tunigoのインストール
合わせてspotify-tunigoもインストールしてましょう。
sudo apt install mopidy-spotify-tunigo
同じようにmopidy.confへ追記します。
sudo nano /etc/mopidy/mopidy.conf
[spotify_tunigo]
enabled = true
ウェブクライアントのMopifyのインストール
先程、ウェブブラウザからアクセスしたのはMopidyのウェブクライアントでした。これをSpotifyのウェブクライアントに変更するため、Mopifyをインストールします。
pipのインストール
pipを使ってインストールするので、pip自体が入っていない場合はpipのインストールから始めます。
sudo apt install python-dev
sudo apt install python-pip
Mopidy-Mopifyのインストール
sudo pip install Mopidy-Mopify
同じようにmopidy.confに追記します。
sudo nano /etc/mopidy/mopidy.conf
[mopify]
enabled = true
debug = false
Mopidyを再スタート
反映させるためにMopidyをリスタートさせます。
sudo systemctl restart mopidy
ステータス確認
きちんとMopidyが動作しているのかステータスで確認するのは以下のコマンドです。
sudo systemctl status mopidy

ブラウズからアクセス
先程と同じようにウェブブラウザからアクセスして確認してください。(指定したIPアドレスまたはホスト名とポート番号です)
先程と異なり、Web clientsの所にmopifyのリンクが出ます。

クリックしてみましょう。
次回からは、http://localhost:6680/mopify/で繋がります。
※localhostまたは指定したIPアドレス、または指定したホスト名です。
以下のように画面がでたら、左側のメニューからSERVICESを選びます。

画像のように順番にSysncとSpotifyをクリックして接続します。この時に別ウインドウが開いてSpotifyのログインを求められ認証します。
左下段にSpotifyのアカウントとシンクされたアイコンが出て、小さい緑マークが付いていればOKです。
BROWSEをしてみると、Spotifyのブラウズ画面が出ます。

これでMopidyとMopifyを使ったSpotifyとの連携が終了です。お疲れ様でした。
MyPlaylistが再生可能に!
Spotifyのプラグインを入れ直すことでMyPlaylistが再生されました!

残念ながら・・・
とても残念ながらSpotify側のAPIが変わったのか、解放するのをやめたのか、プレイリストが表示はされても曲が表示されず、再生も出来ません。
ここがSpotifyの利点なのに残念です。
BROWSE
FEATURED PLAYLISTS
NEW RELEASES
このDiscoverの部分は再生可能です。また別のRaspotifyなども試してみたいと思います。
現在は問題無く再生可能です。
この記事のコメント(承認後に公開)