Proxmox上で音楽プレーヤ的なものを動かしてみる

我が家のProxmox上では、 DockerでLogitech Media Server (改め「Lyrion Music Server」)を動かしている。再生には、piCorePlayerを使っている。

特に不満はないのだが、ものは試し、他の音楽プレーヤ的なものをProxmox上で動かしてみようかと思う。


目次
Logitech Media Server (Lyrion Music Server)

目次に戻る


Volumio

Volumioは専用ハードウェアによるミュージック・プレーヤー・トランスポートですが、Raspberry PiやPC(x86やx64)で動くフリーOS版もあるので、Proxmox上で動かしてみる。

  1. Volumio Getting Startedから、PC(X86/X64)用イメージをダウンロードし、unzipしておく。

  2. Proxmox管理画面から、上記イメージをISOイメージとしてアップロードする。(ダイアログでは拡張子の指定をすべてにしてファイル指定する)

  3. VM作成する。

  4. Volumioのイメージをインポート
    qm disk import [VMID] Volumio.img local-lvm
    

  5. Proxmoxの管理画面から、当該VM→ハードウェア→「未使用のディスク0」を「編集」し、ide 0のドライブとして「追加」する。
    Proxmoxの管理画面から、当該VM→ハードウェア→「追加」から、USBスピーカを追加する。

    また、Proxmoxの管理画面から、当該VM→オプション→「ブート順」を「編集」し、「ide 0」を先頭のブートデバイスとする。

  6. Proxmoxの管理画面から、当該VM→「コンソール」→「Start Now」

    画面が真っ暗になり、一瞬、固まったかに見えるが、しばし待つ。

  7. 初回起動画面。画面の指示に従って、設定を進める。

    ハードウェア追加した、USBスピーカが選べる。

  8. 初回起動完了。チュートリアルを適宜、確認する。

  9. 画面左上の三本線アイコン→「System」

    言語設定をし直して、「Save」

  10. 画面左上の三本線アイコン→「システム設定」→「ディスクにインストール」→「ディスクにインストール QEMU_HARDDISK」

  11. 画面左上の三本線アイコン→電源マークアイコン→「電源オフ」

  12. Proxmoxの管理画面から、当該VM→ハードウェア→ide0を「デタッチ」し、「削除」
    Proxmoxの管理画面から、当該VM→ハードウェア→起動。

  13. 改めて、6.~9.の操作を行う

  14. 画面左上の三本線アイコン→「ネットワーク設定」

    静的IPアドレスを設定し、「保存」
    以降、Proxmoxのコンソールを閉じて、ブラウザから「http://設定した静的IPアドレス」でアクセスできる。

  15. 画面左上の三本線アイコン→「ライブラリ設定」→「新しいNASを追加」

    NASのWindows共有フォルダ、NAS側に設定しているアカウントを設定し、「保存」

    音楽ファイルのインデキシングが始まる。ファイル数やVMのコア数・メモリ容量などにもよるが、数分で終わる。

  16. 画面右下の音符マークから、再生するアーティスト・アルバムなどを選ぶ。

  17. ProxmoxのPCに接続しているUSBスピーカから再生された。
    インデキシング処理の影響下、再生し始めてからアルバムアートが表示されるまで数分かかる。

    音量調節は、右下のスピーカアイコンから。

  18. ブラウザから「http://設定した静的IPアドレス/dev/」にアクセスし、SSHを有効化してみる。

    アカウント名:volumio、パスワード:volumio

  19. 画面左上の三本線アイコン→「プラグイン設定」→「Music Services」から、「Squeezelite MC」をインストールし、有効化。

    「インストール済みプラグイン」→「設定」。接続先のLMSの設定、確認。

    Logitech Media Server側から、操作すると、Volumio側の画面が切り替わり・再生される。

    「Squeezelite MC Configuration」の画面下部の「Server Credentials」は、あくまで、パスワード認証ありLMS接続時のパスワードを接続先LMS毎に保存しておけるだけのようである。
    squeezeliteの接続先LMSの変更は、「Switch to Manual Mode」から行うようである。

    「- Apply Suggested」を押下後、「Startup Options」の末尾に「-s LMSのIPアドレス」を入力し、「Save」

    音声は切替先のLMSの制御を受けるようになったが、Volumio画面上のアルバムアートや曲名などはLMSの制御が反映されない。
    ブロードキャストで見つけたLMSのIPアドレスが複数あっても、配列?リスト?の先頭のIPアドレスを使うようなロジックなんだろうな・・・

  20. 【Volumio3】β版JP_Radioプラグインを使ってみる

    1. 「http://VolumioのIPアドレス/dev」へアクセスし「Plugins Test Mode」を「TRUE」に変更する。
      また、「SSH」を「ENABLE」に変更する。
    2. VolumioにSSHでログインし、下記コマンドを実行
      git clone https://github.com/mOqOm/JP_Radio.git
      cd ./JP_Radio
      npm install
      mkdir -p /data/plugins/music_service/jp_radio
      volumio plugin refresh
      volumio vrestart
      
    3. 「http://VolumioのIPアドレス/dev」へアクセスし、「SSH」を「DISBLE」に戻しておく
    4. 画面左上の三本線アイコン→「プラグイン設定」→「インストール済みプラグイン」から、「JP Radio」を「ON」に変更
    5. しばらくすると、再生画面の右下の音符マークから開いた画面に「RADIKO」が出現する。
    6. LMS用のらじるこプラグインのように、放送中の番組名などは表示されないが、ラジコはバッチリ聞こえる。

  21. Volumio スマホアプリ。iPhone版のスクショ。ま、ふつーw

  22. Roon Bridgeのプラグインをインストールすると、Roonの出力オーディオデバイスとして、VolumioのUSBスピーカを選べるようになる。

