MPDWEB 紹介/特徴

MPDWEB 紹介/特徴
MPDWEB 紹介/特徴

2019年12月4日水曜日

mpdwebを使う上でのVolumio2 Raspberry Pi版Rc2.668 インストール

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を作りたい

0 件のコメント:

コメントを投稿