Bubble UPnP Serverを使用して外出先から自宅ライブラリを聴く

OpenHome化で使用したBubble UPnP Serverですが、他にも機能が搭載されており、その中でも興味を引いたのが、自宅外からDMSへアクセスする機能です。コレを使えば、スマホ内に音楽データを入れる必要が無くなる!というわけで、追加で設定してみました。

■前提条件

  • Bubble UPnP Serverが何らかの機器上ですでに稼働していること
  • ADSL以上のインターネット回線があること
    ISDNは厳しいと思います。流石にいないか・・・
  • DynamicDNSもしくは固定グローバルIPアドレスが使えること
    無くても何とかなりますが、使い勝手がかなり悪くなります。ブロードバンドルーター購入の無料提供だとヤマハやアイオーデータ、VPN製品だとSoftEther社のSoftEther VPN、専業ではMyDNS.jpなど。なお、自宅ではVPNも使用しているのでSoftEther VPNを使用しています(ここではDynamicDNSの設定については省略)。
  • Android搭載のスマートフォン、タブレット
    LTE搭載、もしくはテザリングで同等の速度が出ること。foobar2000もクライアントアプリとして使用できるそうですが、試していません。
  • 使用する端末へのBubble UPnPのインストール
    フルバージョンじゃないといけないかどうかは未確認

■サーバー設定手順(Bubble UPnP Server)

  1. Bubble UPnP Serverの設定画面へアクセスする。
  2. 「Network and Security」タブをクリックし、「Allow to access the server from the Internet」にチェックを入れる。
  3. チェックボックスの上方「Credentials」のLoginとPasswordに、外部ネットワーク側からDMSへアクセスする際のユーザー名とパスワードを入力する。
    なお、「Public host name」には自分のインターネットアクセス回線のリモートホストが表示となる。
    BUPP-001
  4. 「Media Servers」タブへ移動し、外部ネットワークから接続した際にアクセスするDMSを選択後、「Make this Media Server available in Bubble UPnP for Android and foobar2000 for Internet Access」にチェックを入れる。
    BUPP-002
  5. 「Status」タブに戻り、「Internet Connectivity Test」ボタンをクリックする。クリック後、ボタン右に「HTTP:Server is reachable from Internet」「HTTPS:Server is reachable from Internet」の表示が出れば外部ネットワークから接続できている状態となり、基本的な設定は完了。
    BUPP-000

■メモ的な物(Bubble UPnP Server)

  • ブロードバンドルーターがUPnPに対応していないと「Internet Connectivity Test」ボタンをクリックした際に、テスト結果がエラーとなる(赤文字で結果表示)。この場合はルーターの静的ポート変換機能で、外部ネットワークからの58050ポートと58051ポートへの通信を、Bubble UPnP Serverを動かしているPCもしくはNASへ転送する設定が必要となる。
  • 「Status」タブの下方に最低でも「Audio Trancecoding Supported:yes」の表示が出ていないと、オーディオメディアファイルをMP3に変換して送信する機能が動作せず、パケット通信契約の上限まで使い切ってしまう恐れがあるので注意する事(俺は絶対FLAC!WAVEだ!という方なら関係ないけどw)
  • ブロードバンドルーターを再起動やポート設定を弄った場合、Bubble UPnP ServerがUPnPの再設定を行わないのか、外部ネットワークからアクセス出来なくなることがある。その際は「Status」タブの下方「Restart Server」ボタンをクリックしてサーバーを再起動する。
    (インストール先がWindows機であれば、タスクマネージャを利用して深夜のアクセスしない時間帯などに、Bubble UPnP Serverサービスを定期的に再起動させるのも良いかもしれない)
  • 「Setting」タブの「Adbanced」タブにある「Trancecode high-res audio to 44.1/16 or 48/16 FLAC」はハイレゾ(44.1/16 or 48/16と書いてあるのでこれ以上のファイルの場合?)ファイルをTrancecodeを利用してダウンコンバートする機能の設定のようだが、クライアント側にBubble UPnPを使用している限りでは、ここで設定をしてもクライアント側設定が優先される模様(設定は後述)。
    BUPP-003

