Raspberry Pi2にVolumioを入れてハイレゾオーディオとやらにしてみる

f:id:yukimi0721:20171028000542j:plain
買ったのはいいが使い道がなく積みマイコンとしてひっそりと幕を閉じる予定だった、
Raspberry Pi2を活用してみよう。

Volumio Audiophile Music Player for Raspberry Pi
VERSION: 2.296とRaspberry Pi2で動作確認してます。

Volumioとは

巷で話題のラズパイ・オーディオってやつですよ(適当)
www.phileweb.com


インストール

公式サイト

volumio.org
volumio.github.io

SD書き込み

4GB以上のSDカードを用意して公式から落としたイメージをWin32Diskimagerで書き込むだけ。ぐぐれば親切なインストール方法がたくさん見つかるので省略。

SDは最小が4GB、推奨が8GBのようです。
What is the minimum size micro SD card for Volumio : Help

初期設定(有線LAN)

ラズパイの電源を入れて数分待って、ブラウザから http://volumio.local を開けば初期設定の画面が出てきます。NASのセットアップが出来る程度のスキルがあれば特に設定で困る箇所はない。

初期設定(無線LAN)

Raspberry PiにUSB Wifiを接続して電源オンするとVolumioというアクセスポイントができるのでノートPCかスマホhttp://192.168.211.1 または http://volumio.local を開いて初期設定。
SSID:Volumio
PASS:volumio2
が初期状態です

WIFIドンクルはBUFFALO WLI-UC-GNM2 か PLANEX GW-USNANO2A がおすすめされてますが、
BUFFALOの方は消費電流が多いのでPLANEX GW-USNANO2Aよいみたい。
うちはBUFFALO WLI-UC-GNM2を買ってしまったけど…


USBオーディオバイスをつないでみる

iFI-Audioのnano iDSDを接続してみた。
挿すだけで認識して音が出る。
f:id:yukimi0721:20171028011542p:plain
なおプレイバック設定を変えると音が出なくなるのでいつも再起動したら反映されてる。
そういうものなのだろうか?

nano iDSDは入力ソースに応じてLEDの色が変わる。
e-onkyoでお試しでDSDの無料サンプルがあるので落として
DSD 5.6MHzのファイルを読ませるとLEDがマゼンタになるので
きちんと認識されてるようだ。
ただしブツブツノイズが乗るので実用的ではない
負荷が高いのかなと思ってtopコマンドで見ても高いように見えないのでそういうもんなんだろう
f:id:yukimi0721:20171028013409p:plain




3.5インチ液晶をつないでみる

別記事にしたので読んでね
yukimi0721.hatenablog.com

小ネタいろいろ

HDMIにWebUIの画面を出す

プラグインプラグインの検索→TouchDisplayPlugin→インストール
をするとインストールが始まって再起動すると表示されるようになります。
若干重いので不要なら入れない方がいいのかも。
ChromiumKioskモードで起動させてるようだ。
USBマウスがあれば操作できる。

3.5インチディスプレイだと解像度調整してこんな感じ
f:id:yukimi0721:20171028004017j:plain

SSHでの接続

初期状態ではSSHは使えない。
SDカードのBOOTドライブに[ssh]という空ファイルを作るもしくは
http://volumio.local/dev/ にアクセスしてSSHをEnableにすると、使えるようになります。
Teratermでvolumio.localに接続
User:volumio
Pass:volumio

ChromiumKioskモードを終了してCLIを出す方法

USBキーボードから CTRL+ALT+F1 でコマンドラインに戻れる。

日本語フォント

他の端末からWEBで操作する場合は文字化けしてないが、Raspberry PiHDMIで表示される画面で日本語を表示させると文字化けする。

sudo apt-get install fonts-ipafont

で日本語フォントをインストールできる。

リセットボタン

Raspberry Piには電源ボタンがない。
volumioをシャットダウンするとHALTになるので再起動させるにはUSB抜き差しで電源再投入でもよいがめんどくさい。
リセットボタンをつけると再起動するので電源ボタンのように使える。

以下はRaspberry Pi2での説明

回路図
www.raspberrypi.org

Raspberry Pi2回路図の一部
f:id:yukimi0721:20171027215804p:plainf:id:yukimi0721:20171027215814p:plain

