IT女子のラズベリーパイ入門奮闘記

第65回「Pi MusicBoxで音楽ストリーミングサービスSpotifyと連携!」

Pi MusicBox
今回は「Pi MusicBox」で遊びます!
「Pi MusicBox」は、音楽ファイルの再生はもちろん、音楽ストリーミングサービスとの連携が簡単にできるのが特徴です。この記事では、インストールから「Spotify(スポティファイ)」と連携までの手順をご紹介します。

 

Pi MusicBoxとは

raspberrypi65_img01

図1

Pi MusicBox(公式サイト)
こちらが「Pi MusicBox」の公式サイトです。
「Pi MusicBox」は、「Mopidy」という、Pythonで書かれた拡張可能な音楽サーバーをベースに作られています。
同ネットワーク上やローカルフォルダ内にある音楽ファイル(MP3/OGG/FLAC/AAC)の再生のほか、下記の音楽サービスとの連携が可能です。

  • Spotify
  • SoundCloud
  • Google Play Music
  • Podcasts
  • Webradio (TuneIn, Dirble, AudioAddict, Soma FM)
  • Subsonic

 

Pi MusicBoxのインストール

Pi MusicBoxダウンロード画面

図2

ページの中央あたりに、「Download」の見出しがあり、ここにGitHubへのリンクがあります。

Release v0.7.0 Release Candidate 5 · pimusicbox/pimusicbox · GitHub

2018年1現在の最新版は「v0.7.0 Release Candidate 5」というバージョンでした(2017-07-28リリース)。
「musicbox_v0.7.0RC5.zip」というテキストリンクから、ZIPファイルをダウンロードしましょう。

Here you can find an SD card image to use on your Pi. It’s around 300MB to download and will fit on a 1GB or larger SD card

ダウンロードするファイルは300MB程度で、インストールするには1GB以上のSDカードが必要になります(この記事では8GBのSDカードを使用しています)。
Win32 Disk Imagerを使って、このファイルをSDカードに書き込み、ラズベリーパイにセットして電源を入れましょう。このとき、有線でネットワークに接続(Wi-Fi環境しかない場合については後述します)。

Raspbianの起動画面

図3

ディスプレイを接続しておくと、このような画面になります。よく見慣れたRaspbianの起動画面ですね。初期起動時は、二回目以降よりも、少し時間がかかるように感じました。
起動が完了すると、同じネットワーク内の端末から「http://musicbox.local/」にアクセス可能になります!

PCで接続した場合の初期表示画面

図4

こちらがPCで接続した場合の初期表示画面です。グリーンとブルーグレーを基調とした色合いは、Volumioに似た雰囲気です。
メインメニューは下記の8つ。アイコン付きで、どれも直感的にわかりやすいですね。

  • Now Playing
  • Queue
  • Playlists
  • Browse
  • Streams
  • Search
  • Setting
  • System

このほか、サイドバーにのみ「Fullscreen」があります。

スマートフォンから接続した初期表示画面

図5

こちらはスマートフォンから接続したところです。レスポンシブデザインが採用されているので、パーツの配置が変わっただけで、PC版と同じ画面になります。
iPhoneでは同じURLでアクセス可能でした。Androidではアクセスできないこともあるそうなので、その場合はIPアドレスで接続しましょう。

左上のハンバーガーアイコンをタップ

図6

左上のハンバーガーアイコンをタップすると、サイドメニューが表示されます。同様に、PC版でも開閉が可能です。

スマートフォンで「Fullscreen」を選択すると、メッセージが表示

図7

スマートフォンで「Fullscreen」を選択すると、図7のようなメッセージが表示されます。
指示通りに「ホーム画面に追加」をして、作成したアイコンから起動すると、全画面表示でアプリのように使用することができます(iPhoneの場合)。

 

Spotifyと連携

「Pi MusicBox」には、音楽ストリーミングサービスとの連携機能が標準搭載されています。
今回は、定額音楽ストリーミングサービス「Spotify」との連携を試してみました。
※この記事では、「Spotify」のプレミアム会員(有料)に登録済みのアカウントを使用しています。

「Settings」画面にある、連携可能な音楽サービスの一覧

図8

図8は、「Settings」画面にある、連携可能な音楽サービスの一覧です。クリックすると設定メニューが開き、ON/OFFの切り替えや、アカウントが必要になる場合は入力欄が表示されます。

「Spotify」の設定項目画面

図9

図9は「Spotify」の設定項目。
一番上がON/OFFの切り替えです。ONにすると、「Search」の検索対象に入るようになります。デフォルトでは「Spotify」はOFFになっていました(ちなみにわたしの環境では、デフォルトでONになっていたものは「YouTube」「Podcasts」「TuneIn」「Dirble」「Local Files」の5つでした)。
「Username」と「Password」には、「Spotify」のアカウント情報を入力します。
その他、いくつか項目がありますが、ここまで入力しておけば「Spotify」の音楽を再生することができました。