■クライアント設定(Bubble UPnP)
設定手順はBubble UPnP Serverのサイトにドキュメント化されているが、一通りの手順を書いてみます。

  1. Bubble UPnPを起動し、Settingメニューへ移動する
  2. 「Setup network wizard」を選択
  3. 「Name」に設定の名称を入力(自宅 など)。Server addressにBubble UPnP ServerのStatusタブなどで表示されていたPublic host name、もしくはDynamicDNSサービスで取得したFQDNを入力する。
  4. LoginとPasswordは「Credentials」で入力した文字列を設定。
  5. Active on connectionをタップし、ラジオボタンを「Mobile」に変更する。変更することによって、自宅LAN環境ではBubble UPnP Serverのこの機能を使用しないよう明示的に限定できる。
  6. 下方の「TEST」ボタンをクリックし、接続テストを行う。ここでエラーになる場合はBubble UPnP Server のStatus画面状態などを確認する。
  7. エラーが発生しなかった場合は、NEXTボタンをタップし接続先設定を完了する。
  8. 再度Settingsメニュー内「Network and settings」へ移動する。
  9. 「SD Card music caching」内の「Active on connection」をタップし、Mobileを選択(DMSからダウンロードしたデータをローカルにキャッシュする機能をモバイル回線経由のみに限定する)。
  10. 「Add to Android Library」のチェックを外し、DMSからダウンロードしたデータがローカルにキャッシュされた際に、そのデータをAndroid側の音楽ライブラリーに登録する機能を無効にする。端末ローカルにはハイレゾファイルを置いて、それらだけをOS側に認識させたいんだよ!という人には余計なお世話機能であるw(外し忘れても後からチェックを外せばライブラリ登録も解除できる)。
    BUPP-004
  11. 「Music playback transcoding to local renderer」カテゴリ内のMobile Max Bitrateをタップし、モバイル回線時のビットレートを設定する。ウチは割り切って128kbpsを設定。
  12. 無線LANテザリングを使用して他端末経由でBubble UPnP Serverへ接続している場合は、その下のWiFi / Eth Max Bitrateも設定を行う。
  13. その下のLossless onlyチェックは音源ファイルのビットレートが上記二つのビットレート設定以上の場合で、チェックが入っていた場合はトランスコードせずにオリジナルファイルのまま伝送してくる機能(らしい)。ウチでは割り切っているため外している。
    BUPP-005BUPP-006

■アクセス・再生手順

  1. 無線LANを切る。もしくは無線LAN圏外へ移動し、モバイル回線接続にする。
  2. Bubble UPnPを起動し、LIBRARYへ移動する。
  3. 左上のDMS名の横に「[入力した設定名称]」が追加で表示される。
    BUPP-007

  4. いつも通りにライブラリ画面からキューへ曲を追加し、再生を始めれば端末の内蔵スピーカーもしくはヘッドフォンから音声出力となる。

    BUPP-008

    元データはFLAC/96kHzだが、端末に伝送されたデータはMP3/128kbps/44.1kHzとなっている。

  5. Settingメニューで「Local Renderer」を有効にしておかないと再生出来ない可能性があるので注意。
    BUPP-009

