ことの始まりは「昼寝が多すぎる」ということでした。
訳あって家で主に活動しているのですが、昼寝でつい寝過ぎてしまうのです。具体的には7時間くらい。
この夜眠れないのに合計10時間くらい寝ているTheニート謎の事態に対し、昼寝を30分で抑えようとしたのですが、あいにくハイレゾで聴きたいワガママのせいで「音楽をかけながら眠気を抑えつつ寝る」方法が使えないのです。
具体的には上の方法です。
なのでいっそアンドロに機種変を考えたのですが
- でもハイレゾって別に外で聴かないよね
- じゃあラズパイをハイレゾコンポにしてApple Musicと二刀流しよう
という謎の発想に。
早速ラズパイで音楽再生を調べたところ、ラズパイはオーディオに向いていることが判明。実行しました。
最初はVolumioをクリーンインストールするも、自由度が低かったのでバックアップから戻したのですがまともに動かないという悲劇が起こりました。バックアップの意味がありません。こういうケースもあるのです。
なのでmpdに切り替えました。
過程
1
2
3
4
5
6
| sudo apt install mpd mpc avahi-daemon
sudo nano /etc/mpd.conf
sudo systemctl restart mpd.service sudo systemctl status mpd.service
mkdir ~/.mpd
touch ~/.mpd/pid
sudo raspi-config # Advanced Option => Audio => HeadPhones
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| $ nano /etc/mpd.conf
music_directory "/mnt/nas/Music" # このディレクトリに音楽ファイルを置く
playlist_directory "/home/furamon/.mpd/playlists"
db_file "/home/furamon/.mpd/tag_cache"
log_file "/home/furamon/.mpd/mpd.log"
pid_file "/home/furamon/.mpd/pid"
state_file "/var/lib/mpd/state"
sticker_file "/var/lib/mpd/sticker.sql"
user "furamon"
bind_to_address "192.168.XX.XX"
auto_update "yes"
audio_output {
type "alsa"
name "Headphones"
}
filesystem_charset "UTF-8"
|
1
2
3
4
5
| sudo ufw allow 6600
sudo ufw enable
sudo service mpd enable
sudo service mpd start
mpc update
|
過程はかっ飛ばして、これで再生可能です。
私は最初mpcをインストールしておらず、「曲のデータベースができないー」とムダに悪戦苦闘してました。
クライアントから再生
あとはiPhoneのクライアントアプリから再生します。Androidにもあるみたいです。
IPアドレスを入れればつながります。
AirPlayから再生
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| sudo apt-get install git autoconf libdaemon-dev libpopt-dev libconfig-dev libasound2-dev libpulse-dev libavahi-client-dev libssl-dev libsoxr-dev
git clone https://github.com/mikebrady/shairport-sync.git
cd shairport-sync
autoreconf -i -f
./configure --sysconfdir=/etc --with-alsa --with-pa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
make
sudo groupadd -r shairport-sync
sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync
sudo make install
sudo nano /etc/shairport-sync.conf # nameとinterpolationをいじる
sudo systemctl enable shairport-sync.service
sudo nano /usr/share/alsa/alsa.conf
sudo ufw allow 5000
sudo ufw allow 6001:6011/udp
sudo service shairport-sync start
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| $ nano /etc/shairport-sync.conf
general =
{
name = "RaspberryPi";
interpolation = "soxr";
output_backend = "alsa";
ignore_volume_control = "yes";
}
# 割り込み接続
sessioncontrol =
{
allow_session_interruption = "yes";
}
# 音質
alsa =
{
output_format = "S32";
output_rate = 176400;
period_size = 16384;
buffer_size = 65536;
}
|
1
2
3
4
5
6
| $ nano /usr/share/alsa/alsa.conf
#defaults.ctl.card 0
defaults.ctl.card 1
#defaults.pcm.card 0
defaults.pcm.card 1
|
同じく過程はすっ飛ばして、これでOK。
こちらもファイアウォールの設定で手こずりました。
DAC+スピーカー接続
これでイヤホン端子にイヤホンをぶっさせば音楽が聞けますが、ホワイトノイズがめっちゃ乗ります。なので音質改善。DACとアンプとスピーカーをつないでミニオーディオ環境を作ります。
パーツはこちら。アンプとスピーカーは良くも悪くも味付けのないものなので、お好みで変えてみてください。
過程は省略して接続、再生。あっけなくできました。
感想
めっちゃいいです。
今回はモニター的な音質のパーツなので味付けこそ薄いものの、それがいい。環境音として流すのに向きます。
サブウーファーつけてもいいかもしれません。
おまけ…SSDから起動させてみた
MicroSDカードは速度や耐久に問題がありすぎるので試してみました。ちょっと危険なので自己責任で。
1
2
3
4
5
6
| sudo rpi-update
sudo reboot
sudo apt install rpi-eeprom
sudo nano /boot/config.txt # arm_64bit=1
ls /lib/firmware/raspberrypi/bootloader/stable/ # pieeprom-2020-09-03.binが入ってた
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-09-03.bin
|
VNCから「アクセサリ」でSSDブート設定。大成功。これでSDカード破損の恐怖から開放されます。しかも爆速化。完璧です。
まとめ
そんなわけでラズパイオーディオでした。
ラズパイ、リモートデスクトップのハブになり、NASになり、オーディオシステムになりと大活躍です。
今年一番買ってよかったもの来たかもしれません。電子工作でなくてもラズパイは使えます。ぜひチャレンジしてみてください!
追記
その後、i2s DDCを買って同軸接続でDACに繋いでみました。
最初はRaspberry Pi OSにぶっ込もうとしたものの出力できず、ガチャガチャやったらカーネルを壊してしまったのでMPDで再挑戦。
ラズパイの電源を入れたら他機器でhttp://volumio.localにアクセス。ウィザードに従うだけなので超簡単でした。
SSHはvolumio.local/devから。普段は切っておくといいです。
肝心の音質は…私のバカ耳ではUSBとの差が分かりませんでしたが、十分にいい音です。これを見てラズパイオーディオやりたくなった方は、KumanのDACが安くていいと思います。768khzを求めてUSBDACと同軸出力を買いましたが、どうせ同軸では192Khzしか出ないことを考えると5000円のDACで十分でした。ちょっと後悔。
正直あとはプリアンプとサブウーファーが買えればもう十分です。10万円のハイコスパオーディオサーバー完成!PCのリモート起動はできなくなってしまいましたが、おいおいSynologyのNASでも買います。
あとは昼寝をしないだけ
追記2
その後ラズパイZeroをお迎えし、Kumanのi2sDACとMoode Audioをぶっこんでオーディオ専用機に。もうなんかこれで十分です。高音質。すばらすぃ。
さらにその後レトロフリーク用のディスプレイを思い出して発掘し、ラズパイにRetroPieをぶっこんでゲーム機兼常時起動の開発機にしました。
もうなんか最高です。ラズパイ1台(ならぬ2台)でこんなにもいろいろできるとは。ラズパイ、検索力のある人には本当におすすめです。一家に一台どうでしょう?