MPDのインストール

最終更新日:2024年6月22日

動作確認:Raspberry Pi OS Lite (64-bit) Bookworm リリース日時:2024-03-15

Linuxのコマンドに詳しい方のために、UbuntuRaspberry Pi OSといったGebianベースのLinuxディストリビューションにMPD (Music Player Daemon)をインストールする方法を紹介します。このページは以下のコマンドを概ねマスターされている方を対象にしています。標準的なLinuxコマンドについては特に解説しません。USBメモリやNASのマウント方法も説明しません。

  • エディター:vim (vi), nanoなど
  • 一般コマンド:cd, pwd, ls, cp, mv, mkdir, ln, df, find, grep, chmod, ssh, scpなど
  • システム管理系コマンド:systemctl, mount, fstab, shutdown, rebootなど
  • パッケージ管理コマンド:apt (Debian系)

Linuxのコマンドに慣れていない方は、[mute] MPDダッシュボードでMPDをインストールされることをお勧めします。
[mute] MPDダッシュボード」をご覧ください。

あるいは、moOde audio playerや、Volumioのような、あらかじめMPDを組み込んだLinuxディストリビューションをお勧めします。
Moodeのインストールと設定」または、

Volumioのインストールと設定」をご覧ください。

1. Raspberry Pi OS Liteのインストール

MPDを動作させるのにお勧めのマシンはラズパイ (Raspberry Pi)です。MPDを動作させるには十分な性能を持ちながら、PCより安価(1万円程度)で消費電力が小さい(2W〜3W程度)からです。常時起動しておいても電気代が気になる程ではありません。ラズパイの機種の選択については「ラズパイオーディオ入門」をご覧ください。ラズパイ用の標準OSであるRaspberry Pi OSは、Ubuntuと同じくDebian Linux系のOSです。Ubuntuに慣れた方なら戸惑うことは少ないと思いますが、ラズパイオーディオではディスプレイを接続せず、いわゆる「ヘッドレス」で常時起動することを想定しますので、GUIを含まない Raspberry Pi OS Lite をインストールします。ラズパイはmicroSDカードから起動します。起動用のmicroSDカードの作成方法は、
Raspberry Pi Imagerによるラズパイ起動用microSDの作成」をご覧ください。

microSDカードが作成できたらラズパイを起動します。可能な限りラズパイに有線LANを接続してください。また最初の起動はディスプレイ(HDMI経由)とキーボード(USB経由)を接続した方がSSHでログインできない場合の切り分けと回復が容易になります。

先程Raspberry Pi OSを書き込んだmicroSDを挿して給電します。

Raspberry Pi OSが起動するまで数分待ち、Raspberry Pi Imagerの「OS Customization」で設定したホスト名、ユーザー名、パスワードを用いて、sshでログインしてください。

sshでの接続例:

 

 ホスト名: raspberrypi.local

 ユーザー名:pi

の場合、

Windowsのコマンドプロンプトまたは、Macのターミナルで:
 C:¥Users¥myuid> ssh -l pi raspberrypi.local

Windows 10 1803以降、および、macOSは標準でsshが使えるようになっています。

 

なおRaspberry Pi Imagerで設定したロケール等は raspi-config でも設定・変更できます。

 $ sudo raspi-config

以降はディスプレイとキーボードがなくても、sshでログインして作業できます。


2. ALSAの設定

MPDは様々なオーディオ出力をサポートしていますが、ここでは最も一般的なALSA (Advanced Linux Sound Architecture)を使ったオーディオ出力を例に解説します。またDACは下記を使います。
 HiFiBerry DAC+ Pro (ラズパイ用 I2S DAC)

 TOPPING D50 (USB DAC)

現在のALSAの設定は、

 $ aplay -l
で確認できます。左はノートPCにインストールしたUbuntuの例です。デフォルトでイヤフォンジャックのアナログ出力とHDMIをサポートしています。USB DACは接続するだけでALSAが認識します。TOPPING D50 USB DACを接続して aplay -l を実行すると、

 Card 1: D50 [D50], device 0: USB Audio [USB Audio]