■メモ的な物(総合)

  • 使用感ですが、Xperia Z2(docomoキャリア端末)にMVNOであるmineoのdocomo回線SIMを入れてますが、LTE接続で使う分には全く問題ありません。次の曲が始まるまでのタイムラグも無いし、曲が始まってすぐにトラックを進めてもそんなにラグも無く次の曲が始まります。
    あと、2トラック先ぐらいまでは圏外になっていても再生出来るようです。
  • Serverへアクセスできない、接続エラーが発生する場合はダイアグラムとかを書いて、データの流れを整理しないとトラブルシューティングが上手くいかない可能性が高いです。
  • DynamicDNSやポート変換の辺りは一般的なネット関連の知識が必要となるので、ネットワークオーディオとはまた違った勉強をする必要があります。
  • ネット時代になったのになんで端末にデータ入れないといけないんだよ!という人以外は手を出さない方が良いかもしれないですw。
  • Androidベースのハイエンドポータブルプレイヤーにインストールして設定してもイイと思いますが、単体でLTEや3Gに接続できる端末の方が使い勝手が良いし、MP3になってと音がアレなのもわかっちゃうのであまりオススメできないですw。
  • 自宅の整備したライブラリーを外でも使いたいんだ、という人は頑張ってみると幸せになれると思います。
  • データ容量の低いパケット契約をしている際は設定に注意しましょう。
広告

ネットワークプレイヤー環境でプレイリストを作成・運用する

iTunesやその他のプレイヤーアプリだと、プレイリストというのは簡単に作成出来て、特に操作も悩むことも無いのですが、ネットワークオーディオ環境ではどうやって作成すれば良いのか、さっぱりわからない面があると思います。自分も色々と試行錯誤しまして、その結果、安定して運用することが出来るようになりましたので、まとめとしてこのエントリーを書いてみます。

■ネットワークプレイヤー環境で用いられるプレイリスト形式
ネットワークプレイヤーではDMC側で独自に作成できるプレイリストと、リストファイルを作成してDMS側に保存しておく二つのパターンがあります。

m3u-010

DMC側プレイリストの例。Bubble UPnPの場合はVirtual foldersのSaved playlistが該当する。

DMC側リストは今までのプレイヤーアプリのようにアプリ上でライブラリ内から曲を選択してリストへ追加していくので、今までと同じ感覚で作成出来る一方、デメリットとしてリストを作ったデバイスにしかプレイリストが残らない、DMS側にある曲データを更新したりするとリストから曲が消えて、どの曲があったのかわからなくなるなど、かなり不便でした(BubbleUPnPの場合は少なくともそうでした)。
一方、DMS側でプレイリストを保存しておくパターンは、「m3u」というかなり昔(恐らくMP3が流行始めた頃)から存在しているプレイリスト形式をあらかじめ作成し、DMSの所定のフォルダへ入れておくという物です。こちらは複数のDMCからアクセス出来、曲やフォルダ構成を変更してもリストから曲が消えたりということはありませんので、変更した部分を修正すれば、またリストとして再使用できます。

ネットワークオーディオとしては後者の方が圧倒的にマッチしており、もちろんここでも後者についての説明・手順解説となります。

■m3u形式について
Wikipediaを参照

■使用ソフトウェア
・MinimServer (DMS)
プレイリストとしてm3u形式を採用していると明記されており、プレイリストを保存するフォルダを任意に設定可能(contentDir設定でプレイリストフォルダを設定する)。
MS-001

Playlist Creator 3.6.2
m3uを作成することが出来るフリーウェア。エクスプローラーからファイルをドラッグ&ドロップし、作成ボタンをクリックすればm3uフォーマットに沿ったリストを簡単に作成可能。
m3u-002

・文字コードを指定して保存できるテキストエディタ
Playlist CreatorはUTF-8形式を直接書き出すことは出来ないので、保存文字コードを指定できるテキストエディタ(Windowsのメモ帳でも可)が必要。

 

