ラベル lightmpd の投稿を表示しています。 すべての投稿を表示
ラベル lightmpd の投稿を表示しています。 すべての投稿を表示

2019年7月23日火曜日

Daphileがコントロールポイントに


これはDaohileの画面ですが、先日ふと見ると、画面右下に「Choose Player」があるのに気が付きました。 中を見てみると、AudioDeviceで認識されたUSBインターフェース「DIYINHK USB Audio 2.0」の他に、「UpLightMPD」が見えます。これはレンダラーですね。


試しにDACに繋がるUSBケーブルを、LightMPDの入ったPC(AUP1)に差し替えて、レンダラーに「UpLightMPD」を指定してDaphileで再生してみると、AUP1(LightMPD)から音が出ました。

先日、Daphileをupnp対応のプラグインを有効にしたからですね。Daphileをメディアサーバーにするための設定でしたが、レンダラーも指定できる、つまり「コントロールポイント」にもなるのですね。これにはびっくり。

音は、LightMPDの音ですが、何となくDaphileっぽさが加味されていい感じです。



2019年7月13日土曜日

Daphileのメディアサーバー化

最近、LightMPDユーザーの方々の間で、Daphileをメディアサーバー化して、LightMPDで聴くというのが密かにブームとなっているようです。みみず工房のyoさんのブログと、その掲示板に書かれたとんぼのめがねさんの投稿を参考にさせていただきました。ありがとうございます。

みみず工房のyoさんは、一般的なDLNAではデータを一気に送信するが、squeezu.boxでは定期的にすこしづつ送っているらしく、Jplayも同様の手法を使って高音質化を図っているとのことで、Daphileもこの手法を使うことで高音質化を図っているのかもしれないというようなことを言っておられます。

Daphileは、データに保存された全ての音があふれんばかりに飛び出してくる鮮烈な音で、従来の再生ソフトとは一線を画す音です。私はDaphileのみのこの鮮烈な音が聴いて気持ち良くて好きです。

LightMPD+Daphileサーバーの音は、この鮮烈な音を少し上品に聴きやすくした感じで、Daphileの良さを最大限に残し暴れ馬をコントロールしている感じです。これはこれでありですね。

LightMPDをタンデムにしてLightMPDをフロントに、エンドに別のMPDを立てるともっと良くなるのかもしれませんが、LightMPDスタンドアローンでも十分な高音質だと思います。

注意:私の環境で、Daphileサーバーは、WAVがコントロールポイントにLPCMと表示され再生されません。MinimServerだとWAVはちゃんとWAVと表示され再生もできます。原因究明中です。

Daphileのサーバー化

Daphileの中に既に用意されているpluginをインストールすればOKです。

メニューのsettingsの一番下にある「Advanced Media Server Settings」をクリックします。

「Plugin」タブを選びます。
「Active Plugins」「InactivePlugins」「3rd party Plugins」があり、中には沢山のPluginが用意されています。

「InactivePlugins」の中の「UPnP/DLNA Media Interface」をチェックし「Apply」を押します。

「Restart now」をクリックします。

次に、「3rd party Plugins」から「UPnP/DLNA bridge」をチェックし「Apply」をクリックします。

OKを押します。

「UPnP/DLNA bridge」のアップデート画面が出てくるのでチェックして「Apply」をクリックします。

すると、チェックした2つのPluginが「Active Plugins」の中に現れます。「UPnP/DLNA bridge」の「settings」をクリックします。

「Start the Bridge」にチェックを入れます。
「Select Binary」で「squeez2upnp-x86-64-static」 を選びます。

「Restart」をクリックします。

 下の画面に変わるので、「UPnP player audio capabilitys」の「Max sample rate」を「192000」にし、「Apply」をクリックします。Maxが192KHzなので384KHzや768KHzは再生できないと思われます。

以上で、DaphileがDLNA化されてメディアサーバーになり、コントロールポイントに「Daphileサーバー」として表示されます。

以下は、レンダラーにLightMPD/upnpgw メディアサーバーに「Daphileサーバー」を選択して再生している画面です。もちろんiPdのコントロールポイントでも表示されます。


LightMPDを使っていた人達には、Daphileサーバーを使うだけで高音が向上するなら大きな恩恵でしょう。

