DELA MusicLiblaryでのネットラジオ再生プレイリスト作成

メルコシンクレッツ社のオーディオNAS「DELA」各機種には、ネットラジオ再生機能が搭載されている。PCやスマホを使わずにネットラジオを再生したい時もあるため、リストを作成して入れておくことにした(vTunerが有料化したというのもあるが)。

メーカーサポートページではSHOUTCastからm3uファイルをダウンロードしているが、自分が聞きたいのはDI.FM、Jazzradio.com、Radio Tunesのプレミアム会員用320kbpsストリームのため、自分で作成した。

1:DI.FM、Jazzradio.com、Radio Tunesから、外部プレイヤー向けのPLSファイルをダウンロード(Player Settings→External Player Settings)
2:テキストエディタでPLSファイルを開き、記載されているストリームURLやストリーム名をコピーし、下記のフォーマットで新たなテキストファイルを作成する

#EXTM3U

#EXTINF:-1,DI.FM - Vocal Trance
http://xxxxx.di.fm:80/vocaltrance_xxxxxxxxxxxxxxxx

#EXTINF:-1,DI.FM - Ambient
http://xxxxx.di.fm:80/ambient_xxxxxxxxxxxxxxxx

※先頭は「#EXTM3U」で固定
※「EXTINF:」の直後は本来は曲長を秒で記載するが、ストリームであるため「-1」で固定
※その後方「,」以降はコントロールアプリ上ではトラック名となる
※複数ストリームを一つのファイルにまとめて記載しても問題ない。ジャンルや曲ごとにプレイリストを分けることも可能
※xxxxx部分は本来はホスト名などが記載されている(伏せ字)

3:適当なファイル名で保存し、拡張子を「m3u」へ変更する
4:DELAの楽曲データ保存フォルダ(Share もしくは Internal)に作成したファイルをコピー(radioなどのフォルダを作ってその中に格納してもOK)
5:(DELA内のメディアサーバーをMinimServerに切り替えている場合は、曲データスキャンを実行)
6:コントロールアプリを起動する(ここではWindows版 LINN Kazoo)

7:再生プレイヤーとして、DELA内蔵プレイヤー(xxxxx Music Player)を選択

8:メディアサーバーとして、DELAを選択し、ナビゲーションツリー「プレイリスト」を選択

9:コピーしたm3uファイルがプレイリストとして表示されるので選択

10:プレイリストに記載したストリームが表示となるので、再生したいストリームをクリックし再生する

■備考
・DELA内蔵プレイヤーを使用している関係上、DELAに接続しているUSB-DACから再生となる
・コントロールアプリはLINN Kazoo(Windows/スマホアプリ旧版)、fidataで確認

MinimServer 2でのプレイリスト(m3u)内ファイルパス記述変更

■現象
m3u(正確にはm3u8)プレイリスト内に曲が表示とならない。

■原因
「MinimServer 2」へアップデートしたが、m3uファイル内での音源ファイルへのファイルパスが相対パス記述のみになったためと思われる(「思われる」というのは、開発元サイトを見ても変更になったとの記載を見つけられなかった)。

■環境
MinimServer 2(2.0.12)
MinimServer-update-162

■解消手順
作成済のm3uファイルを開き、音源ファイルまでの絶対パスを相対パスに変更する。

同時に、プレイリストを格納するフォルダを独立したフォルダから音源データフォルダ内に移動したので、それを考慮したパス記述とした。

旧バージョン

新バージョン

1:Playlist格納フォルダを、音源ファイルが入っている\Musicフォルダ内に移動 (\Music\Playlist)
2:1階層上に上がる→TESTフォルダ→曲ファイルへアクセスとするため、ファイルパス先頭を「..」へ変更

※新旧ともにパス区切りが「\」となっているが、MinimServer 2実行機はWindowsであるため「¥」となる。

■メルコシンクレッツ社 DELAへのプレイリスト転用メモ
DELAは内部OSがUNIX系となるため、パス区切り文字を「/」へ変更する必要がある。

■SONY ウォークマンシリーズへのプレイリスト転用メモ
階層を上がるパス記述コマンドには非対応のため、m3uファイルと音源ファイルを入れてあるフォルダは同一階層に置き、m3u内のパス記述も階層がフラットである前提で書換える。
m3u8拡張子も認識する。

■その他
今回のパス変更時に、今後のメンテナンスも考慮し#EXTINFから始まるインフォメーション行はすべて削除した→音源データファイル内にタグが埋まっているなら不要である事が判明したため。

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」を使用してモダン化するというのはいかがでしょうか。