■作成手順
:注:以下に具体的な手順を記載しますが、コレは自分の環境構成での手順のため、ドライブレターや保存先フォルダなどはご自分の環境に合わせて読み替えていただく必要があります。
(MinimServerのcontentDirをMドライブとして設定しています)

  1. 音楽ファイルを格納したネットワークドライブ(Mドライブ)を開き、同時にPlaylist Creatorを起動。
  2. エクスプローラー上から音楽ファイルをPlaylist Creatorのウィンドウへドラッグ&ドロップ。
    m3u-005
  3. ファイルを全て追加したら、リスト下方の「Name and type」へプレイリスト名を入力し、「.m3u」形式を選択し、Create Playlistボタンをクリック。
    (ファイルは「Save location」に設定されているフォルダへ保存となる)
    m3u-006
  4. 保存となったm3uファイルをテキストエディタで開き、文字コードを「UTF-8」へ変更し保存し直す。
    (UTF-8はBOM付で保存していますが、無しでも大丈夫かもしれません(未確認)。改行コードはCR+LFのWindowsタイプで読み込んでくれます)
    m3u-007
  5. 保存後、拡張子を「m3u8」へ変更(変更することによってUTF-8エンコードのファイルであると認識してMinimServerが扱うようになる)。
  6. 作成したM3u8ファイルを、MinimServerのcontentDirへ移動し、MinimServerでライブラリの再スキャン、もしくはMinimServerを再起動する。
  7. DMC上からプレイリストが表示されるナビゲーションツリーを開き(DMSによって異なります)、作成したプレイリストをキューへ追加し、確認。
    m3u-009 m3u-008

 

■メモ的な物
・使用しているDMSで扱えるプレイリスト形式の確認
MinimServer以外にもTwonkeyMedia、Asset UPnP、Kazoo、foobar2000のUPnPモジュールなどなど、DMSだけでも多数存在しますが、各DMSで対応するプレイリスト形式は異なっているかと思われますので(ほぼデファクトのm3u形式化とは思いますが)ご自分の使用しているDMSの仕様を確認してください。

・Playlist Creatorでドラッグ&ドロップできるファイル形式の設定
Playlist Creatorは扱えるファイル拡張子を限定することが出来ます。メジャーな音楽ファイル拡張子はすでに登録済みですが、ドラッグ&ドロップ出来ないときはSettings→File Typesでファイルタイプリストを確認します。

m3u-003

・m3uファイル内でのファイルパス指定(相対パスか絶対パスか)
これは、フォルダ階層構造のことを理解していないとわからない部分とも思います。
Wikipediaにも記載がありますが、m3uはファイルまでのパス記述を絶対パスもしくは相対パスで指定することが出来ます。どちらにも利点はあるのですが、MinimServerに限って言えばどちらにも対応しており、その辺りを悩む必要はありません。
なお、Playlist Creatorでも絶対と相対、どちらで書き出しを行うかを選ぶ部分があります(Settings→Playlist Detailes→Saving playlist entries)。

m3u-004

:注:DMCアプリケーションによってはジャケ写が出ないという問題が発生しました。Bubble UPnPでは相対でも絶対でも問題ありませんでしたが、LUMIN Appでは絶対パスでないとジャケ写がブランクとなりました。絶対パスの方が無難かも知れません。

 

OpenHome非対応ネットワークプレイヤーをOpenHome化する「Bubble UPnP Server」

OpenHome(以下OH)非対応のネットワークプレーヤー(DMR)をOH化出来る「Bubble UPnP Server」を試してみました。

OH化する利点の目玉は「再生デバイス側でのプレイリスト保持」。今までDMCが持っていたプレイリストをDMR側が持つ事によってDMCの負担を軽くし、DMCがエラーやスリープ状態になることによって再生が止まってしまうといった不都合を回避する事が出来ます。他にも、プレイリストを他DMCでも参照する事が出来るようになるので、複数のDMCアプリを併用することも簡単になります。

Bubble UPnPサーバーは多機能で、DMRのOH化以外にも、自宅内DMSのインターネット側からのアクセスを可能とする機能も搭載されていて、「Bubble UPnP」が使用できるAndroid系スマホ内にコピーしていない楽曲を自宅のDMSへ外出先からアクセスして再生することが出来ます(今回は省略)。

今回は以下のような構成でシステム構築してみました。

 