通常はRUN端子に+5Vが入力(10KΩ抵抗でプルアップ)されてるのでJ2をショートするとRUNがGNDに落ちて解放させるとCPUにリセットがかかり再起動します。

J2にジャンパピンを立ててプッシュスイッチを接続するか、自作PCヲタクがよくするマザーボードのPOWERピンをマイナスドライバでショートさせるようなことで出来る。
f:id:yukimi0721:20171027235353j:plain
市販品で電源スイッチ付きUSBケーブルというのもある。


タイムゾーン設定

初期はUTCになってるので修正

sudo dpkg-reconfigure tzdata

f:id:yukimi0721:20171027225525p:plain

Asia → Tokyo
dateでJSTか確認

date

ただ修正しなくても目覚まし機能は正しく動作してたので言語設定を見てるのだろうか?

HDMIの音声無効化

https://www.raspberrypi.org/documentation/configuration/config-txt/video.md


hdmi_drive=1 Normal DVI mode (no sound)
hdmi_drive=2 Normal HDMI mode
なので1にすると無効になります。

sudo nano /boot/config.txt
hdmi_drive=1

に変更

ただし変更してもメニューからHDMIの項目は消えない

SDのバックアップ

設定いじりすぎて起動できなくなる前にDD for WindowsでSDカード丸ごとの
イメージを保存してれば、書き戻すだけで復活できる
なお管理者権限で実行する必要がある。
DD for Windows - Tech Info

USBにネットワーク経由で書き込む

エクスプローラのアドレスバーに \\volumio\ を入れるとUSBメモリにアクセスできるので普通に書ける
f:id:yukimi0721:20171028005320p:plain

\\volumio\usb\ の場所が本体に挿したSDに該当します。
InternalSD.txtがある場所。

USBメモリを挿すとUSBメモリのボリュームラベルのフォルダができるので、
USBメモリを2個挿すとは下記の絵では、
\\volumio\usb\64GB SD\
\\volumio\usb\USB 4GB\
のようになります
f:id:yukimi0721:20171028093805p:plain

パーティション構成

内臓SDのサイズに合わせて/dev/mmcblk0p3 のサイズが変わるようだ
fdiskコマンドで確認できる

volumio@volumio:/dev$ sudo fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

4GB SDにVolumioをインストールしたとき

Disk /dev/mmcblk0: 3.7 GiB, 3965190144 bytes, 7744512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1a018f91

Device         Boot   Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *          1  125000  125000   61M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       125001 4882812 4757812  2.3G 83 Linux
/dev/mmcblk0p3      4882813 7744140 2861328  1.4G 83 Linux

8GB SDにVolumioをインストールしたとき

Disk /dev/mmcblk0: 7.3 GiB, 7780433920 bytes, 15196160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1a018f91

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *          1   125000   125000   61M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       125001  4882812  4757812  2.3G 83 Linux
/dev/mmcblk0p3      4882813 15195312 10312500  4.9G 83 Linux

バックアップ(不完全)

これで出来るようだがディスクイメージフルバックアップのほが確実に思える
mediaの場所はネットワーク経由で読み書きできるエリアなのでそこに
volumio_data.tgz の圧縮ファイルができる

バックアップ

cd //media
sudo tar -zcvf volumio_data.tgz /data

リストア

cd //media
sudo tar -zxvf volumio_data.tgz -C /

そのあとプラグインを再インストール
再生オプションでi2sをオフに切り替えて保存し直しす
って書いてあるから試したけどConfigは戻るけど楽曲データベースが戻らないので工夫がいるのだろう

参考
https://volumio.org/forum/quick-dirty-volumio-data-configuration-backup-with-tar-t6521.html

消費電力

無線LANは消費電流多いから使うもんじゃない

液晶+無線LAN+USBメモリ+USBキーボード+DSD再生

f:id:yukimi0721:20171028110832j:plain

液晶+DSD再生

f:id:yukimi0721:20171028110842j:plain

FDClone

MS-DOSおじさんだからFDを入れる

sudo apt-get install fdclone

fdで起動
[SHIFT]+[E]で設定画面
LANGUAGE~URLKCODEまで全部UTF-8にする。
既存設定ファイルに上書きする
f:id:yukimi0721:20171030204538p:plainf:id:yukimi0721:20171030204607p:plain