MusicBeeと連携し、Jpsonicのクライアントとして利用する方法についてです。
以前よりMusicBeeはSubsonicのクライアントとして紹介されており、私も何年か毎に試すということをしていました。
長期の間有名無実で動かない状態だったのですが、2019/6時点で多少の改善がみられるようになりました。
MusicBeeのSubsonicプラグインの現状
MusicBeeのSubsonic対応は、SubsonicプラグインとMusicBee本体のプラグインインターフェースとに分かれています。
以前はMusicBee本体の開発者がSubsonicプラグイン部分も担当していたのですが、現在ではプラグインのメンテナンスが他の開発者にパスされています。
現状は以下のようになっています。片目をつぶれば実用可能です。
- とりきれていないバグがあるため妙な操作をするとエラーが発生したり、更新系の処理は触らない方がよいという欠点はある(本体側の不具合)
- とりあえずディレクトリからアルバム単位で聴いたり、プレイリストを演奏したりということは可能
- プレイリストの編集は可能だが、サーバのプレイリストではなくMusicBee側のプレイリスト。Oh…
今後更新が重ねられれば、安定してクライアントとして利用することができるようになるかもしれません。
ですので可能性を見出した方は、実際に使用して不具合報告や要望を上げていくのがベストです。
導入方法
本体のリリースとプラグインのリリースは独立しています。
本体に含まれるプラグインは古いものなので、プラグインを更新する必要があります。
この記事執筆時の最新版はmb_Subsonic_v2.28.zipです。
普通にインストールしたのであれば、
[ドライブ名]:\Program Files (x86)\MusicBee\Plugins あたりにmb_Subsonic.dllというファイルがあるはずです。
設定方法
メリット
- MusicBeeはフリーのプレイヤーでも比較的世間に受け入れられています。使い方に関して調べるのが簡単です
- ネイティプアプリなので、演奏に関してWindowsができることは大体できるでしょう
- ブラウザのプレイヤーを経由しないというのは大きいです。ブラウザのメディア実装を迂回できます
- 今は一応担当者が動いている風味。そのため不備は改善される可能性がある。可能性がある。
デメリット
Web APIが活用可能な設計になってはいないことがデメリットかと思います。
日本人の感覚であれば不具合レベルなのですが、UNICODE順にソートすればオッケーやろという国々も多いので修正の可能性は薄いです。
(一応、指摘はした。)
Subsonic Music StreamerはさすがにSubsonicの作者が作成しているので、索引の利用が可能です。
概ねスマホアプリやHTML系のクライアントはきちんと索引が利用できます。
そういったものの作者は大抵Web系に強いのでAPI見てサーバの想定しているフローを読み取って作っていますし、ミニマムにSubsonic専用クライアントとして作るので自然とそうなります。
また検索もサーバに投げるのではなく、接続後に全てのノードをダウンロードしてきてローカルにキャッシュしたものを検索するという方式です。
ローカルキャッシュというと早くて賢そうですが、色々と問題が発生します。
(Web屋ならこれはアカンかもなーと考えそうなレベル)
ローカル検索エンジンの仕様や曲数によってはローカルの方が遅い場合もありますし、サーバの更新には追随しません。
(グーグルのデータ全部持ってきてローカル検索しますか、私は嫌です。)
そしてそもそも、サーバのAPI実装を叩くのとローカルで文字検索するのでは処理が別物です。
PC上のSubsonicクライアントでプラグイン形式のものはこのような設計を取られていることが多いのですが。
もともとあるローカルのモデル設計に無理やりSubsonicのデータを突っ込んで動かす思想だからだと思います。
Web APIの検索に対応する予定はないか質問は投げていますが(紳士的に)、答えが即返ってこないのが回答かと。
メインのMusicBee側も設計変更が必要、というより作る前に考えることなので対応される可能性は低いのではないかと思います。
Subsonicが使いにくい、否、ほとんどがGUIの設計思想の問題です。
何を重視しているかはクライアントによるので、一方的に不満をぶちまけるようなものでもありません。
致命的なデメリット
Musicフォルダの最上位に配置されたファイルは現状アクセスできません。
そんなとこ置かないから大丈夫とも考えられますが。
(一応、指摘はした。)
どちらかというと、このレベルの仕様誤認がある=RESTのモデル設計に目を通していないことの方が問題です。
おそらく本体の設計に問題が多々あるため、現象が見えていても一連の問題をプラグインのフォークで解決するということは困難です。
直すか直す予定であるなら何も問題はないですけれども。
タグの互換性について
御質問にもあったのですが、MusicBeeでこう登録すると他のソフトではこうなってしまう、という現象についてです。
お話をうかがう限り、MusicBeeのタグ書き込み仕様はこのような状態にあると想像できます。
果たしてこの図が精確であるかは不明ですが、現象を聞く限りではということで。
設定画面 : 音楽フォルダにもありますが、Jpsonicは一般的なタグを対象にしています。
id3のタグ仕様はあくまで仕様であり、通常のソフトは「大体普通の人はこの項目を頻繁に使う」という慣例に則って実装されています。
一応時間の経過とともに少しずつ変化していくものですが、タグデータのライフサイクルは非常に長いです。
ユーザにとってはサーバやクライアントより長い間付き合うものなので、慣例がそんなに急に変更されるものではありません。
ですので互換性を重視するのであればid3のタグ仕様内でなんでもアリではなく、世間一般のストライクゾーンに入るようにデータを作ればよいことになります。
これはプログラミングの世界にも通じるものがあります。
たとえ礎となる膨大な言語仕様があっても、それとは別に「そのような書き方は普通しない」というラインは存在します。
サブのガイドラインやらプロジェクトごとの取り決めやらを決めて、会社間でやりとりしながら開発するので時間が経つとコーディングの常識のようなものが形成されます。
ではどのようなタグデータを作ればよいかですが、自分の使うソフトの仕様を把握して使うということになります。
自分のソフトでどんなことができるか把握して、世間一般のタグの常識のような枠内に収めるか、あえて我が道を行くかを決めることになります。
パッと検索したら以下のようなものが引っかかりました。
MusicBeeについてのただのメモ帳
多分〇ch系のコピペですが。
ゴシップと言えばゴシップですけれども、マニアックな話題では往々にして個人サイトより有益な情報だったりします。上書きを避けるための設定について記載があります。
一部引用ついでにバックアップしておきます。
MusicBeeでタグをできる限りいじらないという観点が重要です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
[MusicBeeでタグをできる限りいじらない方法] 「設定」→タグ(1) 以下のチェックを外す ・ID3.1タグも保存する ・音楽ファイルに評価を保存する ・画像を音楽ファイルに保存する 「カスタムタグ」を全て 「MusicBeeのデータベースのみに保存する」にする 「歌詞の格納」を 「外部ファイルに保存」にする 「設定」→「タグ(2)」 全てのチェックを外す (歌詞[…],アートワーク[…],タグ[…]の入手元も) 「設定」→「CDの取り込み」 以下のチェックを外す ・インターネットからアルバムのアートワークを自動的に取得する ・音量解析とリプレイゲインタグの書き込み ※ 曲を右クリック→編集でタグ編集できるので注意 「設定」→「ツール」→「外部アプリケーション」 でタグ編集ツールを登録すると 曲を右クリック→「送る」から起動できるようになる ツールは「MP3tag」がおすすめ ============================================================================= [ID3v2.3フレーム表] Quintessential Player まとめ Wikiより http://wikiwiki.jp/qmp/?Plugins%2FLibraries%2FTag%20Editors%2FID3%20Tags MP3TagのHelpより http://help.mp3tag.de/main_tags.html foobar2000のWikiより http://foobar2000.xrea.jp/index.php?ID3v2%20tag%20support%20%E3%81%A4%E3%81%8B%E3%81%84%E3%81%8B%E3%81%9F#h4ffa84d ============================================================================= [MP3タグの種類と統一方法] ID3v1 最も古い 互換性重視ならこれだが古すぎてゴミ ID3v2.2 ID3v2.3があるので必要なし 区切り記号はセミコロン ID3v2.3 最も普及した規格 UTF-16で書き込め 区切り記号は仕様上はスラッシュ、でもセミコロンが一般的 ID3v2.4 iTunesでの標準 UTF-8で書き込め 区切り記号はNull その他APEなど MusicBee 設定 編集>設定>タグ(1)>MP3タグの保存形式 ID3v2.3 ID3v2.4のどちらか (ascii onlyはダメ) MP3Tag 設定 ツール>オプション>タグ>Mpeg 読込は 全てチェック 書込は ID3v2.4 UTF-8、ID3v2.3 UTF-16のどちらか 削除は ID3v1、APEにチェック ID3v2形式のみで書き込んで 削除ボタンでID3v1、APEを削除 これで大抵の環境で同じタグを扱えるようになる ただしMusicBeeでのタグ書き込みは区切り記号/;の扱いが違いNullを書き込む |
Music Centerでタグの設定ができません
どっちがどっちに合わせるのがよいかということです。
注意深く観察すると、世にはしばしば非常に重要な機能があえてつけられていないプロダクトが存在します。
かつて私が学生時代にお世話になったバイクにZZR250というものがあります。
記録的なロングランの名機ですがこのバイクには燃料計がついていません。理由は「航続可能距離最強だからツーリング行ったとき他のバイクが給油してるときに給油すればOK」というものです。
(夏で信号がないとこだとリッター30キロ以上走ってたので、コンディションがよいと東京から大阪まで無給油で行ける)
つまりMusic Centerにタグ出力の設定が最低限なのは、オレについてこいができる地盤があると読めます。
つけるの忘れたのかもしれませんが、そこまでうっかりさんではないでしょう。
あまり難しいことを考えたくないのであれば、業界内でも伝統があって信頼のおけるベンダーの製品でリッピングして、他のソフトで使うときは上書きをしないようにすればよいです。
書き込み仕様はソフトによって異なるので、仕様が把握できていなければ書き込みを行うソフトを一つに絞るのも手です。
(どうせ何年も使うものなので。あれこれ使ってるとライブラリに色々なデータができる。)
MusicBeeはMusicBee on Windowsでローカル管理をするのに向いており、ニーズがマッチした人にはヒットします。
MusicBee依存で他のソフトに読み込ませたときに困った場合、MusicBeeの使い方で解決できる場合がほとんどです。
汎用の域を超えた使い方を他の環境でも再現したい場合は、それ相応のソフトを探すか自前で作る対応が必要です。
コメントはまだありません