構成図

 

  • Windows Server 2008
    ファイルサーバー
  • Windows7
    Bubble UPnP Serverインストール機
    DMSとしてminimserverをインストールしている。
    音楽ファイルはWindows 2008 Server上の共有フォルダに保存されており、フォルダへはネットワークドライブを設定。
  • Gigabit HUB
    上記2台のPCとAirMac Extreme等を接続
  • AirMac Extreme
    11n/ac 無線LAN
  • PIONEER N-50
    DMR
  • DMCとして、Xperia Z2、Xperia Z Ultra、iPhone、MacBook Pro Retina(Mid 2012)

あまり詳しくはないですが、以下Bubble UPnP Server設定時のメモのようなもの。

  • Windows版はJava Runtime Environmentのバージョン7以上のインストールが必要。
  • スタートメニューに「Bubble UPnP Server」のグループがあるので、「Configure BubbleUPnP Server」のショートカットを起動する。
    サーバー設定画面へのURLが自動入力となり、設定画面が開く。
  • 今回はOH化するだけなので、設定画面の「Network Security」タブ→「Allow to access the server from the Internet」のチェックを外してインターネット側からのアクセス機能を無効にした。
    同時にインターネットアクセス時に使用するアカウント情報(Credentials)をデフォルトから変更。
  • 「Media Servers」タブ内項目はOH化のみでは使用しないので、設定変更不要。
  • 「Media Renderers」タブにてOH化するDMRを選択し、「Create an OpenHome renderer」にチェックを入れる。NameはOH対応DMCから見える名称を変更出来る。RoomはLINNではお馴染みのDMRの設置場所をわかりやすくするための場所記入フィールド。
  • OH対応DMCからDMR検索を行うと、「Media Renderers」タブの「Name」フィールドに入力したDMR名が見える(はず)。DMRとして選択後は、今までと全く同様に使用する事が出来る。
  • Windows版はサービスとしてインストールとなるため、PCでWindowsログオンする必要は無い。
  • 試しにXperia Z Ultra上のBubble UPnPでプレイリストに曲を追加し再生開始。その後、Xperia Z2上で起動したBubble UPnPのプレイリストを見ると、Z Ultraで作成したプレイリストがそのまま見えて、再生状況も反映された。Z2側でプレイリスト消去すればZ Ultra側でも消去となった。
  • OH化した事によって、LINN/KAZOOとLINN/Kinskyを使用できるようになり、今までDMCアプリがお寒い状況だったWindowsとOS XのDMC環境が改善した。更にはデバイス側プレイリストのおかげで、PCから離れるときはスマホで操作を継続できるのも大きなメリット。
  • 友人宅ではDMRとしてヤマハ NP-S2000を使用しているが、QNAPのNASにBubble UPnP Serverをインストールし設定したところ、iPadからLuminAppでコントロール出来るようになったとの事。LuminAppは完成度が高いと評判で、これも見逃せないポイント。LuminアプリでNP-S2000をコントロール
    LuminAppでNP-S2000をコントロール

    LuminアプリとNexus6上のBubble UPnPが同期している
    LuminAppとNexus6上のBubble UPnPが同期している

というわけで、もうファームウェアのアップデート等が望めない製品をお使いの場合は「Bubble UPnP Server」を使用してモダン化するというのはいかがでしょうか。

Android端末をDMCとして使うときの補助アプリ

ネットワークオーディオ(DLNA)のコントローラー(DMC)としてAndroid端末を愛用していますが、こういう事ができればなーという事を解決するためのアプリを紹介してみます。

■画面スリープを回避する

DMCとして使用しているときに画面スリープになってしまうと、当然ですが曲名やジャケ写が見えなくなってしまいます。そして、そのたびにロックを解除するのも面倒です(VPN設定をしているとパターンロック使用になっていたりして、さらに面倒に)。DMCによってはスリープに入らないように設定できるものもありますが、本体やOSバージョンによっては確実に回避出来ない場合もあります。

そこで、サードパーティアプリの「Wakey」の出番です。このアプリを起動し、電球マークをタッチすると画面スリープに入らなくなります(電球の下部でOS側のスリープ時間を上書きできるようですが、今回は使いません)。