と表示されます。


Raspberry Pi 4BにインストールしたRaspberry-Pi OS Lite (Debian Bookworm)で aplay -l を実行してみると、デフォルトではALSAがラズパイのヘッドフォンジャック (Headphones)と2つのHDMIポート(vc4hdmi0とvc4hdmi1)を認識しています。


I2S DACの HiFiBerry DAC+ Proが接続されていますが、ALSAはHiFiBerry DAC+ Proを検出していません。I2S DACには設定が必要です。


I2S DACの接続方法は各製品の説明書を確認ください。HiFiBerryのLinuxでの設定方法は、英語ですが下記に説明があります。

 CONFIGURING LINUX 4.X OR HIGHER

 

まずラズパイのヘッドフォンジャックとHDMIオーディオは使わないので無効にします。設定ファイルはRaspberry OSのリリースによって異なりますので、以下の方法で確認してください。

 $ cat /etc/os-release 

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"なら:/boot/config.txt

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"なら:/boot/config.txt

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"なら:/boot/firmware/config.txt

 

このファイル内の

 dtparam=audio=on

を削除するか、先頭に # を追加してコメントアウトします。

 #dtparam=audio=on

 

次に DRM VC4 V3Dドライバー:

 dtoverlay=vc4-kms-v3d

のオーディオ出力をOFFにします。

 dtoverlay=vc4-kms-v3d,noaudio

 

古いシステムではvc4-kms-v3dではなく、vc4-fkms-v3dが使われています。(kmsの先頭にfが付いている)

 dtoverlay=vc4-fkms-v3d

この場合は、以下の様にしてオーディオ出力をOFFにします。

 dtoverlay=vc4-fkms-v3d,audio=off

 

そしてファイルの最後の行にDACのドライバーを追加します。HiFiBerry DAC+の場合は、

busterまたはbullseyeなら、次の行を追加します。

 dtoverlay=hifiberry-dacplus

bookwormでHiFiBerry DAC+ Standardなら

 dtoverlay=hifiberry-dacplus-std

bookwormで DAC+ Pro または DAC2 Proなら、

 dtoverlay=hifiberry-dacplus-pro

それ以外のHiFiBerryのモデルは、CONFIGURING LINUX 4.X OR HIGHER を参照してください。

 

例えば、BookwormでHiFiBerry DAC+ Proの場合は、/boot/firmware/config.txtの次の3行を追加または変更します。

 #dtparam=audio=on

 dtoverlay=vc4-kms-v3d,noaudio

 dtoverlay=hifiberry-dacplus-pro

config.txtを編集してラズパイを再起動するとALSAがHiFiBerry DAC+ Proを検出します。

 card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]

 

cardの名称(sndrpihifiberry)または番号(card 0)と、deviceの番号(device 0)を後ほどMPDの設定で使用します。


注意

リリース日時:2024-03-15のBookwormには、まだ

hifiberry-dacplus-proドライバー が入っていません。

no soundcards found...と表示された場合は、OSをupgradeしてから再起動してください。

 $ sudo apt update

 $ sudo apt upgrade

 $ sudo reboot 0
また、Raspberry Pi 5では、このバージョンのドライバが必須になりますので、uname -v でOSのバージョンを確認してください。

 $ uname -v

 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) OK

 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) 古い


3. MPDのインストール

安定版のMPDは apt install でインストールできます。あるいは最新版のMPDをkaliko’s repositoriesというリポジトリからダウンロードすることもできます。2024.06.20時点でダウンロードできるMPDのバージョンは以下のとおりです。

Bullseye apt:MPD 0.22.6

Bookworm apt:MPD 0.23.12

Bullseye kaliko’s:MPD 0.23.14

Bookworm kaliko’s:MPD 0.23.14

