Amazonタイムセール祭りは9/20から開催——クリックして特集記事へ

Spotify再生用をMopidy-Mopifyで再構築した自宅音楽サーバー

mopidy-mopify-title 作ってみた!
この記事は約10分で読めます。

これまでも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です。

分からない人はこちらの記事も合わせてご覧ください。

Raspberry Pi zero W のヘッドレスインストール(キーボードやマウスなしでRaspbianをインストールする方法)
ヘッドレスインストール(Headless Install)とは、Raspberry Piにキーボードやマウス、ディスプレ...

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を開くと、デフォルトの設定があるはずです。

mopidyconf-http

このようなコメントアウトされた記述があればデフォルトの定義ファイルが出来ています。

ここには記述しません!

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 = ::

ちなみにmpdのホスト名は「::」とします。これは半角コロンを続けて2つです。全角と間違えないようにしてください。どこからでも受け付ける意味です。
Listens on all interfaces, both IPv4 and IPv6

後ほど、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です。


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なども試してみたいと思います。

Twitter、フォーラム、メールで購読
それぞれ更新情報をお伝えしています。
皆様のフォローをお待ちしています!
\ FOLLOW ME /
/ 最新記事をお知らせしています! \
作ってみた!
スポンサーリンク
フォローをお願いします——ラズパイダ
特集ラズパイ4
スポンサーリンク
こちらの記事もよく読まれています♪
ラズパイダ

コメント

最近のフォーラム投稿

Raspberry Piや記事に関することなどコメント欄の代わりにお使いください。