mpdwebを使う上でのVolumio2 Raspberry Pi版Rc2.668 インストール
本ドキュメントは、
・本サイトの目的、mpdweb のインストールについてですが、他にも役に立つよう
・主に Rasberry Piで購入し易い点で、I2S DAC:Hifiberry DAC Plusを例に
記載しています
Windows:Win32 Disk Imager(win32DiskImager.exe)などを使用して
volumio-2.{バージョン}.img
を書き込む。(この部分は照会サイトが多い)
※Playlistの注意点
PlaylistがVolumio2専用となっている。/var/lib/mpd/plaulistは本来のmpdのplaylist。
他のClientSoft時には/var/lib/mpd/playlistを使用する。
Volumioのplaulistには他のクライアントから使用の場合、playlistと互換性はない。
書き込んだSDカードで初回起動時,パーティションサイズが最大となる。
1.IPの調査 Windowsコマンドを入力
# ping volumio.local
2.Web 設定
http://volumio.local/
2.1 メニュー → Playback Options:Audio Output
(1)I2S:HiFiBerry DAC+を使用する場合
Hifiberry DAC Plus DSP Option : hifiberry-dacplusの専用設定
Output Device : Hifiberry Dac Plus
I2S DAC : On
DAC Model : Hifiberry Dac Plus
GPIOのDACを選ぶ
(2)Output Device :USBDACのClass2.0の場合、認識していると思われるのでそれを使用する。
(3)Output Device :HDMIについて mpd0.19からマルチチャンネル対応となっているとのこと、現在デジタル アウトプットで対応しているのもはHDMI,一部のDACぐらいと思われる。
5.1を再生してみたがmpdは6chとみなしているがアンプは2chとなる。どこで落ちているか不明
テストデータ:Flac:96KHz 24Bit 6ch (Orignal DSD 64 6ch) アンプ対応 Max:DSD64:6ch/ PCM:16-24Bit:192KHz 6chまで
→ Save
再起動
※Audio Outputを設定後,再起動となるので先に設定
2.2 メニュー → Playback Options:General PlaybackOptions
http://volumio.local/ (1)I2S:HiFiBerry DAC+などDSDに未対応の場合
DSD Playpack Mode : DSD Direct
DSD Auto Volium Level : Off
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB または 4 MB でなるべく小さい値 (Raspberry Pi2 DSD再生時4MBで途切れない)
Buffer Beffer Size : 10% または 20% でなるべく小さい値 (Raspberry Pi2 DSD再生時20%で途切れない)
Persistent Queue : On
→ Save
※DSD再生はRaspberry Pi2クラスでは,Softwareデコード無理なのでPCMに特化
(2) USBDACなどDSDに対応の場合
DSD Playpack Mode : DSD Direct ← DoPはDSD64(2.8MHz)が上限のため。まずないと思うがDSDネイティブ未対応の場合「DSD Over PCM(DoP)」にする。
DSD Auto Volume level : Off ← BitPerfect
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB
Buffer Beffer Size : 10% または 20% でなるべく小さい値
Persisent Queue : On
→ Save
2.3 メニュー → Playback Options:Volume Options
(1) I2S:HiFiBerry DAC+など
推奨1)
Mixer Type : None
推奨<1)
Mixer Type : Hardware
Mixer Control Name : Digital
好み)
Mixer Type : Software
音が割れるときの対応:Opampの出力に無理があるボリューム,またはアンプに過大な入力となっている場合を想定
推奨<1の設定の詳細
Default Startup Volume : 好みで次のMax Volume Level以下かDisabled
Max Volume Level : 試して見て音の割れないレベルを設定
One Click Volume Steps : 好みで
Volume Curve Mode : 好みで
MPD Clients Volume Control : OFf (詳細不明)
設定のポイントとして,BitPerfectを考えればNone
ミュージックデータのデジタルデータを変化させずにDACに渡すことを考える。
DACの意味の如く,Dgital/Alalog変換。
(2) USBDACなど
Mixer Type : None (BitPerfect の再生となる)
好み)
Mixer Type : Hardware / Software
※ベストはDACのボリュームはアンプのボリュームを使用。Bit量で音量が変化することを考えれば、基の情報を欠落させない。
MixerTypeHardwareは詳細が不明な部分で情報が見つからなっかのだが
I2S DAC内でボリュームを操作か(ALSAミキサーコントロールのこととするとDACを調べるしかないが)
または以外か (最も気になっている部分でSoftwareとどう違う?)
の詳細が不明です。
2.4 メニュー → Playback Options: Audio Resampling
(1) それなりなDACを使用時(推奨)
Audio Resampling : Off (DSD DACの場合特にOffが良い)
(2) 好みに合わせまたハイレゾ音源を使用しない場合などは良いかもしれない
Audio Resampling : On
Target Bit Depth : 24 or 32
Target Sample Rate : 48kHz 以上
Resampling Algorithm Quality : High or Very High
BitPerfectにするにはOffにすること。
Resamplingは,Upsamplingであれば、スムーザの意味もある。(DAC自体にUpsamplingがある場合もあるのでケースバイケース)
ResamplingでもDSDは考慮し難い。DSDのままResamplingできれば良いがPCMとなる。 (欲しい機能ではあるが。KORGのソフトはデータ変換できる)
2.4 メニュー → Appearance
Select Language で言語選択可能
Theme Settings でテーマ選択可能
Select background color でバックカラー選択可能
3.ssh login
RC2 途中からSSHがマスクされているので許可
URL:http://volumio.local/DEV → SSH : ENABLE
HostName : volumio.local
login : volumio
password : volumio
sudo passwd root
Enter new UNIX password: ← 設定するパスワードを入力
Retype new UNIX password: ← 設定するパスワードを入力
# su -
# apt-get update
# apt-get install vim
ファイル名など日本語表示する場合
# dpkg-reconfigure locales
ja_JP.UTF-8 選択する
# export LANG=ja_JP.UTF-8
システム完全性チェックの部分を無効にしてアップデートできるようにしておく。
SSH で Volumio2 にログインして,
# touch /data/ignoresystemcheck
バージョンで出来ないこともあることに注意
4.DLNA (必要に応じ)
ver 2.228ではDLNA対応として
「Browse」「MediaServer」DLNAServerをブラウズしてレンダラーより再生することができる
upmpdcli : 標準に含まれたのでインストール不要 ver 2.668
DLNA Serverをインストールする場合 Plugin で minidlnaをインストール可能になったので必要に応じ行う。
設定もPlugin Installed Pluginで行える。
MiniDLNA status ページを表示
http://volumio:8200/
5.共有の設定(USBHDDなどを使用、Playlistを編集したいなど)
Playlistを編集したい場合、USB Driveを共有する場合はSambaを設定
Volumio Playlist共有準備
# cd /data
# chmod 0777 playlist
# ln -s /data/playlist "/data/Playlist(Volumio)"
# vi /etc/samba/smb.conf
--------------------------------------------------------------------
[global]
workgroup = {WorkgroupName}
上でリンクした「/data/Playlist(Volumio)」が参照できないとき,シンボリックリンクを有効にする
Rc2.66では設定しなくても参照できた
wide links = yes
unix extensions = no
volumio2のplaylistを編集する場合以下追加
[volmio Playlist]
comment = Volumio Playlis Folder
path = /data/Playlist(Volumio)
read only = no
guest ok = yes
mpdのplaylistを編集する場合以下追加
[mpd Playlist]
comment = mpd Playlis Folder
path = /var/lib/mpd/playlists
read only = no
guest ok = yes
--------------------------------------------------------------------
# /etc/init.d/samba restart
6.NASマウント
6.1 Volumio:メニューからの操作
メニュー → My Music
+Add New Drive 共有ドライブがスキャンされる。
共有ドライブを選択する。
Alias : music [任意。Volumio/Mpdではトップディレクトリになる]
NAS IP Address : 選択のデバイス
Path : share/Music/ [目的のPathまで設定 Linuxなので"/"でディレクトリを設定]
例として)
NASのディレクトリDirectory 「share」で共有され、Musicディレクトリ下に楽曲ファイルがある場合
・WindowsのネットワークでPC名をクリック後の共有名が「share」と表示される
・ディレクトリ「Music」はユーザが作成し配下に楽曲ファイルを入れている
Volumio:Sourceの設定
Alias : music
Path : share/Music/
と設定すると,
Windowsのネットワークの表示
\\{PCName}\share\Music\Flac\aiko\BABY\01 beat.flac
Volumio/mpdで見ると
music/Flac/aiko/BABY/01 beat.flac
と参照される
※ 繋がらない場合,またはVolumio 2を最新版にアップデート後ネットワークドライブ(NAS)に繋がらなくなった
「Sources」で 「+Add New Drice」で追加するときNASを選択後「Show Advanced Options」をクリック
「Options」に「vers=1.0」を入力 (ネットワークドライブ「SMB Version1」で接続する設定)
6.2 fstabで強制的に自動マウント (Volumio2で新版(2019.01時点) debian jessieでCIFSのデフォルトがかなり変更になった。
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0を付加(デフォルトが3.0に変更された)。password不要でもダミーで付けた。(ubuntu 12.04 samba)
//192.168.1.200/share/Music /mnt/NAS/share cifs password={pass dummy},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0 0 0
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0,sec=ntlmを付加(デフォルトが3.0に変更された)。(Testは玄箱Debian 3.1(sarge) Samba3.0なのでかなり古い)
user,passwordがAccuntと一致時はusername={Sambaのアカウントに合わせる},password={Sambaのアカウントに合わせる}が必要になった。
//192.168.1.220/share/Music /mnt/NAS/share cifs username={user}ms01,password={password},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0,sec=ntlm 0 0
テスト方法
# mount -a
で確認
再起動時Mountされないので
# vi /etc/rc.local
後部に以下追加
sleep 10
mount -a
↑ exit前に
exit 0
RescanでD/B Update
7.他のクライアントを使用するためアルバムアートを設定する。(必要に応じ)
Androidアプリ MpdroidなどのカバーアートWebを設定
ここでは、NODE.jsを使用しての方法を記載。
# cd /volumio/http/www/
# ln -s /var/lib/mpd/music Music
NASにshare/Music/{ミュジックデータまでのPath}/Folder.jpgとなっている場合
例)
http://volumio.local/Music/NAS/share/{ミュジックデータまでのPath}/Folder.jpg
----- Extend (mpdwebを使用する場合) ----------------------------------------------------------------------------------------
1.phpをインストールしphpのFront/Endを利用可能にする
apatch2でも良いが、nginxの方が軽いのでnginxをインスト―ル
# apt-get update
# apt-get install nginx
# apt-get install php5 php5-cgi php5-fpm
2.node.jsとportを別にする
# vi /etc/nginx/sites-available/default
server {
listen 88 default_server; <------ 88 Portを変更
listen [::]:88 default_server; <------ 88 Portを変更
...
index index.html index.htm index.nginx-debian.html index.php index.php; <------ index.php を追加
...
location ~ \.php$ { <------ # コメントアウトを解除
include snippets/fastcgi-php.conf; <------ # コメントアウトを解除
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock; <------ # コメントアウトを解除
} <------ # コメントアウトを解除
3.自動起動を解除し再度登録
# systemctl disable nginx
# cd /etc/init.d
オリジナルを保持& nginx.serviceを見ないために別に作成する (nginx既存のバク1.62時点)
# cp nginx nginx_rc
volumio2 は /var/logがRAMDISKになっている。
nginxは、LogのPath設定を変更しても/var/log/nginxを見てしまうためLogPathを作成する
# vi nginx_rc
# Provides: nginx_rc <------ Providesを変更
NAME=nginx
DESC=nginx
以下に挿入
echo `date` > /tmp/nginx.log <------ 追加
mkdir /var/log/nginx >> /tmp/nginx.log 2>> /tmp/nginx.log <------ 追加
nginxの自動起動を登録
# systemctl enable nginx_rc
( 変更した場合,systemctl 再読み込みする
# systemctl daemon-reload
で再読み込みする)
4.Androidアプリ MpdroidなどのカバーアートWebを設定
# cd /var/www/html
# ln -s /var/lib/mpd/music Music
アルバムアート
URL :
http://volumio.local:88/Music
Htmlを簡単に入れ替えたい場合共有する。(セキュルティが弱くなることに注意)
# chmod 0777 -R -f /var/www/html
# vi /etc/samba/smb.conf
mpdのplaylistを編集する場合以下最後に追加
[Volumio html]
comment = Volumio html Folder
path = /var/www/html
read only = no
guest ok = yes
samba 再起動
# /etc/init.d/samba restart
2.668版で気づいた点
1.mpd:020での機能: zip内がmpd D/Bに追加された。(mpdが参照できた)
2.NASのMountをfatabで行う場合,Network動作前でMountされない。
Volumio2になったばかりのときはできていた。(CuBoxで確認)
対応は上記に記載した。
3.やたらとmpdのD/B Updateが走る。
/etc/mpd.conf
auto_update "yes"→ #auto_update "yes" コメントアウトし手動Update
4. Volumio2上で Mixer TypeをNoneにしてもボリュームが変更可能に見える。変更はできないので問題はないが。
audio_output {
mixer_type "none"
を削除しているため。設定すれば、変更不能になるが、Volumio2はConfigureationで戻される。
5.USBDACのON/OFFでConfigrationとして30秒くらい待たされる。
USBDACのConfigureationが走る。「Playback Options」変更と同じ動作のよう。
確認内容
/etc/modprobe.d/alsa-base.confでUSBDACは固定されている(自環境で5 snd_usb_audio)
USBDAC Power On/Offで正常に動作する。
mpdは独自に動いている。
楽曲の選択をVolumio2以外で行う予定であれば(mpdwebなどを使用)
現状として対策:Volumio2への切り替えを手動で行っても良い場合
volumio2のサービス停止
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstop
volumio2のサービス開始
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstart
サービス停止時Plugin
Squeeze Server / Squeeze Player / miniDLNA
Activeのままであれば継続して動作している。
Rebootでvolumio2のサービスは起動する
ここまでで、Volumio2のベースです。この先は本ソフトをダウンロードして「mpdweb_readme/Readme_install.txt」に続きます。
インストールをするために参考となったサイトです。
Volumio2に再生コマンドを送るさん(
https://ppdr.softether.net/volumio-commandline )を参考に
VolumioDocument :
https://volumio.github.io/docs/API/Command_Line_Client.html で仕様確認
※Volumio2対策をコーディングするか
mpdwebをvolumio2と排他使用にするかも知れない
Volumio2のコマンドが記載されているので , mpdweb Addon:NowMusicPart2を作りたい