ご自身でソースコードからビルドされたい方は、Compiling from sourceを参照してください。ここでは apt と kaliko’sの2種類のインストール方法を紹介します。

 

3.1 apt installでMPDをインストールする方法

apt installで mpd と mpc をインストールしてください。

 $ sudo apt update

 $ sudo apt install mpd mpc

 

 3.2 kaliko’s repositoriesから最新のMPDをインストールする方法

 Unofficial Debian packages(英語サイト)

 MPD 0.23.14 Backports(英語サイト)

 Adding AArch64 (arm64) architecture to backports(英語サイト)

詳細は上記を参照ください。以下に簡単に日本語でRaspberry Pi OSへのインストール手順を解説します。

 

まず、お使いのRaspberry Pi OSがベースとしているDebianのバージョンを確認してください。

 $ cat /etc/os-release 

 PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

 NAME="Debian GNU/Linux"

 ...(以下省略)

現時点ではkaliko’s repositoriesの MPD Backports は、Debian 12 Bookworm と Debian 11 Bullseyeに対応しています。しかしBullseyeは MPD 0.23.14が最後になり、今後のMPDの新バージョンはBookworm用だけが提供される予定です。

 

kaliko’s repositoriesの MPD Backports は、Debian汎用のamd64(x64用) と arm64、Raspberry Pi OS 専用のarmhfアーキテクチャ用のビルドがあります。Raspberry Pi OS 64-bitにはarm64版、Raspberry Pi OS 32-bitにはarmhf版をインストールします。

 

メモ:Backportとは本来、新しいバージョンの新機能を古いバージョンに適応することです。しかしこの場合は、新しいMPDの、リリース済み既存OS用のビルドを指しているようです。

 

Raspberry Pi Imagerで Raspberry Pi OS Lite (64-bit) または (32-bit) を選択したと思いますが、念の為に確認します。

$ getconf LONG_BIT

32

と表示されたら32-bit OSですから、armhf版  MPD Backportをインストールします。

$ getconf LONG_BIT

64

と表示されたら64-bit OSですから、arm64版 MPD Backportをインストールします。

  

メモ:uname -aではなく、getconf LONG_BITで32bit/64bitを判断する理由。uname -a でarmv7lと表示されたら32bitカーネル、aarch64と表示されたら64bitカーネルです。Raspberry Pi OS Lite (32-bit) を Raspberry Pi 3B+で起動するとuname -mはarmv7lと表示します。しかし同じmicroSDカードでRaspberry Pi 4Bで起動するとuname -m はaarch64になります。Pi 4では config.txtに arm_64bit=0 という行を追加して明示的に64bitはOFFと指定して起動しないかぎりは64bitカーネルになります。BullseyeのKernel 6.1でこの変更が行われました。

 64bitカーネルでもRaspberry Pi OS Lite (32-bit)にはarm64版 MPD Backportはインストールできません。Raspberry Pi OS Lite (32-bit) Bookwormには、armhf版 MPD Backportをインストールしてください。またarm_64bit=0で32bitカーネルとして起動した場合はCMA領域とvmallocヒープ領域などが競合して支障が出る場合があります。Raspberry Pi 4BではRaspberry Pi OS Lite (64-bit)で起動し、arm64版 MPD Backportをインストールするのが無難です。

 

以下に例として 、

Bullseye 32bit Raspberry Pi OS用にarmhf版MPDをインストールする方法と、

Bookworm 32bit Raspberry Pi OS用にarmhf版MPDをインストールする方法と、

Bookworm 64bit Raspberry Pi OS用にarm64版MPDをインストールする方法を紹介します。 

 

apt keyringの署名キーを入手します。

 $ sudo wget -O /usr/share/keyrings/deb.kaliko.me.gpg https://media.kaliko.me/kaliko.gpg

 

そして vi か nano で次のファイルを編集します。

 $ sudo nano /etc/apt/sources.list.d/deb.kaliko.me.list