さて、通常のメディアサーバーは、Linux等のPCと内蔵ストレージで構成されたNASです。楽曲は内蔵のストレージに保存されています。PCにメディアサーバーソフトが仕込まれていて、サーバーとしての機能を果たしています。例えばMinimServerならNASのLinuxの中にソフトがインストールされNASの楽曲をサーバーとして提供しています。Daphileサーバーも内臓ストレージに保存してある楽曲データを使えば、通常のメディアサーバーとなります。
ところが、Daphileサーバーは、ネットワーク上の別のNASの楽曲データをライブラリーとして取り込むことができるので、Daphileサーバーとして、ネットワーク上の別のNASの楽曲データを自身の楽曲データのように提供することができます。

注意! 未解決問題あり
何の問題もないと言いたいところでしたが、長時間再生しているといつの間にか「Daphileサーバー」が画面から消えてしまいます。今のところ原因がわかりません。

また、なぜかWAVが再生されません。よく見るとWAVなのにLPCMと表示されています(WAVはLPCMなので問題ないようにも思いますが)。FLACやDSDは問題なく表示され再生されます。MinimServerから同じ楽曲を再生するとWAVと表示され問題なく再生されます。何が違うのでしょう。デコーダーでしょうか。SDカードが問題なのか、インテルCPUでないAPU1が問題なのか、設定の問題なのか、これから調べてみます。


LightMPD(upnpgw)を スタンドアローンで

ハイエンドを中心に、未だにPCオーディオがとっつきにくいという理由で、レコードにCDという方がとても多いことに驚いてからというもの、マニア向けの難解で複雑なものは止めて、誰でも簡単にできるものを中心に紹介しています。もちろん音は高音質でなければなりません。

JPLAYデュアルや、LightMPDタンデムなどは、他の方々にお任せして、出来得る限りスタンドアローンでできるネットワークオーディオが中心です。

ということで、久し振りに「LightMPD」を聴いてみました。ただし、タンデムではなくスタンドアローンです。以前より断然いい音になっていますね。デジファイの音さん、素晴らしいソフトを提供していただき本当にありがとうございます。

lighrMPDはデジファイの音さんが開発されたMPD音楽再生ソフトです。upnpgwは、通常のLightMPDをupnpのネットワークオーディオ対応にするものです。

LightMPDをUPNPレンダラーにするのがlightMPD/upnpgwで、upmpdcliというプログラムを使ってMPDをUPNPレンダラーにしています。

それでは、「LightMPD / upnpgw」のインストールと設定の仕方を紹介します。

スタンドアローンのLightMPD UPNPレンダラーの構築
https://sites.google.com/site/digififan/home/digifi-labo/lightmpd-upnpgw
こちらをよく読んでからインストールしてください。

インストールと設定

●作業環境
・全作業を、WindowsPC上でSDカードを使って行います。
・圧縮ファイルの解凍には7-Zipを使うと便利です。
・必要なファイルはデジファイの音さんのブログからダウンロードしてください。
https://sites.google.com/site/digififan/home/digifi-labo/lightmpd-upnpgw

●必要なもの
・SDカード 4GB

・PC    作業用PC WindowsPC   
       再生に使用するPC
                   APU1(生産終了なので流通在庫のみと思われます)
                     APU2 (まだ生産しているようです、PC ENGINEの業務用PC)
       (インストール作業には一切使用しません)
        *当方は、APU1(apu.1c)を使用しています。

・BOOTイメージファイル
  apuboot4g.img.xz  (4Gbyte用のイメージ、解凍後のサイズ: 849.0Bbyte)
    解凍した中身

・パッケージ
  ダウンロードして解凍しておきます。
  apu1  lightmpd-upnpgw-apu1-v1.0.0.zip
  apu2  lightmpd-upnpgw-apu2-v1.0.0.zip
    解凍した中身
      

・rootイメージ
  ダウンロードして解凍しておきます。
  upnpgw-initrd-20170428.zip
    解凍した中身     

●SDカードのフォーマット
「SDFormatter」などでSDカードをフォーマットします。その際、SDカートにボリュームラベルを付けてください。名前は自分が分かり易いように好きに付けて結構です。


●BOOTイメージの書き込み
DDWINで、BOOTイメージを書きみます。書き込み終了したら、一度取り外して再度装着します。

●パッケージの上書きコピー
次に、上記SDカードをエクスプローラーで開いて、パッケージを解凍した中身の2つのフォルダーを上書きコピーします。


●rootイメージの上書きコピー
bootフォルダーの中に、すでに同じ名前のファイルがあるので、上書きコピーします。


●munu.lstの編集
boot/grubの中に、menu.lst があるので、これをメモ帳などで開いて、一番下のlightmpd.bootdevに、フォーマットした時に付けたボリュームラベルの名前を指定します。

●lightmpd.confの編集
lightmpdフォルダーの中に、lightmpd.confがありますがこれは使わないので削除するか別のフォルダーに退避しておきます。

