Raspberry Piでオーディオ 3. SSH接続での設定

WEB UI編はこちらから

Raspberry Piでオーディオ 2. WEB UIからの設定
Raspberry Pi(ラズパイ)を使ったオーディオ再生について。VolumioのWEB UIを中心としたソフトウェアの設定について。

間が空いてしましました。

前回のWEB UIからの設定で、だいたいのことは出来ますが、SSH(セキュアシェル)でしかできない設定も当然ありますので紹介します。SSHの基本的な使い方は分かるものとして省略します。

volumioの場合は、ホスト名: volumio.local でipアドレスを打ち込まなくても、ログインできます。login as: root、password: volumio です。

Raspberry PiでSSH接続でのチューニング

実際に使用している設定で、便利な物を紹介しておきます。ディストリビューションは、Volumioの改良版である、ほーりーさん改を使用しています。ノーマルVolumioでも適用できると思います。

1. exFATのHDDをマウントする

CuBox時代に、ext4でのマウント方法を紹介しましたので、今回はexFATを紹介します。
現状、Linux、Windows、MACの全てで使用できる形式としては、FAT32が標準になりますが、残念ながら音があまりよくありません。NTFSはもっと悪いです。

感覚的には、ext4がやはり良い気がしますが、Raspberry Piだとrsyncでの同期に時間が掛かり過ぎるため、とりあえずexFATで運用することにしました。exFATはアロケーションユニットサイズが変更できる点も含め、オーディオ用途としては、FAT32よりも優れています。

※CuBox時代のeSATA接続はNASよりも確実に音が良かったのですが、USB接続はNASとどちらが良いか再検証したいと思います。

#exFATでマウントさせる
root@volumio:~# apt-get install exfat-fuse exfat-utils
root@volumio:~# mount -t exfat /dev/sda1 /mnt/USB

2. アルバムアートワークの表示

デフォルトでは、MPoD(MPaD)や、cantata等のアートワーク表示に対応していません。

#アートワーク反映
root@volumio:~# ln -s /var/lib/mpd/music /var/www/Music

3. 時刻合わせ、オーバークロックなど

アップサンプリングを行う場合はオーバークロックした方が安定するかもしれません。当方はデフォルトのままです。時刻合わせは念のためやっておいた方がよいと思います。
これらの設定は、raspi-configから可能です。

#raspi-configを起動
root@volumio:~# raspi-config

こんな画面が立ち上がります。
raspi-config

時刻合わせは、
4 Internationalisation Options ⇒ I2 Change Timezone ⇒ Asia ⇒ Tokyo ⇒ OK で終了です。

オーバークロックは本体の温度上昇や音質、動作の安定性を天秤にかけてお好みで。

4. LED消灯、HDMI出力の停止

個人的にはLEDは不要なので消灯しています。また、HDMIも使わないので停止しています。

#LED消灯
root@volumio:~# echo 1 > /sys/class/leds/led0/brightness #点灯
root@volumio:~# echo 0 > /sys/class/leds/led0/brightness #消灯
#HDMIの停止
root@volumio:~# /opt/vc/bin/tvservice -p #有効
root@volumio:~# /opt/vc/bin/tvservice -o #無効

5. Last.fmとの連動

以前にクライアントソフト、cantataからの連動方法を紹介してますが、この場合、クライアントソフトが立ち上がっている必要が有ります。今回は、raspberry側からの連動方法です。

root@volumio:~# apt-get install mpdscribble
root@volumio:~# nano /etc/mpdscribble.conf

中ほどにあるusernameとpasswordに、Last.fmのデータを入力
[last.fm]
url = http://post.audioscrobbler.com/
username =
password =

root@volumio:~# nano /etc/default/mpdscribble

MPD_SYSTEMWIDE=1に変更

root@volumio:~# /etc/init.d/mpdscribble restart

理屈は分かっていません。

参考: https://volumio.org/forum/last-scrobbling-t31.html

6. HDDのスピンオフ

ローカルで繋いでいるHDDを一定期間アクセスが無い場合にスピンオフする設定です。
以前、CuBox時代に失敗していますが、再度やってみたところ上手くできました。

HDD(ハードディスク)の静音化
音楽再生に向いているHDDとは? 音の静かなHDDの考察、スピンダウンする方法など。
#hdparm sdparmのインストール
root@volumio:~# apt-get install hdparm sdparm

HDDの種類により、どちらが対応しているか分からないそうです。
当方はWDのHDDを使用していますが、sdparmで停止できました。

#hdparm sdparmの常駐化
root@volumio:~# nano /usr/local/bin/usbhdd_spindown.sh

以下のシェルスプリクトを保存する

#!/bin/sh

if [ $# -lt 2 ]; then
echo "not enough arguments supplied."
echo "hdd_spindown.sh [UUID] [INTERVAL]"
exit 0
fi

disk=`findfs UUID="$1"`
interval=$2

count=$interval
up=1

if [ -z $disk ]; then
#echo "findfs error"
exit 1
fi

disk=`echo "$disk" |sed -e "s@/dev/@@"`

state=`grep " $disk " /proc/diskstats`

while [ true ]; do
sleep 10
count=$(($count-10))
newstate=`grep " $disk " /proc/diskstats`
if [ "$state" = "$newstate" ]; then
if [ $count -lt 0 ]; then
count=$interval
if [ $up = 1 ]; then
#echo -e "spin-down"
sync
state=`grep " $disk " /proc/diskstats`

#hdparmを利用するとき
hdparm -y /dev/$disk > /dev/null 2>&1
#sdparmを利用するとき
sdparm --command=stop -r /dev/$disk > /dev/null 2>&1

up=0
fi
fi
else
#echo -e "drive is up"
count=$interval
state="$newstate"
up=1
fi
done
#パーミッションを変更する
root@volumio:~# chmod 755 /usr/local/bin/usbhdd_spindown.sh
#スクリプトが起動時に実行されるようにする
root@volumio:~# nano /etc/inittab

以下を追加

#auto hdd spindown
hd:2345:once:/bin/sh /usr/local/bin/usbhdd_spindown.sh (USBHDDのUUID) (直近のアクセスからスピンダウンまでの時間(秒)) > /dev/null 2>&1

※UUIDは、root@volumio:~#blkid -o listで確認できます。
僕はとりあえず5分でスピンオフの設定にしました。

再起動して、所定の時間でHDDのスピンオフができます。

参考: 8.USBHDDの定期的なスピンダウン方法 – RaspberryPiで各種サーバー作り! – ある阪大生の物置小屋

7. その他定番コマンド

自分用メモです。

#再起動
root@volumio:~# reboot
#シャットダウン
root@volumio:~# halt
#USB-HDDのマウント/アンマウント
root@volumio:~# mount -t exfat /dev/sda1 /mnt/USB
root@volumio:~# umount /mnt/USB
#MPDデータベースのアップデート
root@volumio:~# mpc update
#設定変更後のMPD更新
root@volumio:~# /etc/init.d/mpd restart
#MPDの停止、再開
root@volumio:~# /etc/init.d/mpd stop
root@volumio:~# /etc/init.d/mpd start
#現在のカーネル確認
root@volumio:~# uname -rv
#MPD バージョン確認
root@volumio:~# mpc version
#パーティションのUUID確認コマンド
root@volumio:~# blkid -o list

とりあえずこの辺で。気が向いたら追加、更新します。

続いてI2S DACの電源分離化です。

Raspberry Piでオーディオ 4. I2S DACの電源分離化
Raspberry PiとI2S DACの別電化。分離の方法と、実際の音質について。

コメント