Bullseye 32bitの場合は次の行を挿入してください:

 deb [signed-by=/usr/share/keyrings/deb.kaliko.me.gpg] https://deb.kaliko.me/raspios-backports/ bullseye-backports main
Bookworm 32bitの場合は次の行を挿入してください:
 deb [signed-by=/usr/share/keyrings/deb.kaliko.me.gpg] https://deb.kaliko.me/raspios-backports/ bookworm-backports main
Bookworm 64bitの場合は次の行を挿入してください:
 deb [signed-by=/usr/share/keyrings/deb.kaliko.me.gpg] https://deb.kaliko.me/debian-backports/ bookworm-backports main

 

その後、apt update を実行してから、明示的にターゲット(bullseyeまたはbookworm)を指定してMPDをインストールしてください。

 $ sudo apt update

 

Bullseye 32-bit の場合:

 $ sudo apt install mpd/bullseye-backports

Bookworm 32-bitの場合:

 $ sudo apt install mpd/bookworm-backports

Bookworm 64-bitの場合:

 $ sudo apt install mpd/bookworm-backports

 

mpc もインストールしてバージョンを確認してください。

 $ sudo apt install mpc

 $ mpc version

 mpd version: 0.23.5

mpcが表示するのは MPD Protocolのバージョンです。MPDのビルドバージョンは次の様に確認します。

 $ mpd --version

 Music Player Daemon 0.23.15 (0.23.15)

 Copyright ...(以下省略)

4. MPD設定ファイルの編集

MPDの設定ファイルは /etc/mpd.conf です。このファイルを編集して設定をおこないます。

次の行を探します。

 bind_to_address         "localhost"

localhostをanyに変更してください。

 bind_to_address         "any"

 

さらにALSAの設定例を探します。

# An example of an ALSA output:

#

#audio_output {         

#       type            "alsa"

#       name            "My ALSA Device"

##      device          "hw:0,0"        # optional

##      mixer_type      "hardware"      # optional

##      mixer_device    "default"       # optional 

##      mixer_control   "PCM"           # optional

##      mixer_index     "0"             # optional

#}

 

aplay -l の出力の card と device の値を device "hw:"の部分に記入します。

 device "hw:card,device"

「2. ALSAの設定」の HiFiBerry DAC+ Proを例に取ると、

 device    "hw:0,0"

でも良いですし、

 device   "hw:sndrpihifiberry,0"

でも良いです。しかし前者のようにcardを数字で指定すると、起動時の検出順で変わる可能性がありますから、後者がおすすめです。

 

下記がHiFiBerry DAC+ Proの audio_output設定の例です。