次に、confフォルダーの中にある「lightmpd.conf-standalone」というファイルをコピーして持ってきます。ファイル名を「lightmpd.conf」に変更し、元からあったlightmpd.confと置き換えます。

置き換えた「lightmpd.conf」をメモ帳などで開き、自分の環境に合うように書き換えます。といっても、書き換えるのは[network]のIPアドレスの部分だけです。後は、そのままでOKです。書き換えたら上書き保存しておきます。

・IPアドレスの設定
使用するネットワークに合わせて書き換えます。一般的には、DHCP機能を使って、ルータから自動的にIPアドレスを割り振ってもらうのですが、ここではDHCpを使わずに自分で固定的にIPアドレスを決めます。2~254まで好きな数値を津得ますが、ネットワーク上の他の機器で使われていない数値を選ぶ必要があります。例えば、10が空いていれば、下記のように10を書きこみます。

・ネットワークアドレスの変更
上記の例は、ネットワークアドレスが、0の場合です。IPアドレスの上から3番目の数値がネットワークアドレスです。これは使用しているルーターによって違っており、0、1、2などが良く使われます。自分のPCのIPアドレスを調べて、その3番目の数値を見るとネットワークアドレスが分かります。自分のネットワークに合わせて変更してください。
参考にですが、[upmpdcli]に書かれている「UpLightMpd」という名前が、コントロールポンとに現れる名前となります。


●mpd.confの編集
lightmpdフォルダーの中に「mpd.conf」があるので、これをメモ帳で開きます。書き換えたら上書き保存しておきます。

dsd-native再生するために、adio_outputを以下のように書き換えます

audio_output {
        type            "alsa"
        name            "uda"
        device          "hw:0,0"
        priority        "FIFO:54"
mixer_type      "disabled"
# dsd_usb          "yes"
dsd_native              "yes"
dsd_native_type         "2"
buffer_time      "150000"
period_time      "37500"
}

また、mpdをUPnPレンダラーとして使用するために、inputを以下のように書き換えます(そのとおりであれば書き換えなくてもOKです)。

input {
      plugin "curl"
      proxy                     "127.0.0.1:8123"
}      

以上でインストールと設定は終わりです。

APUにSDカードを挿し込み、LANケーブルをHUBに、USBケーブルをDACに繋ぎ、電源を入れると起動します。ネットワーク上のコントロールポイントを使って再生します。


コントロールポイントを立ち上げます。レンダラーとして、LightMPDがしっかりと認識されています。[upmpdcli]に書かれていた「UpLightMpd」を選びます。

PC上のAudionetRCPから


iPadのiPengから

いやあ、素晴らしい音です。Daphileと引けを取らないかもしれません。ただし、楽曲(メディアサーバー)は、MinimServerより、Daphileサーバーの方が格段に音が良いです。Daphile恐るべしです。

みみず工房のyoさんが、Daphileサーバーを絶賛しておられる理由が分かりました。LightMPDユーザーの方にとっては、サーバーにDaphileを使うだけで高音質化が図れるのですから、DaphileをDLNA化するのも当然かと思います。

とはいっても、Daphileをそのまま使えば、それだけで素晴らしい音です。


2016年11月6日日曜日

JPLAYとLightmpdを使い分ける

現在の我が家のネットワークオーディオ構成図
メインPCにLANボードを2枚追加して3LANにし、以下のように使い分けている。

 eth3(192.168.11) - ホームネットワーク

 eth4(192.168.3) - LightMPD

 eth5(192.168.2) - JPLAY

これでネットワークが混乱することなく、JPLAYとLightMPDを使い分けられる。

USBだけは繋ぎ変えが必要。


2016年11月5日土曜日

kazooがlightmpd/upnpに対応!


Mac版がアップデートしていたのでWindows版もそろそろかろ思っていたら、今日、KAZOOを起動するとアップデートがあると表示あり。早速、アップデートしてみると、すんなり「LightMPD/UPNP」を認識してくれて、再生もできた。





2016年11月3日木曜日

UPnPアダプター apu1+Raspi2


  
UPnPアダプターのレンダラーをRaspi2に変えてみた。apu1と変わらぬいい感じ。

JPLAYをメインにしてからは、全く出番のないRaspiであったが、ようやく出番が来た。これが使えれば、apuを2台用意しなくてもいいのでより安上がりだ。

2016年10月30日日曜日

UPnPアダプターの設定

設定は「デジファイのおと」のHPに詳しく紹介されているのでそれを参照にしていただくことにして、ここでは自分の備忘録として設定を残しておく。