2014-11-09 04.25.17

 

IMG_5247

有料版ではさらに機能が追加されますが、単純にスリープ回避だけなら無料版で十分です。スリープ無効にしている間は通知バーに電球アイコン、通知センターにその旨が表示され、通知センターからはスリープ無効をワンタッチで解除することが出来ます。

ウチの環境ではコレで画面スリープを無効化して、Xperiaの充電スタンドへ置いたりしています。

■画面向きを固定化する

DMCアプリによっては横画面レイアウトの方が良い場合があります。愛用しているBubble UPnPは横画面デザインがとても雰囲気が良く、Xperiaの充電スタンドともマッチして「これこそベストDMC」の様相となります。ですが、Android標準の画面の回転機能は、端末の持ち方によってはすぐに縦表示になってしまったりして、どうにも落ち着きません。

2014-10-19 00.37.23
(Xperia Z Ultra)

2014-09-14 11.40.18
(Xperia Z Ultra)

2014-10-24 12.12.50
(Xperia Z2)
<Bubble UPnPの横表示例>

そこで、画面向きをコントロールするアプリを使います。幾つかの無料アプリを使い最終的にたどり着いたのが「Ultimate Rotation Control」の有料版です。このアプリは縦固定、横固定はもちろんさまざまな回転コントロールを行うことが出来ます。そして、有料版では特定のアプリケーションを横表示で実行することが可能になります。

今回はBubble UPnPを特定アプリとして横表示登録し、起動中は必ず横表示になるように設定してみました。もちろん効果覿面で、縦持ちしたって横表示のままです。設定によって通知センターにショートカットを配置できるので、固定にしていると画面レイアウトがおかしくなってしまうアプリにもすぐ対応できます。

IMG_5245
<通知センターのショートカット>

単純なリモコンと違って、アプリを追加導入すれば不便な部分が改善できるのは、アプリ化されているDMCの良い点ですね。

「Media Library Tree」を更に簡易化する

DLNAでのややこしいメディアライブラリー一覧が嫌いな自分は、foobar2000でのDMS導入時に一覧内容をカスタマイズしシンプルな表示に変更しました。が、まだシンプル化が足りていないことが判明。

fb2k-dms-009
そんな細かい分類は必要無いんじゃよ・・・・

foobar2000のUPnP Browserから「Albums」を選択した後が、いわゆる「Album/Artist表示」になっていました。だいたい、アルバム毎に聞きたいのに、そこからさらにアーティスト毎に分けて聞きたいとは思わないわけですよ。というわけで、今回も「foo_upnp_ml_tree.xml」を編集して改善します。

変更前
<MediaLibraryTree>
<SubTree label="Folders" type="filesystem"/>
<SubTree label="Albums">
<spec type="object.container.album.musicAlbum">%album%[ ‘[‘%album artist%’]’]</spec>
</SubTree>
<SubTree label="Genres">
<spec type="object.container.genre.musicGenre">%&lt;genre&gt;%</spec>
<spec type="object.container.album.musicAlbum">[%album artist% – ]%album%</spec>
</SubTree>
<SubTree label="Codecs">
<spec>%codec%</spec>
<spec type="object.container.album.musicAlbum">[%album artist% – ]%album%</spec>
</SubTree>
</MediaLibraryTree>

変更後
<MediaLibraryTree>
<SubTree label="Folders" type="filesystem"/>
<SubTree label="Albums">
<spec type="object.container.album.musicAlbum">%album%</spec>
</SubTree>
<SubTree label="Genres">
<spec type="object.container.genre.musicGenre">%&lt;genre&gt;%</spec>
<spec type="object.container.album.musicAlbum">%album%</spec>
</SubTree>
<SubTree label="Codecs">
<spec>%codec%</spec>
<spec type="object.container.album.musicAlbum">%album%</spec>
</SubTree>
</MediaLibraryTree>