audio_output {

        type            "alsa"

        name            "HiFiBerry DAC+ Pro"

        device          "hw:sndrpihifiberry,0"

##      mixer_type      "hardware"      # optional

##      mixer_device    "default"       # optional

##      mixer_control   "PCM"           # optional

##      mixer_index     "0"             # optional

 

上記はDACのボリュームは最大出力で固定にし、アンプで音量コントロールする設定です。

HiFiBerry DAC+ Proのハードウェアボリュームを有効にするには、次の様に設定してください。

audio_output {

        type            "alsa"

        name            "HiFiBerry DAC+ Pro"

        device          "hw:sndrpihifiberry,0"

        mixer_type      "hardware"

##      mixer_device    "default"       # optional 

        mixer_control   "Digital"

##      mixer_index     "0"             # optional

}

 

下記はTOPPING D50 USB DACの例です。

audio_output {

    type            "alsa"

    name          "D50 USB DAC"

       device          "hw:D50,0"

}

 

最低限変更が必要な設定は以上です。

 

/etc/mpd.conf を変更した場合は、ラズパイを再起動するか、MPDを再起動して変更を反映させてください。

 $ sudo systemctl restart mpd

yampcやmpcからMPDに接続できない場合も、再起動を試してみてください。

5.mpd.socketの無効化

yaMPCはBonjourを使ってMPDを検出する機能があります。しかしsystemd socket activation (mpd.socket)という機能を使っていると検出されません。mpd.socketは最初にMPDクライアントからの接続要求があったときに初めてmpdを起動しますが、この機能を無効にしてラズパイ起動時にMPDが起動するようします。以下の手順でmpd.socketを無効にしてください。 

sudo systemctl enable mpd.service

$ sudo systemctl stop mpd.service

$ sudo systemctl stop mpd.socket

$ sudo systemctl disable mpd.socket

$ sudo systemctl start mpd.service

 

6. 音楽ファイルの配置

FLACやAACなどの音楽ファイルはデフォルトでは /var/lib/mpd/music/ 以下に配置します。ここに直接音楽ファイルを置いても良いですし、NASやUSBメモリのマウントポイントからシンボリックリンクを貼っても良いです。

例:

pi@raspberrypi:~ $ sudo ln -s /mnt/NAS /var/lib/mpd/music/

pi@raspberrypi:~ $ ls -l /var/lib/mpd/music/

total 0

lrwxrwxrwx 1 root root 8 Dec 29 14:42 NAS -> /mnt/NAS

pi@raspberrypi:~ $ 

 

 

7. MPDデータベースの更新

次に音楽ファイルをスキャンしてMPDデータベースを更新します。データベースの更新指示は、mpdではなくmpcを使います。--waitオプションを付けるとmpcは更新が終わるまで待ちますので、確実に更新が完了したことがわかります。

pi@raspberrypi:~ $ mpc update --wait

volume: n/a   repeat: off   random: off   single: off   consume: off

pi@raspberrypi:~ $ 

更新が終わったら mpc statsで検出したアーティスト数、アルバム数、曲数を表示して、正しくスキャンされたかを確認します。

pi@raspberrypi:~ $ mpc stats

Artists:    131

Albums:     126

Songs:     1713

 

Play Time:    0 days, 0:00:00

Uptime:       0 days, 0:55:22

DB Updated:   Tue Dec 29 14:45:14 2020

DB Play Time: 5 days, 20:15:29

pi@raspberrypi:~ $ 

8. yaMPCからの接続確認

以上でMPDが動作しましたので、yaMPCから接続できるか確認しましょう。yaMPCを最初に起動するとPlayer Settings画面が表示されます。この画面で Scanボタンをタップすると、iPhoneまたはiPadが接続しているWiFiと同じネットワークにMPDがあれば検出します。

 

ただし検出するためには「5. MPD.SOCKETの無効化」で説明した通り、mpd.socketを無効にしておく必要があります。

 


raspberrypi.localが検出されたら、ラズパイに固定IPアドレスを設定済の場合はIPアドレス(この場合は192.168.0.17)を、そうでない場合はホスト名(この場合はraspberrypi.local)をタップします。すると自動的にServer欄に入力されます。

 

万一MPDを検出できない場合は、Server欄に raspberrypi.local またはラズパイの IPアドレスを入力してください。

 

Name欄にはMPDサーバーを区別するための任意の名前を入力してください。左の例では Raspberry Pi MPDと入力しました。

 

次に Testボタンをタップして、左画面のように
 Test Result

 Succeeded.
と表示されれば接続成功です。


9.カバーアートの設定

カバーアートを表示するには、カバーアートの画像ファイルが必要です。アルバムの曲が入っているフォルダにJPEGの画像ファイルを入れておきます。ファイル名は Folder.jpg にしておいてください。カバーアートの設定方法詳細はこちらをご覧ください。

 

MPD 0.21以降は、MPDの機能としてカバーアートの画像ファイルをダウンロードする albumart というコマンドがあり、yaMPC 1.6以降でもサポートしています。

 

しかし以下の理由でMPDではなく、HTTPでの取得をお勧めします。

  1. NginxをはじめとするHTTP Serverは同時複数のファイル転送に対応しており、大量のカバーアートを取得する場合はMPDのalbumartコマンドより速い。
  2. HTTP Serverを使えば、音楽再生を司るMPDへの負荷を軽減できる。

以降はNginxを使ってカバーアートを取得する方法を説明します。


まずNginxをラズパイにインストールします。

 $ sudo apt install nginx

Safariで http://raspberrypi.local にアクセスし、

 Welcome to nginx!

と表示されれば正しくインストールされています。

 

次いでNginxがカバーアートにアクセスできるように、musicフォルダをNginxのドキュメントフォルダにシンボリックを貼ります。

pi@raspberrypi:~ $ sudo ln -s /var/lib/mpd/music /var/www/html/

pi@raspberrypi:~ $ ls -l /var/www/html/

total 4

-rw-r--r-- 1 root root 612 Dec 30 17:15 index.nginx-debian.html

lrwxrwxrwx 1 root root  18 Dec 30 17:25 music -> /var/lib/mpd/music

pi@raspberrypi:~ $ 

これで、yaMPCからもHTTPでアクセスできるようになりました。


「7.YAMPCからの接続確認」でName欄とServer欄に入力しましたが、ここでは MPD/URLをタップして、表示されるメニューから

 Other (manual setting)

を選択してください。

 

次いでMPD/URL欄に /music を追記してください。

例:

 http://192.168.0.17/music

 http://raspberrypi.local/music


その後、Test をタップしてカバーアートが表示されればOKです。

 

右上の Saveボタンをタップして設定を保存してください。

 

これで Ubuntu または Raspberry Pi OSへのMPDのインストールは完了です。

 

yaMPCの基本的な使い方に関しては、yaMPCチュートリアル、詳細はオンラインマニュアルをご覧ください。



APPENDICES

a1.mountの注意点

1) 文字コード

 