UPNPアダプター図  「デジファイのおと」のHPより



1. Upnpアダプター側のSDカード

eth0  192.168.2.1
eth1   10.0.0.1



lightmpd.conf

#
#     lightmpd.conf-upnpgw
#
#
[network]
        interface=eth0
        address=192.168.2.1
        gateway=192.168.0.0
        netmask=255.255.255.0
        nameserver=192.168.0.0
        domain=mydomain.jp

[ntp]
        server=192.168.0.0
        ntpd=no
        timezone=Asia/Tokyo

[network:player]
        interface=eth1
        address=10.0.0.1
        netmask=255.255.255.252

[cpuaffinity]
        type=0

[irqpriority]
        setdefault=no

[telnetd]
#  yes | no
        enable=yes
        port=23

[upmpdcli]
        enable=yes
        upnpiface = eth0
        mpdhost=10.0.0.2
        mpdport=6600
        friendlyname=UpLightMpd
        ohproductroom=UpLightMpd
        openhome = 1
        ohmetapersist = 1
        logfilename=/var/log/upmpdcli.log
        loglevel = 3

[polipo]
        enable=yes
#
        proxyAddress = 0.0.0.0
        allowedClients = 10.0.0.2
#
        chunkHighMark = 1024
        chunkLowMark = 256
        chunkCriticalMark = 768
        objectHighMark = 2048
#
        dnsQueryIPv6 = no
        cacheIsShared = false
        dnsUseGethostbyname = yes
        disableConfiguration = true
        disableIndexing = true
        disableLocalInterface = true

[nat]
        masquerade=network:player
        dnsforwarding=yes
        ntpforwarding=yes
        8023=10.0.0.2:23




2.プレーヤー側のSDカード

eth0  10.0.0.2



lightmpd.conf

#
#
[network]
interface=eth0
address=10.0.0.2
netmask=255.255.255.252
gateway=10.0.0.1
nameserver=192.168.0.0
domain=mydomain.jp

[ntp]
server=192.168.0.0
ntpd=no
timezone=Asia/Tokyo

[nas:NASID1]
type=nfs
host=nashost1
remotedir=audio_data
proto=tcp
rsize=65536
wsize=65536

#[nas:NASID2]
# type=cifs
# host=nashost2
# remotedir=audio_data
# remoteuser=usrid
# remotepass=passwd
# iocharset=utf8
#       file_mode=0644
#       dir_mode=0755
#       rsize=61440
#       wsize=65536

[mpd]
load_module=mpd-0.19.14rt-native-dsd
music_directory=NASID1/Music
playlist_directory=NASID1/mpd/playlists
db_file=NASID1/mpd/tag_cache
sticker_file=NASID1/mpd/sticker.sql
# log_file=NASID1/mpd/mpd.log
log_file=/dev/null

[httpd]
#  yes | no
enable=yes
port=80

[telnetd]
#  yes | no
enable=yes
port=23

[ympd]
#  yes | no
enable=no
webport=8080
mpdport=6600

[webconsole]
#  yes | no
#  start page:   http://thishost:${port}/index.html
enable=yes
port=9000

[cpuaffinity]
#  0   normal
#  1   cpu1:  usb irq handler
        type=1

[debug]
interfaces=yes
resolvconf=yes
ntpd=yes
ntpconf=yes
ifconfig=yes
cards=yes
mounts=yes
ps=yes
mpdversion=yes
date=yes
ntpq=yes
music=yes
messages=yes
save=no



mpd.conf

#
#
realtime_option {
    memlock               "yes"
    stack_reserve         "2048"
    heap_reserve         "10240"
    main_priority         "OTHER:0"
    player_priority       "FIFO:53"
    decoder_priority     "OTHER:0"
    update_priority       "OTHER:0"
}

audio_output {
        type             "alsa"
        name             "uda"
        device           "hw:0,0"
        priority         "FIFO:54"
mixer_type       "disabled"
# dsd_usb         "yes"
# dsd_native              "yes"
# dsd_native_type         "2"
native_dsd        "yes"
    native_dsd_type "3"

buffer_time     "150000"
period_time     "37500"
}

###### decoder selector
# decoder_selector {
#    suffix                       "mp3"
#    plugin                       "mad"
# }

# decoder_selector {
#    suffix                       "m4a"
#    plugin                       "ffmpeg"
# }

# decoder_selector {
#    suffix                       "wav"
#    plugin                       "audiofile"
#    scan_plugin                  "ffmpeg"
# }

