English | 日本語

最終更新日:2020.11.22

yaMPCカバーアート設定方法


yaMPCでアルバムのカバーアートを表示するためには:

  1. カバーアートの画像ファイルを各アルバムの音楽ファイルが入ったフォルダに置く必要があります。デフォルトのファイル名は Folder.jpg です。(左の図参照)
  2. HTTPサーバー(例えば Apacheまたは nginx) を動作させ、フォルダを共有させる必要があります。この方法は後述します。
  3. またはMPD 0.21以降はHTTPを使わず、MPDから直接ダウンロード可能です。しかしMPDに負荷をかけることと、ファイル名は cover.jpg でなければいけない、という制約があります。

カバーアートを取得するには、インターネット(例えばMusicBrainz.orgやcoverartarchive.orgなど)でCDを検索し、その画像をダウンロードする方法があります。またリッピングソフトやカバーアートで音楽ファイルに埋め込むこともできます。(このページの最後「音楽ファイル(FLAC/ALAC)へのカバーアートの埋め込み」を参照)
 音楽ファイルにカバーアートが埋め込まれている場合、そこからカバーアートを抽出し、各アルバムのフォルダにFolder.jpgファイルを作成するために、getcoverという小さなプログラムを作りました。

詳細は getcover のページを参照下さい。

https://www.openaudiolab.com/yampc/getcover/jp/

getcoverは [mute] MPDダッシュボード にも組み込まれており、手軽に音楽ファイルからカバーアートを抽出できます。
  https://kitamura-design.format.com/mute-jp

 

 

MPD 0.21以降、Volumio 2.x および MoOde audio player 上の音楽フォルダを共有するには、

カバーアートを表示する必要がなければ、このステップは不要です。この画面が表示されてしまったら Cancel (no covar-art) をタップしてください。

 

Server欄を記入後、MPD/URL欄が空の状態でタップすると、左記のメニューが表示されます。MPD 0.21以降、Volumio 2.xまたはMoOde audio playerをお使いの場合は、いずれかをタップするとMPD/URL欄は自動的に埋まります。またMPD 0.21 or laterをタップした場合は File Name欄も cover.jpg が自動的に入力されます。

 

それ以外のディストリビューションをお使いの場合は、"Other (manual setting)" をタップしてください。

 

注記:Volumio 2のキューは独自でMPDと互換性がありません。そのためVolumio 2のWeb UIとyaMPCを同時には使用できません。

yaMPCを操作する前に、Volumio 2のキューをクリア(キュー画面の右上のゴミ箱アイコンをクリック)して下さい。

また、yaMPCからボリュームコントロールされる場合は、Volumioの「音量オプション」で "MPD Client Volume Control"をONにしてください。

 

Volumio 2.x 上の音楽フォルダを共有するには(方法2)

上記の方法はVolumio 2のスクリプトを利用してカバーアートを取得しますが、下記の方法でも音楽フォルダを共有できます。

  1. Volumioにログインする
  2. $ sudo ln -s /var/lib/mpd/music /volumio/http/www/
  3. 次いで yaMPCで、
    1. Player Settings画面で、Name, Server, Portが入力済であることを確認
    2. URL欄をタップし、Other (manual setting) を選ぶ
    3. http://<ホスト名> と自動的に入力されるので、それに続き "/music" と入力する
    4. URL欄の例:"http://volumio.local/music"

RuneAudio+R 上の音楽フォルダを共有するには(RuneAudio+R e3で動作確認)

  1. RuneAudio+Rに root でログインする
  2. root@runeaudio+R e3:~ # ln -s /mnt/MPD /srv/http/music
  3. 次いで yaMPCで、
    1. Player Settings画面で、Name, Server, Portが入力済であることを確認
    2. URL欄をタップし、Other (manual setting) を選ぶ
    3. http://<ホスト名> と自動的に入力されるので、それに続き "/music" と入力する
    4. URL欄の例:"http://runeaudio.local/music"

Raspberry Pi OS または Ubuntu上の音楽フォルダを共有するには(MPD 0.20以前の場合)

前提:$ sudo apt-get install mpd でMPDをインストール済で、音楽ファイルは /var/lib/mpd/music にある。

  1. Raspberry Pi OS または Ubuntu にログインし、Nginxをインストールして下さい。
    • $ sudo apt-get update
    • $ sudo apt-get install nginx
  2. ブラウザで http://raspberrypi.local(またはUbuntuのホスト名)にアクセスし、Nginxが動作していることを確認
    • 正しく動作していれば、Welcome to nginx! と表示されます。
  3. $ sudo ln -s /var/lib/mpd/music /var/www/html/
  4. yaMPCの Player Settings 画面で、Name, Server, Portを入力後、
  5. URL欄をタップすると上記の画面が表示されるので Other (manual setting)を選ぶ
  6. URL欄に http://<ホスト名> と表示されるので、続けて "/music"と入力する。
    URL欄の例:"http://raspberrypi.local/music"
  7. 他の設定はMoOde/Volumioと同じ。

