Volumioのライブラリ管理をメディアサーバに任せる

前回、Volumioのライブラリ管理の悪口をさんざんとメディアサーバと使うのが良いと書いたけど、いまいちNASとメディアサーバの違いが判らない人がいるみたいなので、Volumioとメディアサーバの組み合わせについて。もっとも「かとらぼ」を覗きに来るような人は中の人より詳しいと思うけど。

Volumioをメディアサーバと組み合わせて使う 1

上段は、TFカード(MicroSD)カードにVolumioと楽曲ファイルを置いた場合。当然Volumioのライブラリも同じくTFカードにある。
中段は、TFカードにVolumioを置いて、楽曲ファイルはNASに置いた場合。この組み合わせで使う人は多い筈。楽曲のライブラリはVolumioのものを使うのでライブラリはTFカード内にある。
下段は、TFカードにVolumioを置いて、メディアサーバの楽曲を再生する場合。この組み合わせでは楽曲の管理はメディアサーバが行うので使われるライブラリはメディアサーバのもの。

Volumioをメディアサーバと組み合わせて使う 2
Volumioでメディアサーバの楽曲を再生するにはメディアサーバを覗きに行ける設定が要る。
Volumioの「設定」から「Sources」を開く。

Volumioをメディアサーバと組み合わせて使う 3
「Functionalities Control」の項目にある「DLNA Browser」のスイッチをオンにする。
Volumio側の設定はこれだけ。簡単。
当然メディアサーバ側もLAN内からのDLNAの接続を受け付ける設定にしておく。メディアサーバはいろいろあるのでこの記事ではその設定は割愛。

Volumioをメディアサーバと組み合わせて使う 4
一覧表示」を開くと「Media Servers」という項目が追加されている筈なのでそれをクリック。このページのアイコンは新しく追加したものが最後に表示されるのでソースの追加状況によっては並び順が違うことがあります。

Volumioをメディアサーバと組み合わせて使う 5
Volumioが見つけたLAN内のメディアサーバがリスト表示される。上の画像ではPlex Media Serverが1つだけ表示されている。これが「がとらぼ」の人が使っているメディアサーバ。Plex Media Serverについて書いた記事

Volumioをメディアサーバと組み合わせて使う 6
メディアサーバによっては「Music」,「音楽」など1回あるいは複数回の階層選択が必要かもしれません。(画像無し)
アルバムリストを表示したい場合は「By Album」をクリック。

Volumioをメディアサーバと組み合わせて使う 7
アルバムの管理が上手なメディアサーバであればコンピレーション(オムニバス)のアルバムでも1つのアルバムは分裂しない。上の画像では70年のアルバムが2つある表示になっているが、これは2枚組みのCDがネットの楽曲データベースに「BEST30」と「BEST 30」という風に空白文字の有り無しの違いがある状態で登録されていて、その楽曲データベースを使ってメタデータを付けてリッピングしたのでこんな風になった。(結構こういうの多い)

Volumioをメディアサーバと組み合わせて使う 8
アルバムの中も正しく含まれるべき曲が入っている。まぁこれはメディアサーバ側の管理なので当然といえば当然。ところで、前回コンピレーションアルバムの楽曲ファイルのメタデータを書き換えてVolumioにコンピアルバムを分裂させずに表示できるようにするという記事を書いたが、そのメタデータを書き換えたアルバムは上の画像のようにアーティスト名が表示される筈の部分が前回の記事で追加した「アルバムアーティスト」用のタグの値が表示されている。つまり「上を向いて歩こう」なら「坂本九」と表示されるべき部分が「Various Artists」になっている。これはまたしてもVolumioのやらかし。個別の曲のアーティスト名を表示するところでなんでアルバムアーティスト表示するのよ?
ちなみに、メディアサーバ側で個別の楽曲のアルバムアートが認識されていればその画像が楽曲リストの左端にも表示される。これはVolumioのライブラリでは別途アルバム用画像を用意しなくてはならないのと比べて大違い。しかし、一番上のところにアルバム画像は表示されない。アルバム画像がなければアルバム1曲めのカバーアートを表示するとかで良いじゃんよ。このあたりもどうもVolumioはおかしい。