# decoder_selector {
#    suffix                       "flac"
#    plugin                       "flac"
# }

database {
   plugin "simple"
   path "/var/lib/mpd/tag_cache"
   compress "no"
}

#
music_directory "/var/lib/mpd/Music"
playlist_directory "/var/lib/mpd/playlists"
#sticker_file             "/var/lib/mpd/sticker.sql"
log_file "/var/lib/mpd/mpd.log"
pid_file "/var/run/mpd.pid"
state_file "/var/lib/mpd/state"

user "root"
group                   "root"

bind_to_address "any"
port "6600"

#
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
metadata_to_use "artist,album,title,track,genre,date,disc"

#audio_output_format "96000:24:2"
#
# extended audio format
#audio_output_format "X4L4:24:2"

#LIBSAMPLERATE
#samplerate_converter            "Best Sinc Interpolator"
#samplearte_converter            "Medium Sinc Interpolator"
#samplearte_converter            "Fastest Sinc Interpolator"
#samplearte_converter            "ZOHc Interpolator"
#samplearte_converter            "Linear Sinc Interpolator"
#samplearte_converter            "internal"

# SOXR
samplerate_converter            "soxr very high"
#samplerate_converter            "soxr high"
#samplerate_converter            "soxr medium"
#samplerate_converter            "soxr low"
#samplerate_converter            "soxr quick"
#
#samplerate_converter            "soxr very high openmp"
#samplerate_converter            "soxr high openmp"
#samplerate_converter            "soxr medium openmp"
#samplerate_converter            "soxr low openmp"
#samplerate_converter            "soxr quick openmp"


follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
default_permissions     "read,add,control,admin"
#
mixer_type "disabled"
#
audio_buffer_size "2048"
buffer_before_play "20%"
#
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
input {
    plugin     "curl"
    proxy      "10.0.0.1:8123"
}


2016年10月29日土曜日

UPNPアダプター+JRIVER

Kinskyはどうにも使い勝手が悪いので、JRIVERが使えないかやってみたところ簡単に使えた。

メニューのツールーオプションで設定するゾーンに「プレイヤー」と「UpLightMPD」が見える。ここで「UpLightMPD」を選ぶだけだ。



UpLightMpdで再生できていることがわかる。これで使い勝手も文句なしに改善した。

ついでに、Kinskyでは、DSD選択時に「ブツッ」というポップノイズがあったが、JRIVERでは全くでなった。DSDが気持ちよく聴けるおまけつき。


音質の比較

LightMPD UNPNアダプター
 とにかくノイズがなく静か。広がりや臨場感もありクリアで解像度が高い引き締まった音だ。高域から低域までよく出ている。ややハイ上がりの印象。PCオーディオの優等生といった感じ。

JPAYStreamer
 LightMPDと同様の音質だが、ハイ上がりではなく、太く力強い落ち着いた音でどこか心に沁みるほっとする音。

どっちが良いかは好みの問題。

2016年10月27日木曜日

UPnPアダプターを試す

その前に、公平の為に、「スタンドアローンのUPnPレンダラー」のネットワークをホームネットワークから切り離して試してみることにした。これでJPLAYと同じ構成となる。

これだと「UPnPアダプター」の、わざわざ apu1 をもう一台置いてネットワークを切り離す必要はないような気もするが、まずは、やってみよう。


やってみた。多少は改善された感じはするが、まだどこか騒がしく耳につく感じが残る。JPLAYほど気持ちよく心に沁みてこない。



UNPNアダプターを試してみるか。


*USB-DACとの接続が間違っていました。以前の図はUPnPアダプターと接続になっていましたが、正しくは上の図の通りUPnPレンダラーと接続します。





おおお、全然変わった! まず騒がしさや耳につく感じがなくなり音が太く力強くなった。随分変わるものだ。JPLAYにかなり近づいた感じだ。これならメインの再生環境として使える。

うーん。これまでのMPDとは一線を画す音質だ。しばらくいろいろ聴いてみることにする。

lightmpdとJPLAY比較

lightmpdとJplayStreamerの切り替えはとても簡単にできる。Roomsでどちらかを選ぶだけだ。




音の比較。lightmpdはクリアで悪くないが何となく落ち着かない感じがする。一方、JPLAYStreamerは、ストンと腑に落ちる音、気持ちよく入ってくる音だ。うーん、apu1はもっと良いと思ったが、3. UPNPアダプターを試してみるか。


(追記)その前に、「 スタンドアローンのUPnPレンダラー」のネットワークをJPLAYと同じようにホームネットワークから切離して見ようと思う。