Z-MPD上の音楽フォルダを共有するには(2018-04-30-zmpd_LL.imgで確認)

たかじんさん作の軽量ディストリビューション Z-MPDは、無駄なサービスを停めたためRasp-pi Zeroでも高速起動し、 Low Latency Kernel を採用したため高音質が期待できます。しかしMPD再生に特化したympdという特殊なHTTPサーバーを用いるため、ympd経由でカバーアートを取得できません。カバーアートを取得するためには、別途、汎用HTTPサーバーをインストールする必要があります。以下の例ではHTTPサーバーの中でも特に軽量なNginxを用いてカバーアート取得の設定をします。

  1. Z-MPDにログインし、Nginxをインストールして下さい。
    1. $ sudo apt-get update
    2. $ sudo apt-get install nginx
  2. 次にVimやnanoなどのエディターを使い、次のファイルを編集します
    • $ sudo vi /etc/nginx/sites-enabled/default
    • 80を81に変更。21行目〜23行目は次のようになります。
    • server {
    •      listen 81 default_server;
    •      listen [::]:81 default_server;
  3. 次いで、nginxのドキュメント・ルートに音楽ファイルのフォルダをシンボリック・リンクします。
    • $ sudo ln -s /mnt/music /var/www/html
  4. そして nginxの起動
    • $ sudo nginx
    • (止めるときは、$sudo nginx -s stop
  5. ympdはポート番号80を使いますが、以上の設定でnginxはポート番号81を使うため共存できます。yaMPCの Connection Settings 画面で、URLをタップし Other (manual setting)を選ぶ。続けて":81/music"と入力する(:81を忘れずに)
    URL欄の例: "http://raspberrypi.local:81/music"
  6. 他の設定はMoOde/Volumioと同じ。

マルチルーム対応(上級編)

yaMPCは複数のMPDサーバーを登録し、切り替えてコントロールできます。その際、必須ではありませんが、ラズパイ経由ではなく、直接NASからカバーアートをダウンロードすると、いくつかのメリットがあります。

  1. MPDが動作しているラズパイの負荷を減らせるので、音質向上に貢献する。特に軽量のZ-MPDの場合、Nginxを動作せる必要がないのはメリット。
  2. カバーアートを取得する際のURLをすべてのMPDサーバーで同じにすれば、iPhone上でiOSが管理するURLセッションのキャッシュを共通化でき、iPhoneストレージの節約になる。(一方で、yaMPCが管理するカバーアートのサムネイル・キャッシュは、パスやURLとは無関係にアルバム名に対応して作るので、全MPDサーバーに対して共通化されています。

ただし、設定はかなり複雑でトリッキーになります。NASによって設定が異なるため、以下の手順は、あくまで参考としてください。NASはSynologyを例にとって説明します。まずはVolumio、MoOdeのカバーアート取得を共通化し、次いでZ-MPDとについて説明します。

 

前提:

  • Synologyでは、ボリューム1のmusicフォルダ(/volume1/music/)を共有フォルダとして公開しています。
  • MoOdeとVolumioでは、それを /mnt/NAS/Synologyにマウントしています。
  • MoOdeとVolumioでは、/mnt/NASが、/var/lib/mpd/music/配下にシンボリックリンクされています。
    • 例えば、Volumio上では、以下の通り。
    • $ ls -l /var/lib/mpd/music/
    • total 0
    • lrwxrwxrwx 1 root root 13 Sep 16 22:18 INTERNAL -> /mnt/INTERNAL
    • lrwxrwxrwx 1 root root  8 Sep 16 22:18 NAS -> /mnt/NAS
    • lrwxrwxrwx 1 root root  8 Sep 16 22:18 USB -> /mnt/USB
  • Synologyでは、Web Station (WWW)で、NginxをHTTPバックエンドサーバーに指定しています。

 

手順:

  1. Synologyにsshでログインします。仮にログインユーザー名は ya とします。
    • $ ssh -l ya Synology.local
  2. Nginxのドキュメントルート /var/services/web/ 配下に、music/NAS/Synologyというフォルダを作ります。
    • 以下、Synology上にて
    • $ cd /var/services/web
    • $ mkdir -p music/NAS/Synology
  3. そこに、共有フォルダ /volume1/music配下をシンボリックリンクします。
    • $ cd music/NAS/Synology
    • $ ln -s /volume1/music/* .
    • 正しくリンクされたか確認(以下は、あくまで例です。/volume1/music/の下にAACとFLACフォルダがある場合)
    • $ ls -l
    • total 0
    • lrwxrwxrwx+ 1 ya users 18 Nov 28 01:19 AAC -> /volume1/music/AAC
    • lrwxrwxrwx+ 1 ya users 19 Nov 28 01:19 FLAC -> /volume1/music/FLAC
    • $
  4. 次いで yaMPCで、
  5. URL欄をタップし、Other (manual setting) を選ぶ
  6. http://<ホスト名> と自動的に入力されるので、それに続き "/music" と入力する
  7. URL欄の例:http://Synology.local/music

 

 

 

 

解説:

例えば、Synology上に、 "/volume1/music/FLAC/ALBUM/Folder.jpg" といカバーアートがあったとします。

それはVolumio/MoOde上では "/var/lib/mpd/music/NAS/Synology/FLAC/ALBUM/Folder.jpg" にあるように見えます。
(Synology上の
/volume1/music/ が、Volumio/MoOde上の/mnt/NAS/Synologyにマウントされ、/mnt/NASが/var/lib/mpd/musicにシンボリックリンク貼られているためです)

MPDは、ALBUMというアルバムへのパスを、yaMPCに "/NAS/Synology/FLAC/ALBUM" として渡します。
yaMPCは、そのパスと、URL欄(
http://Synology.local/music)と、File Name欄(Folder.jpg)から、

 "http://Synology.local/music" + "/NAS/Synology/FLAC/ALBUM" + "/" + "Folder.jpg" で、

 "http://Synology.local/music/NAS/Synology/FLAC/ALBUM/Folder.jpg" というURLを作ります。
そのURLに対してSynologyは、
http://Synology.localでアクセスできるNginxのドキュメントルート配下に、music/NAS/Synologyフォルダがあり、さらにその下にFLACフォルダがシンボリックされているので、FLAC/ALBUM/Folder.jpg というカバーアートをyaMPCに渡します。

けっこうトリッキーでしたね。うまく解説できたか自信がありません。

 

Z-MPD:

Z-MPDは "/mnt/music/nas" にNASをマウントする作法になっているので、お作法通りにそこにSynologyをマウントした場合、Synology上では /var/services/web/music/nasに/volume1/music/配下をシンボリック貼れば良いです。

  • Synology上にて:
  • $ cd /var/services/web/music/nas
  • ln -s /volume1/music/* .
  • 以下、リンクの確認のため(あくまで、例です)
  • $ ls -l
  • total 0
  • lrwxrwxrwx+ 1 ya users 18 Nov 24 02:08 AAC -> /volume1/music/AAC
  • lrwxrwxrwx+ 1 ya users 19 Nov 24 02:08 FLAC -> /volume1/music/FLAC
  • $

yaMPCのConnection SettingsのURL欄には、 http://Synology.local/music と入力します。

 

あるいは、MoOdeやVolumioに合わせて、URLを統一したい場合は、Z-MPD上のマウントポイントを/mnt/music/NAS/Synologyにしても良いです。

  • Z-MPD上にて:
  • $ cat /etc/fstab
  • proc            /proc           proc    defaults          0       0
  • PARTUUID=a8fe70f4-01  /boot           vfat    defaults          0       2
  • PARTUUID=a8fe70f4-02  /               ext4    defaults,noatime  0       1
  • //Synology.local/music /mnt/music/NAS/Synology cifs username=ya,password=********,vers=1.0
  • $ sudo mount -a

この場合も、yaMPCのConnection SettingsのURL欄には、 http://Synology.local/music と入力します。

Synology上の設定も、MoOde/Volumioと共通で良いです。

音楽ファイル(FLAC/ALAC)へのカバーアートの埋め込み

e-onkyoやmoraなどの音楽配信サイトで購入したものでしたら、音楽ファイル内にカバーアートが最初から入っています。

 自分でCDをリッピングする場合は、必ず音楽ファイル(通常はFLACかALAC)にカバーアートも入れるようにしましょう。VolumioやMoOdeのWeb UIや、KazooやLUMINなどのOpenHomeのアプリも音楽ファイルに埋め込まれたカバーアートで表示しますし、getcoverがあればyaMPCのためにカバーアートを抽出できます。

 できればリッピングソフトでリッピングの時に入れてしまうのが良いのですが、タグエディターで後からでも入れられます。

 タグエディターはWindowsではフリーソフトのMp3tagがメジャーと思いますが、DescogsやMusicBrainzでカバーアートを検索して埋め込む機能があります。注意点は日本語UIではこの機能に対応してない点です。ツール→オプション→言語→English で英語UIにすると使えます。

 Macのタグエディターは、有償になりますが Tag Editor と Yate があります。Yateにはカバーアートの検索機能があります。Artwork → Search for Artwork → Auto Searchで複数のサイトから自動検索して、見つかったカバーアートを埋め込めます。