先日購入したPirate Audioが届きました。自分用と友人に依頼された分と合わせて2つ購入しました。1つはLine-outタイプ、もう一つが3W Stereo Ampタイプで紹介されていた3Wスピーカーも合わせて購入しました。今回はLine-outタイプをセットアップしていきます。
Pirate AudioはGPIO端子に接続するI2S DACです。ハイレゾ(24-bit / 192KHz)で再生できる優れものです。これまでも同様のHATはありましたが、今回は1.3インチ液晶ディスプレイと4つのカスタムボタンが付いています。
一台は自宅用の現在使っているMoodeAudioのリプレイス、もう一台は友人のお子さんに頼まれた小さなミュージックサーバを作成します。
今回の環境
以下のような構成で行いました。
Pirate audioの構成
- Raspberry Pi Zero WH
- Raspbian lite(2019-09-26-raspbian-buster-lite.zip)
- Pirate audio Line Out
- microSDカード(TEAM製32GB)
- ウーハー付きの2.1chパッシブスピーカー
- ミュージックサーバーのソフトウェアはMopidy
(これにSpotifyConnectを設定し、WEBインターフェイスにIris)
microSDカードの準備
microSDカードをフォーマット後、ダウンロードしたRaspberry Pi Lite OSを書き込みます。
手動設定の場合は事前にいくつか準備しておきます。(※必須ではありません)
- SSHの空ファイルをコピー
- Wi-Fiの設定ファイル(wpa_supplicant.conf)をコピー
config.txtでSPI通信を有効に(自動インストールスクリプトで対応)config.txtでオンボードのオーディオを無効に(自動インストールスクリプトで対応)DACを有効にしてGPIOも指定する(自動インストールスクリプトで対応)
これらを準備後、RaspberryPiを起動します。
SSHファイルとwpa_supplicant.conf
これはラズパイダでは「Raspberry Pi のWi-Fi設定を事前に用意しておこう!」などで何度もご紹介しています。
自動インストールスクリプトの使用
Pimoroniが用意した自動インストールスクリプトを実行する前にgit clone
ができるようにします。
ラズパイが起動したらコマンドプロンプトで順番に実行していきます。
手順1 アップデートとアップグレード
sudo apt update && sudo apt upgrade
手順2 gitのインストールとgit clone
今回Raspbian Buster Liteなのでgitコマンドを先にインストールします。(入っていない)
sudo apt install git
git cloneでgithubからダウンロードします。
git clone https://github.com/pimoroni/pirate-audio
デフォルトで実行するとユーザーPiフォルダの中にprirate-audioフォルダが出来上がります。GitHubからフォルダ毎コピーしてきたわけです。
prirate-audioフォルダのmopidyフォルダの中にインストールスクリプトがあるので移動します。
cd pirate-audio/mopidy
管理者権限(sudo)でインストールスクリプトファイルを実行します。
sudo ./install.sh
終了すればすぐに反映される
All done! と表示されたら完了です。
参考までにターミナルのログを転載しておきます。
インストールが完了した時のログ
Successfully built Mopidy-PiDi pidi-display-pil pidi-display-st7789 mopidy-raspberry-gpio musicbrainzngs font-roboto
Installing collected packages: musicbrainzngs, Mopidy-PiDi, font-roboto, fonts, pidi-display-pil, st7789, pidi-display-st7789, mopidy-raspberry-gpio
Successfully installed Mopidy-PiDi-0.1.0 font-roboto-0.0.1 fonts-0.0.3 mopidy-raspberry-gpio-0.0.2 musicbrainzngs-0.6 pidi-display-pil-0.1.0 pidi-display-st7789-0.1.0 st7789-0.0.1
Resetting /etc/mopidy/mopidy.conf to package defaults.
Any custom settings have been backed up to /etc/mopidy/mopidy.conf.backup-2019-11-29-09-22-12
Synchronizing state of mopidy.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mopidy
Created symlink /etc/systemd/system/multi-user.target.wants/mopidy.service → /lib/systemd/system/mopidy.service.
All done!
Mopidy configuration has changed, see summary below and make sure to update /etc/mopidy/mopidy.conf!
Your previous configuration was backed up to /etc/mopidy/mopidy.conf.backup-2019-11-29-09-22-12
diff: /etc/mopidy/mopidy.conf.backup-2019-11-29-09-22-12: No such file or directory
pi@raspberrypi:~/pirate-audio/mopidy $
この状態で既に液晶ディスプレイには!

ただ、この状態ではどうなっているのか分かりませんね?
正常に終わって起動しているのかを確認するには以下の通りステータスを確認します。
sudo systemctl status mopidy
特に問題なくActive: active (running)
でした。
Mopidyにアクセス
Irisが入っているのでWEBUIで操作可能です。
WEBブラウザにMopidyを入れたIPアドレスとポート番号6680を入れてみてください。(例:192.168.0.11の場合)
192.168.0.11:6680