ついでなので「[%album artist%]」関係を全てのサブツリーで削除しました。これで単純にアルバム毎に選べるようになり快適です。

追記:しかし、この後Album/Artist表示の利点(特定のアーティストの曲だけ聴きたいとか)を見つけてしまい、他のUPnPサーバー使用時にはAlbum/Artist表示は削除しないで使用しています。

foobar2000 UPnPコンポーネント「Decoding to PCM」設定を見直し

foobar2000をDigital Media Server(DMS)として使うのエントリー内で、「Decoding to PCM」設定について「N-50は2年前の製品とはいえファームウェアアップのおかげもあって対応フォーマットは多いため「Never」にしています」と記述しましたが、この内容が間違いであることが判明しました(元記事は修正してあります)。

fb2k-DtP-000

 

「Decoding to PCM」設定の部分は右にある「Except」フィールドを考慮しつつ設定する必要がある項目で、以下のような挙動になります。

(ここでの「ストリーム」はWAVEやAAC、FLAC、ALACといった圧縮・非圧縮形式の事を指します)

・always – wav:Exceptフィールドに記入した拡張子はソースファイルのストリームのままDMRへ送出し、登録外拡張子の場合はWAVEに変換しDMRへ送出する。
・always – lpcm:Exceptフィールドに記入した拡張子はソースファイルのストリームのままDMRへ送出し、登録外拡張子の場合はリニアPCMに変換しDMRへ送出する。
・never – wav:Exceptフィールドに記入した拡張子関係なく、全てWAVEに変換しDMRへ送出する。
・never – lpcm:Exceptフィールドに記入した拡張子関係なく、全てリニアPCMに変換しDMRへ送出する。

以上の動きから考えると、N-50にとって一番良い選択は「always – wav」となります。N-50はDSD以外のファイル形式はほぼ対応で、WAVEであれば192kHz/24bitまで再生可能なためです(リニアPCMの場合は48kHz/16bitまで。USB-DACモードでは192kHz/32bitまで入る)。

この挙動に気がついたのは、AAC圧縮したファイルを再生しているときでもN-50側の液晶画面に「WAV 44.1/16」と表示されていたためです。N-50はAACストリームも再生できるので、DMSからなるべくファイルオリジナルのストリームで流れてくるように設定したはずなのに・・・と、前回記載したURLを見ていたところ、URLの末尾が「convert=wav」となっており、「Decoding to PCM」設定を変更しながらURLを確認したところ、上記の結果が判明しました。

 

AACストリームをWAVE送出していた(never – wav)場合のN-50の液晶画面とfoobar2000上のプロパティ。プロパティ内の「File path」末尾に「convert=wav」の文字が見える。File SizeもAACストリームにしては大きい。

リニアPCM送出に設定(never – lpcm)した場合のN-50の液晶画面とfoobar2000上のプロパティ。プロパティ内の「File path」末尾が「convert=lpcm」に変化する。ちなみに、N-50はリニアPCMストリームを受信したときはストリーム形式は何も表示されない。

 

ソースファイルのストリームで送出するように設定(always – wav)した場合のN-50の液晶画面とfoobar2000上のプロパティ。プロパティ内の「File path」は拡張子m4aのままとなり「codec」はAACとなっている。

「Decoding to PCM」設定がややこしいのは、「Exceptフィールドに登録した拡張子以外に対して」alwayなのかneverなのかを選択する設定のためかと思います。私も最初は登録拡張子のフィールドのことを深く考えずにエントリーを作成したため、間違いを書いてしまいました。

なお、今回のエントリーを作成する際に、Exceptフィールドに登録する拡張子も見直しして、N-50で再生できるストリームの拡張子を追加登録しました。

>mp3,mp4,wma,aac,m4a,wav,flac,aif,aiff,pcm,lpcm

これで、上記の拡張子は変換することなくDMRであるN-50に送出されるようになり、DMS役のfoobar2000を動かしているPCの負担は更に減る形となりました。

foobar2000をDigital Media Server(DMS)として使う