音楽ファイル内のタグは漢字やドイツ語のウムラウトがあっても差し支えありませんが、コマンドラインで操作しやすいのでフォルダ名とファイル名は英数字を使うのがお勧めです。フォルダ名やファイル名に英語のアルファベット・数字以外の、漢字、ひらがな、ハングル、ヨーロッパ文字などを含む場合は、NASやUSBメモリの文字コードに注意してください。MPDのデフォルトではファイルシステムの文字コードはUTF-8に設定されています。必ずUTF-8で正しく読めるようにNASやUSBメモリをマウントしてください。最近のLinux(Debian Bookwormなど)は特に文字コードを指定しなくても UTF-8 でマウントされるようですが、下記は古いOSでフォルダ名が英数字以外の文字コードを含む場合の例です。正しく文字コードを指定しないと、MPDとyaMPCによるファイルアクセスに支障が出る場合があります。

pi@raspberrypi:~ $ sudo mount /dev/sda1 /mnt/usb

pi@raspberrypi:~ $ ls /mnt/usb/i18n/

'???'  '?????'  '????????'  'Anne Queffe?lec'

pi@raspberrypi:~ $ sudo umount /mnt/usb

pi@raspberrypi:~ $ sudo mount -o iocharset=utf8 /dev/sda1 /mnt/usb

pi@raspberrypi:~ $ ls /mnt/usb/i18n/

 정경화  'Anne Queffélec'   松任谷由実   约定(周蕙歌曲)

pi@raspberrypi:~ $

 

2) ACL(アクセス権)

 

mpdはUID=mpd(109)で動作し音楽ファイルにアクセスします。NginxはUID=www-data(33)で動作しカバーアートの画像ファイルをアクセスします。したがって、これらのユーザーがアクセスできるようにファイルには r の権限を、フォルダには r および x の権限を他のグループと他のユーザーにも付与する必要があります。

pi@raspberrypi:~ $ ls -l /mnt

total 20

drwxr-xr-x 2 root root  4096 Aug 20 16:20 samba

drwxr-xr-x 6 root root 16384 Dec 30 22:19 usb

pi@raspberrypi:~ $ ls -l /mnt/usb

total 48