Volumioをメディアサーバと組み合わせて使う 9
メディアサーバ側では、「アルバムアーティスト」がメタデータの設定通りVarious Artistsになっていて、アルバム内の個別の楽曲では「アーティスト」名が使われているので正常。
つまり、VolumioのTFカードに楽曲を一緒に入れる場合やNASに楽曲を置く場合、要するにライブラリ管理がVolumio側の場合は、前回のようにコンピアルバムの楽曲ファイルにはalbumartistタグを設定するのが良いということになるが、メディアサーバに楽曲ファイルを置く場合はalbumartistタグを設定するとVolumioでは逆に正しく表示されなくなる。本当に困ったもんだ。

Volumioをメディアサーバと組み合わせて使う 10
ちなみに、今回のメディアサーバは前述のとおりPlex Media Serverなわけだが、これだと楽曲を追加・整理・削除した場合の手動更新は、自分のPlex Media Serverにウェブでアクセスし右上の「設定」、左下の「管理」の項目にある「ライブラリ」、右列の「ライブラリーファイルをスキャン」で行う。Volumioのライブラリ更新では1000曲の追加などで1時間以上かかるが、Plex Media Serverでは1000曲なら1分程度で更新できる。

Volumioをメディアサーバと組み合わせて使う 11
登録済みの楽曲を含めて全ての情報を再取得する場合は、1つ前の「ライブラリーファイルをスキャン」ではなく、その下の「音楽」の右端のメニューアイコンをクリックし、「全メタデータを更新」を行う。こちらはインターネットの楽曲データベースへの問い合わせも行うようで、とても時間がかかる。1曲1〜3秒程度はかかるようなので2000曲程度で1時間を覚悟した方が良さそう。(Volumioのライブラリ更新はネットアクセス無しでそれより遅いけど)

Volumioをメディアサーバと組み合わせて使う 12
Volumioの新UIはライブラリ更新の終了がいつなのか判らない嫌な仕様に改悪されているが、Plex Media Serverも更新途中に別の操作を行うと更新の終了が判らなくなる。ただし、「設定」の中の「ステータス」項目の「アラート」でリアルタイムでPlex Media Serverが中で何をしているのかを見ることができるので更新の様子が判る。更新中は上の画像のような内容が延々と出る。ライブラリ更新が終了すると上の画像のような内容が出なくなる。

そんなわけで、PlexをオススメするわけではないけどMicrosoftのWindows Media Serverでも良いし他のメディアサーバでも良い、何かのDLNA対応メディアサーバがあればVolumio側でライブラリ管理を行わなくて済むので是非。

TFカードについて思うこと

Raspberry Piを含むシングルボードコンピュータでVolumioを動かす場合。ストレージとしてTFカード(MicroSDカード)を使う人がいると思うけど、昔のSLC, MLCと違い、TLCは容量は大きいけど信頼性がズタボロなのであまりお勧めできない。酷くざっくりでSLCからMLCで書き換え耐久性が1/10、MLCからTLCでさらに1/10、QLCのカードって見たことないけど、仮に販売されたらTLCのさらに1/10と思っておけばいい。良い製品であればTLCで同じブロックの書き換え耐久性1000回程度が参考値みたいだけど、実際はもう少し悪そう。で、仮に16GBのTFカードにVolumioを入れて3GBがVolumioとする。楽曲ファイルを12GBほど入れて残りが1GBとする。すると、Volumioの3GBと残りの1GBの合計4GBでVolumioの更新含めゴリゴリ書き換えまくることになる。結構ヤバい。逆に、楽曲ファイルの12GBの方は書き換えずに置きっぱなしだとTLCは書き換えないで放置したデータの寿命が2年(悪い方の数値で想定)としてそこから保存されているビットデータが少しずつ怪しくなってやっぱり壊れる(ボロボロに消える)。もしもQLCの製品が出たら(SSDならともかくTFカードはさすがに実用に耐えないから無理かな)、書き換え耐久性100回、記憶可能期間2,3ヶ月ということで、Volumio+楽曲置き場として使ったら速攻で壊れるね。書き換えると壊れる、書き換えなくても消える、本当に酷い記憶メディア。
なのでVolumioを書き込んでVolumioの起動メディアとして使うのは仕方ないにしても、楽曲データはNASなりメディアサーバなりがオススメ。(外出等の持ち運び運用を除く)

