CG・映像デザイナー技術ブログ

【Raspberry Pi】pHAT DACで音を出す方法とAirPlay対応のやり方

eyecatch_raspberry-pi

Raspberry Piから音を出すのですが、せっかくなのでハイレゾ対応のpHAT DACを導入しました。
(あとはPCスピーカーを使いたかった為という理由も)

さらにAirPlayも対応させて、iPhoneからスピーカーへ音を出せるようにもします!



raspberry_pi-summary-article


スマートホーム化!ラズペリーパイに関するおすすめ便利機能まとめ

この記事の著者
CGブロガー すいみん

CGブロガー

すいみん

Suimin

プロフィール

某美大の油絵科を卒業後、大手CG映像プロダクションに入社。
その後ゲーム業界に転職。
現在は技術系のCGデザイナーをしています。 書籍:Unity デザイナーズ・バイブル
プロフィール詳細はこちら

pHAT DACの入手

スイッチサイエンスから約1500円で購入
参考 pHAT DAC--販売終了 - スイッチサイエンススイッチサイエンス

ただしピンソケットのはんだづけが必要です!

pHAT DACをはんだづけする

ということで、まずは再体験ということで、秋葉原のはんだ付けできる場所へ。

秋葉原の電気街口の改札を出て徒歩1分。

電子部品店が並ぶ中にAssemblage(アセンブラ)さんがありまして、そこではんだづけしてきました。

料金

物を買わなければ、30分200円でした。

初心者だと伝えましたら。やり方も親切に教えてくださりまして、ピン40個、夢中ではんだ付けしました。

道具

  • ハンダごて(+ハンダごて台)
  • クリーニングワイヤー
  • ハンダ(鉛)
  • ハンダ吸い取り器(+ハンダ吸い取り線)※失敗時用に

はんだづけのやり方

  • 基盤にピンを差し込み、安定させる
  • ハンダごてにスイッチを入れて、温める
  • はんだづけする部分にハンダごてをあたて十分に温める
  • 針金状の鉛(ハンダ)を当てて、溶かして流し込む。

まずは対角線上の端側を隙間なく、ぴったりくっつけれるのが重要でした。

隙間が空いてしまったら、熱してハンダを溶かしながら基盤を押し込みます。

不慣れのため、基盤を熱するのが不十分で、すぐにハンダが固まってしまった為、金部分がかなり浮き出てしまいましたが、なんとかはんだづけできました!

音を出す方法

ラズパイのアップデート

ターミナルを起動して、下記のコマンド。

まずは最新の状態にすること、重要!

古い状態で他のソフトをインストールを起こした時に依存関係で最終的にOSが起動しなくなりました。

sudo apt-get update
sudo apt-get upgrade

pHAT DACを Raspberry Pi Zeroにセット

ピンソケットはんだづけした状態で、pHAT DACをRaspberry Pi Zeroのピンに指します。

金色のピンの部分が見えなくなるまで、しっかり差し込むこと!

ちゃんとセッティングしても音がでない原因にもなります。

またラインアウトにもオーディオケーブルを指します。

pHAT DACの認証確認

sudo aplay -l

でデバイスが認証されているか確認できます。

オーディオ端子の設定

sudo raspi-configから

Advanced Options>AudioでForce 3.5mm (‘headphone’) jackを選択

または

amixer cset numid=3 1でもOK

pHAT DACのセッティング

まずは公式マニュアル確認

Setting up pHAT DAC on your Raspberry Pi Zero – Pimoroni Yarr-niversity

セットアップは簡単で、下記の一行でオートでセッティングしてくれます。

curl https://get.pimoroni.com/phatdac | bash

音の確認

  • あらかじめ再生したいデータ(MP3とか)を用意
  • VLCプレイヤーのインストール

sudo apt-get install vlc

VLCを起動して、再生。

※初期設定は音が最大なので注意!

音量はターミナルからalsamixerを打って、矢印キーで調整できます。

AirPlayの対応方法

音も出ることが確認できたので、あとはオーディオサーバー化してみます。

iPhoneで出した音楽をAirPlayからスピーカーで再生してみます。

今回はshairport-syncというものを使います

GitHub – mikebrady/shairport-sync: AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation

パッケージをインストール


sudo apt-get install libavahi-client-dev

念のため

sudo apt-get install git

ダウンロードしてビルド

git clone https://github.com/mikebrady/shairport-sync.git
cd shairport-sync
autoreconf -i -f
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
make

※autoreconf -i -fおよび、makeでつらつらコードがでてこなければ失敗です。

ユーザーとグループを追加

 getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null
getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null

インストール

sudo make install

OS起動時に自動起動設定

sudo systemctl enable shairport-sync

AirPlayの名前を変更

sudo nano /etc/shairport-sync.conf

nameだけ編集する

general = {
name = "Raspberrypi"

nanoのテキストの保存方法

入力後。Ctrl+X → Y → Enterでテキストを保存できます。

起動

sudo systemctl start shairport-sync.service

参考

ShairportからShairport Syncに乗り換える | count0.org
Raspberry Piにshairport-syncをインストールする – Qiita
RoonBridge していた Raspberry Pi 3 に、Shairport Sync もいれて iPhone から Apple Music でも Google Music でもなんでも AirPlay で受けられるようになって、Chord の Poly みたいな Raspberry Pi 3 になった( Chord Poly になったとは言ってない – くるえるはてなくしょん

AirPlayのテスト

iOS9のはわかりやすいのですが、iOS10のAirPlayの場所はわかりづらいので注意!

iPhoneの下からメニューを出して右へ一つスワイプ。その下にサウンドのAirPlayの設定ができます。

一つ目のメニューのAirPlayの設定ではないので注意!

まとめ

ということで、ラズパイを経由して自分のスピーカーから音楽を出すことができました。

これでいつでも好きな音楽を携帯からスピーカーへ出せます!

もちろんWIFIやBluetooth対応のオーディオコンポからでもできることですが、たったpHAT DAC(約1500円)でも出来てしまうのがポイントです。

以上、すいみん(@cg_method)でした!

IoTに関する参考記事・ツール・書籍のまとめ

IoTに関する参考記事・ツール・書籍のまとめ



raspberry_pi-summary-article


【IoT】スマートホーム化!7つのおすすめの便利TIPSまとめ

Raspberry Piの購入

Raspberry Pi Zero W – ヘッダー ハンダ付け済み – ラズベリー・パイ ゼロ W ワイヤレス
Pi Zero

Raspberry Piの周辺機器

Raspberry Piの書籍