目次に戻る


Roon

ネットワークオーディオと言えば、今時は、Roonなのでしょうから、ひとまず、試しときます。

  1. Roon Serverを立てる。

    dockerで立てたいところですが、仕組みがよくわかってないところもあり、ひとまず、VMで立ててみます。

    参考:

    1. ROCK Install Guideの「3. Download」から、イメージをダウンロードし、unzipしとく。

    2. Proxmox管理画面から、上記イメージをISOイメージとしてアップロードする。(ダイアログでは拡張子の指定をすべてにしてファイル指定する)

    3. VM作成
      • OSは「メディアを使用しない」
      • ゲストOSは、Linux、6.x - 2.6 Kernel
      • グラフィックカードは「既定」、マシンは「q35」、BIOSは「OVMF (UEF)」
      • ディスクは「SATA0」。「中止(Discard)」と「SSDエミュレーション」にチェックを入れる。容量はお好みで。今回は「64GB」
      • CPU種別は「kvm64」
      • CPUコア数、メモリ容量はお好みで。今回は、2コア、8MB(8192MiB)
      • ネットワークのモデルは「VirtIO (準仮想化)」

    4. イメージファイルをドライブとして取り込む。
      qm disk import [VMID] roonbox-linuxx64-nuc4-usb-factoryreset-100000258.img local-lvm
      

    5. Proxmoxの管理画面の当該VMの「ハードウェア」で、「未使用のディスク0」を「ide0」に設定。
      当該VMの「オプション」で、「ブート順」を「ide0」を先頭のブートドライブに設定。

    6. インストール中、コンソールからだとキーボードが効かないそうなので、Proxmoxの管理画面の当該VMの「ハードウェア」で、「USBデバイス」としてUSBキーボードを追加しておく。インストールが終わったら外して良い。

    7. Proxmoxの管理画面の当該VMの「コンソール」から、VM起動。

      ひとまず、起動失敗するので、何かキーを押下して、BIOS(UEFI)画面へ。

      「Device Manager」→「Secure Boot COnfiguration」から、「Attempt Secure Boot」のチェックをスペースキー押下で外す。「F10」でSaveする。

      「ESC」「ESC」で抜けて、「Reset」を選択して、リターンキー押下

    8. GRUB経由で、セットアップ画面へ。
      「1」を入力し、リターンキー押下。
      (BIOS(UEFI)画面はコンソール上でキーボードが効いたが、ここからは効かないようなので、追加したUSBキーボードで操作が必要のようだ。)

      インストールディスクの選択画面。「1」を入力し、リターンキー押下。

      選択したディスクの確認画面。「Y」を入力し、リターンキー押下。

      インストール完了。「リターンキー」押下。
      Proxmoxの管理画面の当該VMの「ハードウェア」で、イメージディスクのide0を「デタッチ」
      間に合わなければ、再度、インストール画面に戻るので、「デタッチ」してから、Proxmoxの管理画面の当該VM上で「停止」などしてから起動すれば良い。
      再起動後で良いので、Proxmoxの管理画面の当該VMの「ハードウェア」で、USBキーボードを削除

    9. 起動完了。以降、表示されているURLにブラウザからアクセス。

    10. 「Missing Codecs」の右の「?」を押下、表示されたページにあるリンクから ffmpegをダウンロード。

    11. Windowsのスタートメニューを右クリックするなどして「ファイル名を指定して実行」を開き、「\\表示されているURLのIPアドレス部分」で共有フォルダを開く。
      ダウンロードした、tar.xzファイルを7-zip等で解凍・tar展開し、「ffmpeg」というファイルを共有フォルダの「Data\Codecs\」にコピペする。

      ブラウザに戻り、Roon Serverを「Reboot」する。

    12. 再起動が完了すると、ブラウザ上の「Missing Codecs」が消え、「OK」の表示となる。
      ブラウザ画面下部のIPアドレス設定箇所で、静的IPアドレスを設定し、「Save」押下、再度「Reboot」する。

    13. 以降は、Roonのクライアント側での操作となる。

  2. Roonのアカウント作成。

    Roonのトップページの右の「無料トライアル」から。

    14日間無料トライアルで、その後は、月額14.99US$がチャージされる。クレカ登録する。

  3. Roon Apps/Audio Devicesを用意する。

    ひとまず、勝手がわからないので、Windows用ROONをHow Roon Worksからダウンロードし、インストールする。

    「Roon」と「RoonServer」がインストールされたので、「Roon」を起動する。

  4. 環境依存かもだが、やけに横長の画面が出てきた。
    左下から言語を「日本語」に変更すると、再起動する。

    「始める」から操作を続けていく。

    VMで動作している、Roon Serverを勝手に見つけてくれたので「接続」。

    Roon Serverをアップデートしないといけないらしいので「今すぐ更新」。再起動がかかる。

  5. 登録したRoonアカウントでログインする。ブラウザ経由でのログインとなる。

  6. 音楽ファイルのフォルダを追加するため、「+フォルダーを追加する」押下。

    左下の「+ネットワーク共有を追加」

    NASのフォルダを指定し、「ネットワーク共有を追加」

    フォルダのフルパス指定したのに、なぜか指定させられるので、「music」フォルダに異動して、「このフォルダを選択してください」

    音楽ファイルのインデキシングが始まったのか、NASのHDDがガリガリ動き始める。
    ひとまず「継続する」

  7. 一旦、画面下部の「結構です」

  8. オーディオデバイスの選択。ひとまず、「System Output」を「有効」にし、「終了」する。

  9. とりあえず、起動した。画面下部の「オーディオゾーンを選択」から出力デバイスを選んでおく。

  10. 適当にアーティストを選択して再生してみた。

  11. ザッピング?的なことができるのは良いのかもしれない。

  12. 再生中の画面をブラウザに表示もできる。

    Windows用ROONの画面左上の三本線アイコン→設定アイコン→ディスプレイ表示

    「Web表示URL」を「リンクをコピー」して、Chrome等ブラウザで開く

    ブラウザ側は一旦、こんなかんじになる。

    Windows用ROONの画面右下のボリュームアイコン→ディスプレイみたいなアイコンをクリックし、表示先の「今表示する」をクリック。

    ブラウザ上に再生中の曲の情報などが表示される。
    歌詞が勝手にスクロールした。(iTunes Musicとかで買った曲だからか?!)

  13. iPhone版Roonアプリ。

    iPhone自体のスピーカで聞くこともできるし、他のプレーヤで再生するためのリモコンにもなるようだ。

  14. Roonの出力オーディオデバイスとして、LMS再生機(SqueezePlayやpiCorePlayer)を指定することもできるので試してみる。
    参考:Roon公式ヘルプ Squeezebox Setup

    Windows用ROONの画面左上の三本線アイコン→設定アイコン→セットアップ→「Squeezeboxサポートを有効にする」を「Yes」にれば良い。

    ただし、RoonサーバとLMSを同一LinuxマシンやWindowsマシンで動かしている場合は、TCP 9000番ポートなどがコンフリクトするので、LMSを止めるなどしてから行う。

    LMS再生機(SqueezePlayやpiCorePlayer)のSettings→Advanced→Networking→Remote Libraries→Add New Library→RoonサーバのIPアドレスを打ち込んで、「Connect to this Library」する。
    Windows用ROONの画面左上の三本線アイコン→設定アイコン→オーディオ にて、LMS再生機が見えるので「有効」に設定する。

    Windows用ROONの画面右下のスピーカアイコンから、有効にしたLMS再生機を選択して再生すると、聞けた。

目次に戻る


まとめ?!