関連記事:

Volumioでコンピレーションアルバムを増殖させないメタデータ

Volumioは楽曲を再生するツールとして愛用しているのだけど、気に入らないのが有料のMyVolumio・・・じゃなかったVolumioの楽曲「ライブラリ」、要するにVolumioの楽曲管理。これが本当に使いにくく動作が遅い。音楽を聴く人が何年も1,2枚のCD分程度の楽曲を流し続けるとても思ってる人が作ったんじゃないかというくらい管理することを考えてない造りになっている。新しい曲・アルバムを足したとか整理したとかするとデータベースの更新が数時間。更新しないと足した曲は表示されないから聴けない。そんなレベル。しかも、アルバムの管理が絶望的に下手クソなので本当にダメ。
特に複数のアーティストの楽曲が収められてるオムニバスとかコンピレーションと言われるアルバム。これが、Volumioでは収められてるアーティスト毎にアルバムが分裂する。例えば総集編みたいなアルバムで30人のアーティストの曲が1曲ずつ入ってると、同じ名前のアルバムが30個できちゃう。アルバムリストメチャクチャだよもう。数年前にVolumioを使い始めたときは普通に1つのアルバムとして認識されてた記憶なんだけどどうしてこうなった?

で、個人的にはVolumioのライブラリは気に入らなすぎるしRaspberry PiのMicroSDをゴリゴリ書き換えると寿命面でヤバいのでメディアサーバをVolumioの楽曲ソースにしてメディアサーバで楽曲管理をしてたのだが、ちょっとVolumioのライブラリの進化具合を確認したら・・・あんま変わってなかった・・・・・・ダメジャン

それで終わりだとユーザーとしての進化もないのでこのコンピアルバム問題を調べて解決することにした。Volumioの「設定」→「Sources」の設定項目を見ててヒントがあったことに気付いたからなんだけど。

以下、この記事ではVolumioのUIが旧UI(Classic UI)です。新UIは嫌いなので。

Volumioのコンピアルバム問題を解決するメタデータ 1
Volumioの「設定」→「Sources」にある「Music Library Setting」の「Compilation Metadata Fields」を見てメタデータの問題らしいことに気付いた。さらにその下の「Sort Artists By」のドロップダウンメニューに表示されてる「albumartist」。そういうことね。

GitHubのVolumioのソースで「albumartist」を探してみた。
どうやらビンゴっぽい。Volumioのライブラリは「アルバム名」だけじゃなく、albumartist(アルバムアーティスト)を見て、それが無ければartistかな?で、artistが一致しないので違うアルバムと認識していると見た。
なので、albumartistメタタグを楽曲に付けてやって同じ値(Various artistsとかVariousとか)を設定してやって、「アルバム名」と「アルバムアーティスト」が一致すれば同一のアルバムと認識されて分裂しなくなる筈。

Volumioのコンピアルバム問題を解決するメタデータ 2
メタデータ変更前のVolumioのライブラリから「アルバム」リストを表示した。この画像でいえば、○○歌年鑑 '70 BEST30と○○歌年鑑 '71 BEST30でそれぞれ1つのアルバムなので1行ずつ表示されるべきもの。しかし、この総集編のアルバムは楽曲毎にアーティストが異なるためVolumioでは1曲ずつが1つのアルバムとして認識され、アルバムが大増殖している。

Volumioのコンピアルバム問題を解決するメタデータ 3
楽曲ファイルのメタデータを編集するためのアプリケーションはWindowsでもMacでもLinuxでもいろいろ出ているので好きなのを使っていただくとして、今回はLinux用の定番アプリの1つMusic Brainz Picardを使用した。他もまぁ大体似たようなものなのでわかる筈。
コンピアルバムの楽曲だけを1つのフォルダ(その下は階層で構わない)に置いてからPicardの左上の「フォルダを追加」を押す。

Volumioのコンピアルバム問題を解決するメタデータ 4
左上の楽曲リストにズラズラと表示される。ここのリストは階層が無いように表示されるが問題ない。[Ctrl]+[a]で全曲を選択する。個人的には1回に1000曲±100曲程度の楽曲を集めて編集するようにしている。上の画像では930曲になっている。
下段にメタデータが表示されるが、複数選択されているので全てが同じ値以外は「アイテムに異なる」という中途半端な翻訳で表示される。