drwxr-xr-x 12 root root 16384 Dec  6 16:29 AAC

drwxr-xr-x 53 root root 16384 Oct 27  2019 FLAC

drwxr-xr-x  6 root root 16384 Dec 30 22:08 i18n

pi@raspberrypi:~ $ 

 

3) macOS特有のファイル

 

macOSでUSBメモリをマウントしてファイルをコピーすると、"._"で始まるファイル、および、.DS_Storeというファイルが作られます。これらはmacOSでは隠しファイルですが、Linuxからは見えます。またMPDが音楽ファイルと誤認してブラウズ時にyaMPCが不具合を起こす場合があります。yaMPCではBrowse画面でFolderをブライズする際にこのようなファイルを見つけると警告を出します。USBメモリにこれらのファイルがある場合は、削除しておいてください。

 

MacからUSBメモリを取り外す前に消す方法。例えばUSBメモリのマウントポイントが /Volumes/USB32GB なら:

$ dot_clean -m -v /Volumes/USB32GB

 

ラズパイにUSBをマウントした後に消す方法。例えばUSBメモリのマウントポイントが /media/USB なら:

$ sudo find /media/USB -name ".DS_Store" -exec rm -r {} \;

$ sudo find /media/USB -name "._*" -exec rm -r {} \;

 

なお Raspberry Pi OSの外部ストレージのマウント方法に関しては、英文ですが下記が参考になります。

Raspbery Pi OS Liteは自動マウント機能が入っていませんので、/etc/fstabの設定方法等もこちらを参照ください。

External storage

A2. Spotify Connect

Amazon MusicやApple Musicなど様々な音楽配信サービスがありますが、私はSpotify Connectの使い勝手が良いので、Spotify Premiumプランをサブスクライブしています。友人の紹介や雑誌の記事で知った曲をSpotifyで聞き、何度も聞くほど気に入れば、CDかハイレゾ音源を買ってyaMPCとMPDで聴くという楽しみ方です。


Linuxで動作するSpotify Connect Clientは下記の2つが有名どころのようです。

 Spotifyd - An open source Spotify client running as a UNIX daemon. 

 Raspotify - Spotify Connect client for the Raspberry Pi that Just Works™.

注意点は、まず spotifyd、raspotifyどちらもSpotify Premium契約が必要なことです。次に、MPDと同じくASLAを使いますので、MPDで再生中は同じマシン上でSpotify Connectを使えないことです。逆にSpotify Connectで再生中はMPDを使えません。

 

Raspotifyのインストール・設定方法は英語ですが、下記を参照ください。

raspotify Basic Setup Guide

 以下に日本語で概要を書きますが、Basic Setup Guideを正とします。

 

次のようにラズパイにRaspotifyをインストールします。

sudo apt-get -y install curl && curl -sL https://dtcooper.github.io/raspotify/install.sh | sh

 

/etc/raspotify/conf を編集します。

 

最初に下記の行を探してください。

# Audio device to use, use `librespot --device ?` to list options.

# Defaults to the system's default.

#LIBRESPOT_DEVICE="default"

 

LIBRESPOT_DEVICEのコメントをはずし、MPDと同様にCardを設定します。以下はHiFiBerry DAC+ Proの例です。

LIBRESPOT_DEVICE="hw:CARD= sndrpihifiberry,DEV=0"

 

次に次の行を探してください。

# Bitrate (kbps) {96|160|320}. Defaults to 160.

#LIBRESPOT_BITRATE="160"

 

デフォルトのビットレートは標準音質の160kbpsになっていますが、Spotify Premiumの最高音質320kbpsに変更することもできます。
コメント(#)を外し、ビットレートを320します。

LIBRESPOT_BITRATE="320"

/etc/raspotify/conf の修正は以上です。

systemctlを使ってraspotifyを再起動すれば、Spotifyアプリからraspotifyを検出してSpotify Connectで接続できます。

 

 $ sudo systemctl restart raspotify