さて、DMCは用意できましたが、DMS(Digital Media Server)がまだありません。UPnPではWindowsのファイル共有は見つけてくれませんので、何らかのUPnP対応メディアサーバーを動かさないといけないのですが、ここでもfoobar2000が活躍します。

今回は24時間動かしたままの自宅TV録画サーバーにfoobar2000を入れて、DMSだけを行うように設定しました。
設定はfoobar2000内の「Preferences」から行います。

まずは、foobar2000が音楽ファイル格納場所として認識するフォルダを登録します。

fb2k-dms-001

 

ウチの環境ではネットワークドライブ(Mドライブ)に、WindowsServer2008上の共有フォルダを設定しており、ネットワークドライブ中の「Music」フォルダを登録しました。登録後はfoobar2000によって自動ファイルスキャンが行われ、foobar2000のアルバムリストにファイルが登録されていきます。

次に「Tools→UPnP→Server→Basic Setting」にて、稼働させるサーバー(DMS&DMR)を設定します。

fb2k-dms-003

 

今回はMedia Server(DMS)だけ「Server is started」状態にし、サーバー名を変更しました。

「Always use the Default streaming profile for all devices」はチェックを入れています。このチェックは、DMSに接続してくるDMRの能力に合わせて設定プロファイルを切替える機能を有効にするかどうかだと思うのですが、その機能は使わないためです(下記参照)。

次は「Content」を設定します。ここはデフォルトのままでも良い感じですが、自分には必要の無いビュー項目があったので幾つか外しています。
(画面を見て頂くとわかりますが、DMSを選んだ後に出るアルバムやプレイリストビューといった表示項目を設定しています)

 

fb2k-dms-004

この画面の下部に「Customize Media Library Tree」ボタンがありますが、ここも変更しています。デフォルトで登録されている「アルバム・アーティスト」や「アーティスト」といったビューは使っていないので、表示されたファイルの元ファイルを(XML)をテキストエディタで削除し、一番使う「Folder」ビューを一番上に持ってきてあります。

fb2k-dms-005次に「Straming Profiles」を設定。ここではDMRへ送り出すストリームの設定を行いますが、使っているDMRの性能に合わせて設定を行わないと、適切なフォーマットが送信されなくなってしまいます。N-50はネットワーク経由でも192/24データを受けてくれるので「Renderer Capabilities」はsamplerate rangeを44100~192000、Max bit depthを24へ変更しました。

次の「trancecoding to MP3」は特定のフォーマット(拡張子で判定)をMP3に変換して送出する機能のようですが、使わないため「never」にしています。

その下の「Decoding to PCM」は登録した拡張子以外のフォーマットを、PCMに変換して送出するかどうかの設定かと思われます。更にそのフォーマットをWAVE互換にするのが、リニアPCMで送るかといった設定かなと。これもDMRが対応していないフォーマットをフォローするための機能の一つで、N-50は2年前の製品とはいえファームウェアアップのおかげもあって対応フォーマットは多いため「Never」にしています。「Always」にしています。「Decoding to PCM」部分について間違いがありましたので、訂正も兼ねて別エントリーを作成しました(2014/4/19追記)。

ここまで設定したら完了で、OKをクリックし設定画面を閉じ、foobar2000を再起動します。再起動するのはライブラリ内容がDMS部分に反映されないためです。本来は自動更新なのだろうと思いますが、自分の環境ではその連携が上手くいきませんので、手動再起動しています。

設定が完了した後はハイレゾファイルなどを再生して、オリジナルファイルのフォーマットのまま再生されているか確認します。N-50は本体側に液晶画面があるので、この点はラクです。

なお、DMSとしてのfoobar2000は起動させたままですが、CPUパワーとメモリは殆ど使っておらず、本来のTV録画には全く支障がありません。

fb2k-dms-007fb2k-dms-008

 

 

 

フォーマット変換機能を使用した場合は不明ですが、素のまま送出している限りは「そよ風」レベルでした。