ローカルファイルのスキャンなんかもここから可能です。
Spotifyの設定はmopidy.conf
Spotifyのプレミアム会員であればMopidyでも再生可能です。自動インストールスクリプトの使用でMopidy-Spotifyプラグインがインストールされています。
sudo nano /etc/mopidy/mopidy.conf
一番下に
[spotify]
enabled = false
username = ; Must be set.
password = ; Must be set.
client_id = ; Must be set.
secret = ; Must be set.
enabledをtrueに変え、以下4項目をSpotifyのアカウントとパスワード、そして以前にお伝えした「SpotifyのIDなど追加」にあるようにMopidyのウェブサイト(https://www.mopidy.com/authenticate/#spotify)でclient_idとsecretを発行しコピーします。
更に、あまり反応が宜しくないのは、恐らくSpotify本家の仕様変更に対応していないからと思われます。その点、MoodeAudio6は、とても安定していてしかも反応が速い!ニュータイプなんです。
何でも独自開発しているらしく、新しい仕様にバッチリ合っていてチューニングしてあるということらしい。
Mopidyなのでこのまま使うしかないですね。MoodeAudio6で何とか使えるようにしたいな・・・。

NASと接続する
手持ちのNASと接続するには以前の「番外:NASをマウントする」を参照してください。(長いので)
ファイル転送
とりあえず再生して確かめるには、Macならscpコマンドか、ラズパイにNetatalkをインストールする。「ラズパイZeroWで作る簡単アクションカメラ——バイク編」で使ったscpコマンドが超絶に便利だった。
またはUSBメモリーからコピーする方法がある。
しかし、この場合コマンド操作に慣れていないと失敗すると思う。
特にデフォルトのメディアのフォルダは/var/lib/mopidy/media
で、所有権がmopidy:audio
なので注意してください。
ローカルファイルの置き場所を、/rtc/mopidy/mopidy.conf
でユーザーホーム内とかに変更した方が無難です。
手動設定の場合(自動ならしなくて良い)
/boot/config.txt
に記述する必要があります。
SPI通信を有効にする。このSPI通信は、液晶ディスプレイのためです。
dtparam=spi=on
オンボードのオーディオを無効にする。
オンボードは無効にしなくてもOKになりました。
dtparam=audio=offon
DACを有効にしてGPIO番号も指定する。
dtoverlay=hifiberry-dac
gpio=25=op,dh
ちなみに、用意されている4つのボタンはそれぞれBCM 5、6、 16、20 (A、B、X、Y)です。

GPIO | ボタン名 | 初期割当 |
---|---|---|
BCM5 | A | 再生/ポーズ |
BCM6 | B | 音量Down |
BCM16 | X | 次へ |
BCM20 | Y | 音量UP |
config.txtに記述する内容をまとめると、
dtparam=spi=on
dtparam=audio=off
dtoverlay=hifiberry-dac
gpio=25=op,dh
手動インストールではMopidyもすべて行わないとなりません。手動インストールの場合は以下を参考にしてください。
- https://github.com/pimoroni/pirate-audio
- https://github.com/pimoroni/st7789-python
- https://github.com/pimoroni/pirate-audio/tree/master/mopidy
自動だと楽ですね。
ローカルファイルを演奏させよう
久しぶりに触ったmopidy.confをだいぶ忘れていました。色々とやって思い出してきて、注意点を含め情報を載せておきます。
先ず、Spotify以外にローカル、つまりmicroSDカード内に音楽ファイルをコピーして演奏させる方法です。
デフォルトのメディアディレクトリは、/var/lib/mopidy/media
です。
しかし、ここにコピーしても恐らく所有権限を付与しないとダメでしょう。そこにコピーするより、デフォルトの指定フォルダを変更しましょう。
sudo nano /etc/mopidy/mopidy.conf
上の方に[local]が見つかると思います。デフォルトだとmedia_dir = /var/lib/mopidy
かと思います。ここに予めPiユーザーフォルダなのに作成しておいた任意のフォルダを指定します。
(例:ホームフォルダにmediaを作りました)
[local]
media_dir = /home/pi/media
最後にスラッシュはなしでそのフォルダまで指定します。この例の場合は ~/media とも書けます。
ちなみにフォルダ作成は
sudo mkdir ~/media
フルアクセス与えるなら
sudo chmod 777 ~/media
これらコマンドはいくつかまとめてありますのでご覧ください。

mopidy.confを書き換えたら、mopidyのサービスを再起動させましょう。
sudo systemctl restart mopidy
ライブラリに追加するには、local scanをしないとなりません。これもWebクライアントIrisからおこなってください。

Setting → local scanボタン
これでOKです。WebクライアントIrisからBrowse → local mediaで出てきます。
- mopidy local scan
- mopidy config
- mopidy
これらを行わなくてもメディアファイルの場所は前述のように変更可能です。
mopidy configするとユーザーフォルダの隠しファイルとして「.config/mopidy/mopidy.conf
」などが作成されます。
mopidy.confが複数あり混乱すると思いますので、オススメできません。隠しファイル.configの方はサービスで動くmopidyのconfとは異なります。
この辺はちょっとややこしいので、色々と触ってみてください。
※今回はサービスとしてmopidyが動いていますので、権限はpiではありません。
試しにデフォルトのメディアフォルダを見てみると・・・。
cd /var/lib/mopidy
ls -l
drwxr-xr-x 2 mopidy audio 4096 Dec 7 11:37 local
drwxr-xr-x 2 mopidy audio 4096 Dec 7 06:42 local-images
drwxr-xr-x 2 mopidy audio 4096 Dec 7 12:20 media
drwxr-xr-x 2 mopidy audio 4096 Dec 7 12:22 pidi
drwxr-xr-x 2 mopidy audio 4096 Oct 15 18:17 playlists
所有権はmopidy:audioになっていますね。ユーザーがmopidy、グループがaudioです。
シンボリックリンクという手もありますが、単に設定ファイルであるmopidy.confのmedia_dirを変更すれば簡単に行えます。
安価な割にちゃんとしている

Mopidy以外で使えるようにしたいな。
ボタンの反応が良くて、押した瞬間にちゃんと次の曲へ切り替わったりする。こんなに安価なのにスゲー。非力なRaspberry Pi Zero Wなのにスゲー。
しかも液晶画面は240ドットですが綺麗。スゲェ時代だ。
最初のセットアップは自動インストールスクリプトの使用でOKというお話でした。

この記事のコメント(承認後に公開)