Volumioのコンピアルバム問題を解決するメタデータ 5
下段エリアを右クリックするとサブメニューが表示される筈だが、表示されない場合は先に下段のどれかの項目や値を左クリックしてから右クリックする。上の画像では下段の左上の「タイトル」を左クリックしてから右クリックした状態。サブメニューが表示されたら「新しいタグを追加」を左クリックする。

Volumioのコンピアルバム問題を解決するメタデータ 6
一番上に「albumartist」を入力する。これは「アルバムアーティスト」の予約名。単語切れ目に空白が入る「album artist」ではない点に注意。
「値を編集」ボタンを押す。左側の値の入力欄が入力可能になるのでVarious artistsとかVariousとか入力する。個人的な感覚だがVariousだけだと変に思ったのでVarious artistsにした。(画像ではVariousになってるけど)
「Save」を押す。普通ならSaveで保存されるのだがPicardではなんとこれは「Picard内で適用」の意味らしく、この時点では楽曲ファイルにはメタデータの変更が保存されないので油断しないこと。

Volumioのコンピアルバム問題を解決するメタデータ 7
下段の左上の水色表示のところに、新しく「アルバムアーティスト」タグが出現していて、「新しい値」の列に入力した値(画像では「Various artists」)が表示されていることを確認してから上部のメニューの「保存」を押す。この後、Picardでは保存処理の終わりがよく判らない。「がとらぼ」の中の人の超非力なPCとハードディスクの環境では1000曲程度のメタデータの書き換えで1分程度かかっている。最近の強力なPCとSSDの環境ならもっと速いと思うけどPCのストレージ書き込みのインジケーターを見て点滅が完全に終わるのを確認するのが良さそう。終わった感じならPicardを終了してメタデータの編集完了。

VolumioのMicroSDカード(SBCの場合)なりNASの楽曲データ置き場なりにメタデータを書き換えた楽曲ファイルを置く。
Volumioの「設定」→「Sources」の「マイミュージック」で「再スキャン」
楽曲数によって数分〜数十時間。1000曲で1時間目安程度?旧UIならスキャン中はずっと(ぐるぐるアイコン)が表示されるので判りやすいけど新UIでは途中で表示が無くなるのでデータベース更新終了が判りにくいのよね。コンソールでVolumioにログインして、 /var/log/mpd.log (最近はこれがメインのログファイル)を監視するのが良さそう。 tail -F /var/log/mpd.log ってやれば更新が判る。

Volumioのコンピアルバム問題を解決するメタデータ 8
Volumioのライブラリ更新後に「ライブラリ」の「アルバム」リストを表示した。
正しくコンピレーションアルバムが認識されて1つずつになっている。上の画像では幾つか2つ同じのが表示されているようだけど、これは元々CD2枚で1アルバムで、CD毎にそのアルバム名が微妙に違うから。(リッピングで使うCDの曲名データベースの側で空白の有り無しや記号の全角半角など微妙に違って登録されているので)

Volumioのコンピアルバム問題を解決するメタデータ 9
アルバムを選択すると、アルバムに収録されている楽曲が表示される。触ったメタタグは「アルバムアーティスト」であって「アーティスト」ではないので上の画像のように歌手名は変更されずに正しく表示される。

このように、Volumioでもコンピレーションアルバムを正しく認識させることができるようになった。しかし、この「アルバム」+「アルバムアーティスト」が一致、「アルバムアーティスト」タグが無いなら「アルバム」+「アーティスト」を見て、それが一致しなければ別アルバム扱いにするという処理は大バカすぎるのでどうにかして欲しい。多くのリッピングアプリはalbumartistタグを付けないから「アルバム増殖」になるなんてわかりきったことだと思うんだけど。当然、次回以降もコンピアルバムをVolumioのライブラリに登録するならメタデータにalbumartistを追加してやる必要がある。これは本当にアホくさいのでVolumioのライブラリは捨てて、何か楽曲の管理が簡単で適切なメディアサーバ使った方が良いと思う。

関連記事:
Up