入力を終えたら、設定画面の一番下の「Save」ボタンをクリックして、設定内容を保存しましょう。
設定を適用するには再起動が必要になりますので、「Apply changes now」ボタンをクリックしてラズベリーパイを再起動します。
(左下にある「Home」リンクから戻ると、うまく表示されないことが多かったので、「http://music.local」から再アクセスする方が良いかもしれません)

「Search」画面で、「raspberry」というキーワードで検索

図10

「Search」画面で、「raspberry」というキーワードで検索を試してみました。
上のセレクトボックスで検索対象を「Spotify」のみに絞り込んでいます(※無料版の場合は検索結果が表示されないようでした)。

 

ローカルファイルについて

ラズベリーパイ内に保存されている音楽ファイルを再生することももちろん可能です。
「Pi MusicBox」には、「samba」パッケージがプリインストールされているため、すぐにファイルのやりとりが可能です。

wifiの設定画面

図11

同ネットワーク上にあるPCには、「MUSICBOX.LOCAL」というコンピューター名で表示されます。この中にある「Music」という共有ディレクトリに、音楽ファイルを格納しましょう。

 

Wi-Fiの設定

有線接続からはじめるのがおすすめではありますが、Wi-Fiしかない場所でもすぐに使えるとより便利ですね。
そう思って調べてみると、答えは公式サイトの後半にある「Instructions」の項にありました。

Configuration

  1. You can edit all settings in the new settings page from the webclient. To access it, you need a network connection. To enable Wifi, you can either first connect the Pi using a cable and use the settings page, or fill in the wifi-settings in the ini file on the SD Card. For that:
  2. Put the SD-card into your computer. Open the contents of the ‘config’ folder of SD-Card in your Finder/Explorer.
  3. Add your Wifi network and password to the file (and edit other settings if you want) settings.ini It has instructions on what to put where.
  4. MusicBox will autodetect usb audiocards/speakers/boxes and hdmi. It’s possible to override this in the settings. For example if you want to use analog out while having hdmi connected.

Wi-Fiを有効にするには、「一度有線接続でアクセスしてブラウザから設定を行う方法」と「SDカードのiniファイルにWi-Fi設定を入力する方法」の方法があります。

SDカードのiniファイルにWi-Fi設定を入力する方法

図12

1つ目の「一度有線接続でアクセスしてブラウザから設定を行う方法」は、「Setting」画面の「Network」に接続情報を登録する方法です。「Wifi Network Name」にSSIDを、「Wifi Password」にパスワードを入力し、「Save」ボタンをクリックします。この設定は再起動後から有効になります。
もう1つは「SDカードのiniファイルにWi-Fi設定を入力する方法」です。
一旦ラズベリーパイからSDカードを外し、Windows等のマシンから、iniファイルを編集します。

SDカード内のファイル一覧

図13

図13は、SDカード内のファイル一覧です。編集するファイルは「config」フォルダ内にあります。

該当ファイルは「settings.ini」

図14

該当ファイルは「settings.ini」です。このファイルを、テキストエディタで開きましょう。

/config/setting.ini

# --------------------
# | Network Settings |
# --------------------
[network]
# Settings for your WiFi network, if you use a (supported) wifi-dongle
# Only supports WPA security, no WEP or access points without security (dive into the command line for that!)
wifi_network = ""
wifi_password = ""
# Optionally set the wifi region for correct regulatory configuration (available channels etc.)
# Use the ISO / IEC 3166 alpha2 country code, e.g. wifi_country = GB
wifi_country = ""

わたしの環境では、12~22行目付近に、ネットワークに関する設定項目が見つかりました。
18行目の「wifi_network」にSSIDを、19行目の「wifi_password」にパスワードを入力します。同じ手順で、スピーカーの自動検出をオフにすることもできますが、こちらは接続後にブラウザから設定する方が簡単だと思います。
ファイルを上書き保存したら、SDカードをラズベリーパイに戻します。
起動後、「http://musicbox.local/」でアクセスできれば成功です!

 

スピーカー設定

Wi-Fiの設定方法と一緒に、スピーカーの設定についても記載があります。

Configuration

  1. MusicBox will autodetect usb audiocards/speakers/boxes and hdmi. It’s possible to override this in the settings. For example if you want to use analog out while having hdmi connected.
スピーカーの設定

図15

「Settings」の上から3つ目にある「Audio」を開くと、「Audio output」という項目があり、出力先を設定することができます。デフォルトは「Automatic」になっているのですが、HDMI経由でディスプレイを接続している場合はディスプレイのスピーカーが優先されてしまうので、常にイヤホンジャックを使用したい場合は「Analog」を選択しておきましょう。
最後に「Save」ボタンをクリックして、設定を保存します。設定内容は再起動後から有効になります。

 

コマンド入力について

「Pi MusicBox」を起動後のディスプレイの様子

図16

図16は、「Pi MusicBox」を起動後のディスプレイの様子です。Raspbianがベースとなっているので、ログインしてコマンド操作を行うことも可能です。
オートログインではないので、IDとパスワードが必要になるのですが、どこに書いてあるのかというと……

コマンド操作

図17

公式サイトのトップページにありました!
IDは「root」、パスワードは「musicbox」でログイン可能です。デスクトップ環境は無いようで、コマンド操作のみになります。

 

まとめ

他のミュージックサーバと「Pi MusicBox」との違いは、音楽ストリーミングサービスとの連携でしょうか。アカウントの入力欄が用意されているので、設定が簡単!有料サービスと連携することで、とてもたくさんの音楽を、とても手軽に楽しむことができました!

スマホでコントロールできるロボットを作ろう
円山ナカノ

プロフィール:プログラミング暦通算4年、最近IT業界に舞い戻ってきたプログラマーです。女子です。