• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

なかるうのブログ一覧

2021年05月16日 イイね!

直結ネットワークオーディオ(概念実証編)

直結ネットワークオーディオ(概念実証編)どうも、半年ぶりのブログです。更新の少ないこんなところに見にきてくれて、ありがとうございます。

ここ2年ほどはネットワークオーディオに取り組んでいます。PV数を見る限り結構人気のこのシリーズ、今回はちょっとマニアックなところを攻めます。






自分のネットワークオーディオはこんな構成で始めました。
alt
ラズベリーパイ(3B)のサーバー
ネットワークオーディオ自作(1) MinimServer
APU.2D4のレンダラー
ネットワークオーディオ自作(2) lightMPD
を製作しました。スマホからコントロールする、コンパクトなDLNA/UPnP/OpenHome対応システムです。

こんな風に車載しました。
ネットワークオーディオ車載
alt
モバイルルーター Aterm MR04LN(NEC)
スイッチングハブ LSW-TX-3EP/CUW(BUFFALO)

その後、レンダラーをAPUからPCに
ネットワークオーディオ自作(7) lightMPDをPCで(番外編)
サーバーはUPSを変更して12V電源化、アプリをMinimServer2へ
ネットワークオーディオ自作(8) ラズパイサーバーを改良する
と更新しています。PCを車載するため安定化電源も追加しました。
PC用安定化電源(遅延起動対応)


音源を自前で用意するセルフ再生としては、機能的にはこれで満足。音質的にもそれまでのAndroid端末やDAPより改善しましたが、ネットワークオーディオにふさわしい音質改善方法は何かないものか、と探ってみました。


オーディオ用ネットワークの分離
alt
オーディオ用ネットワークを他と分離するために、図のルーター2(数千円で購入できるトラベルルーター)を追加しました。詳しくはこちら。
ネットワークオーディオ用ネットワークの分離
こんなことで音質が上がる、てゆうか「落ちなくなる」んですよ。ネットワークにつながっている機器が多いほど効果を実感できると思います。

これで完成だな、と整備手帳を上げて悦に入っていたところ、
「追加ルーターはラズパイでできるのでは?」
「ついでにHUBも無くせるんじゃね?」

とのレビューコメント(意訳)を頂きました。

ぐぬぬ・・・その手があったか!
ネットワークに欠かせない、というか「あって当たり前」のHUBを無くしてしまうというのは、相当にアグレッシブな発想です。コメントではストレートマフラーに例えられていたのが言い得て妙だなぁと。世の中にはオーディオ用スイッチングHUB(!)なんてのがある位なので、良いか悪いかはともかく音質への影響があるはずと直管、いや直感しました。
高級ケーブルとかも否定はしません(むしろ好物です)が、もっと根本的な、原理的なところに手を入れる、そんなアプローチでオーディオをやってみたかった!のです。
それに、ラズパイがあればサーバーもルーターもHUBも要らないなんて、今ネットワークオーディオで商売しているメーカーさんは・・・やらないよね。


システムプラン

まずはイメージから。
alt
サーバーとなっているラズパイにソフトウェアルーターを追加し、
・モバイルルーターに対する子機 と
・スマホに対する親機
の2つの役割を持たせます。ラズパイ・PC・スマホの3台でオーディオ専用ネットワークLAN2を構成します。ルーター機能によりセグメントを分ければ、上位のネットワークLAN1からLAN2に不要なブロードキャストパケットが流れ込むことはありません。さらにサーバーとレンダラーは対向接続のため他からのアナログ的なノイズ混入はゼロ、かつHUBによるバッファ(ストア&フォワード)動作もなく低レイテンシーです。

なお理解のためwlan0およびwlan1と分けて記載してあるWi-Fiは、実際にはラズパイの内蔵Wi-Fiだけで実現できます。
USBドングル型のアダプターを使用する場合も「デュアルモード」対応かつ同時動作可能な機種なら同じく1つでOKです。


OS導入

ラズパイのOSは今回もデスクトップレス版を使用します。
OSイメージ作成アプリのRaspberry Pi Imagerを公式サイトからダウンロード、Raspberry Pi OS Lite(32bit)を選択してmicroSDカードに書き込みます。
alt

ラズパイのコンソールとして、USBポートにキーボード、HDMIポートにモニター(TVでも可)を接続、microSDカードをセットして起動します。
LANポートには何もつなぎません。よって最初はインターネットが使えず、ローカルコンソールで設定してゆきます。


Wi-Fiネットワークに接続

OS標準の構成ツールで設定します。
(ログイン後、以下同じ)
$ sudo raspi-config 
alt

「System Options」から「Wireless LAN」を選択、初回は地域コードの設定を促されるので「JP」を選択後、接続するルーターのSSIDとパスワードを入力します。
「Localization Options」からタイムゾーンとキーボードも設定しておきます。日本語キーボードを使う場合、設定しないと「 | 」(パイプ記号)が入力できなかったりするので注意。

リブート後、Wi-Fiが有効になります。
$ ifconfig wlan0 
としてIPアドレスが割り振られていれば成功です。(起動時の画面にも表示されます。スマホアプリの Fing も便利。)
ここまででインターネットに接続できたので、OSを最新状態に更新しておきます。
$ sudo apt-get update 
$ sudo apt-get full-upgrade 
$ sudo reboot 


内蔵Wi-Fiアダプタの機能を調べてみました。
$ iw list | grep -A 4 "interface combinations" 
    valid interface combinations: 
        * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1, 
          total <= 3, #channels <= 2 
        *
#{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1, 
          total <= 4,
#channels <= 1 
managed はクライアント、APはアクセスポイントです。model 3B のラズパイでは、クライアントとアクセスポイントの同時動作は可能ですがチャンネル数は1、つまり同じチャンネルを共有するということ。速度は落ちるかもですが、DLNAのコントロール用なので大丈夫でしょう。


Wi-Fiルーター構築

さて肝心のネットワークをどうやって実現するか?いくつか試してみて、ここで解説されている方法がうまく動作したので紹介します。

StackExchange.com - Access point as WiFi router/repeater, optional with bridge

ステップ1. systemd-networkdのインストール
ステップ2. hostapdのインストール
ステップ3. wpa_supplicantの設定(クライアント)
ステップ4. インターフェースwlan0の設定
ステップ5. hostapdの設定(ブリッジ)
ステップ6. wpa_supplicantの設定(ブリッジ)
ステップ7. インターフェースbr0、eth0の設定

手順が多めですが、アレンジが必要なのはWi-Fiの設定とIPアドレスくらいで、ほとんど記事の通りにしていけば大丈夫です。

alt

設定後はこうなります。システムプラン通りです。
これでWi-Fiルーターとしての設定ができました。Wi-Fiのアクセスポイントにスマホなどを接続し、インターネットに抜けられることを確認します。


サーバーとレンダラーの対向接続

こちらは簡単。PC同士を(HUB同士も)直結する場合、本来LANケーブルにはクロスケーブルという特殊な結線のものを使います。しかしLANコントローラとOSが「AutoMDI/MDI-X」対応であれば通常のLANケーブルが使用可能です。

ラズパイとlightMPDのPCを接続し、Wi-Fi上のスマホから Fing などを使ってlightMPDが見えれば通信できています。

ストレートとクロスを間違えたり、HUBレスにしたからといって機器に電気的な過負荷がかかったり壊れたりすることはありません。普通に動くケースが多いと思います。


MinimServer2のインストールと設定

UPnP/DLNAサーバーのMinimServer2をインストールします。方法は以前のブログで紹介した通りなので省略します。
MinimWatchから設定できるプロパティに ohnet.subnet という項目があり、複数のネットワークがある場合にMinimServerが使用するネットワークを指定できるようになっています。今回の構成では192.168.13.0にすべきと思いますが、設定してもしなくても再生できていてよくわかりません。


動作確認と考察

UPS付きラズパイとLIVA Q2はクルマで運用中のため別システムを作って動作確認しました。
alt
ラズパイとPCを直結。PCはUSBメモリーからlightMPDを起動、つながっているDAPはUSB-DACの代わりです。ラズパイにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生しています。

改善と検討したい点がありますが、ひとまず完成とします。
(残課題とフォローアップに記載)

USB伝送におけるバルクペット、ネットワークオーディオのDirettaもそうで、データ伝送プロトコルによる音質改善は最新のデジタルオーディオでは割と見かけるようになりました。
クロック情報が含まれるS/PDIFと違って、USBやネットワークオーディオの伝送経路にはそこかしこに「非同期」が存在し、それを吸収するためのバッファ(メモリー)が必要です。
(非同期が悪ではなく、非同期と同期のどちらが音質的に有利かはケースバイケースなのでここでは触れません。)

大きなバッファを一気に満たすのか、小さなバッファをこまめに制御するのか。また、大きなパケットでドカンと送るのか、小さなパケットでちょろちょろ送るのか。非同期伝送にはシステムの数だけ送り方のバリエーションがあります。

エラーが発生しないよう適切に設計されている限り、送り方でデータが変わるわけではありません。しかしアナログ段への影響は(残念ながら)ゼロにはできず、伝送プロトコルによってその影響をコントロールしよう、ということなのでしょう。

さて音質的にはどんなもんでしょう。
HUBレス伝送によるレイテンシー削減は、ベルトドライブに対するダイレクトドライブのような音をもたらしてくれるのでしょうか。(んなバカな、いやそうとも言えんぞ・・・)
かつてはメーカーしかできなかったようなことが、1万円もしない手のひらサイズのコンピュータで試せるのは楽しいものです。


残課題

・Wi-Fiの制御系がどうにも頼りない感じ。再生時間表示がスキップしたり、アルバムアートの取得が遅かったり、一晩放っておくと接続が切れていたり。対する有線LANの再生系は盤石で、音飛びなど無く良い音で再生を続けてくれるので本腰を入れて改善したいと思います。

・UPnP版のlightMPDにはキャッシュがあり標準で有効になっています。HUBレスにしておいて、最後の最後に1曲まるごと格納できるようなバッファを設けるのはどうなんだろう。思想が合っていないような気もしたりしなかったり。

・あ、MTU値を最適化する宿題ももらってました。これも後日。


フォローアップ
(2012/5/27追記)
まずはよわよわなWi-Fiをなんとかしようと試みました。

1. パワーマネジメント機能の無効化
この対策は定番のようです。FAQにOFF推奨ってなっている機能って何よ?
$ sudo nano /etc/rc.local 
/sbin/iw dev wlan0 set power_save off
/sbin/iw dev ap@wlan0 set power_save off

$ sudo raspi-config 
System Optionsの「Wait for Network at Boot」を有効に

2. ACアダプターの容量アップ
3までのラズパイはmicroBのUSBコネクタで給電する仕様ですが3A近い電流を流すのはちょっと無理があり、ケーブルとコネクタの抵抗成分により電圧不足になりがちです。
コンソールに低電圧の警告「Under-voltage detected!」が出るような状態だと、ラズパイの内蔵Wi-Fiは性能が低下するようです。

以上の2つで多少改善しましたが、完全な解決には至らず。
あれれ、意外と手こずるぞ・・・今回は「概念実証編」ということにして、次回「実用化編」に続きます。
Posted at 2021/05/16 10:01:14 | コメント(2) | トラックバック(0) | オーディオ | クルマ
2020年11月22日 イイね!

Back to Digital

Back to Digital昨年から「ネットワークオーディオ車載!」なんて、一見新しそうなことをしてますけど、
「音質ならまだまだローカル再生だよな!」
ということで、自分で所有している音源を再生するという点ではネットオーディオも広義のローカル再生。昔からのオーディオ、大容量という意味でCDチェンジャーあたりと本質的には変わらないと思っています。

一方カーオーディオにも常時接続、サブスクの流れが来ていて、パイオニアのアレとかでアマプラなどストリーミング再生を楽しんでいる方もちらほらお見かけします。パラダイムシフトと言えるのはそっちだろうなぁと思いつつも旧来のスタイルにしがみついているおじさんです。
地方じゃ5Gどころか4Gさえつながらない道なんていくらでもありますし。




で、2020年ももうすぐ末。わが車のシステムはこうなりました。
alt

alt
前回までに製作した、このシステムを車載しました。

MinimServer2のラズパイは前回のブログ、UPS(無停電電源)のJuice4haltにより12V電源化してあるので、ACC電源で直接駆動できます。

lightMPDを動作させるPCは前々回のブログでご紹介、超小型のLIVA Q2を使いました。
助手席下に置いてみたところファンノイズは許容できそうだったので、他のファンレスPCよりも小型であるメリットを取りました。

PCはラズパイのUPSと違って車両の不安定な12Vには対応しておらず、安定化電源が必要です。オーディオ用リニア電源の
alt
UltraCap LPS-1.2(UpTone Audio)
で駆動・・・しようと思いましたが失敗しました(後述)。


再生系の信号の流れはこうです。
alt
自分のプロセッサーアンプではデジタル入力が48kHzまでの対応のため、44.1kHzと48kHzは無変換、ハイレゾやDSDの音源はlightMPDのソフトウェアで変換を行います。x86_64のCPUパワーを生かして高次の変換演算を行う、という考え方はPC版lightMPDの導入時に紹介した通り。

USB出力前に変換するので、ハイレゾを聴くためのアナログ接続もハードウェアSRCも不要となり、USB-DDCは専用機を使います。ホームオーディオで愛用していた
alt
Audiophilleo2
に再登板してもらいました。
電気喰いで、電源や信号品質に敏感で、ハイレゾ対応能力も今となっては万全とは言えない古参なれど、この音質はなかなか代えが無いのですよ。

USB-DDCは新製品が出なくなり、選定が難しくなってきています。AC電源のものを含めても選択肢は少なく、バスパワー動作で車載に使いやすく音質的にも満足できるものとなると本当に数えるほど。
試してみたい製品はありますが、Audiophilleo2後継のmk2が現役なので今のところこれで十分という気もしています。

接続を終えて動作確認です。
これまで使ってきたAT-HRD500(USBセルフパワーデバイス)のまま前段のサーバーとレンダラーを入れ替えたところまでは順調で、バスパワー動作のAudiophilleo2につなぎ替えたら問題発生。DSD再生時に動作が不安定、というかPCが再起動している感じになりました。これは電流不足だろうと、
alt
iDefender3.0(iFi Audio)
を入れてUSB電源を別供給としたところ安定しました。

リニア電源の定格が12V/1.1Aで約13W、バスパワーのUSB機器が最大2.5W(自分の場合はさらにアイソレータの分も追加)ほど消費するので、PCの消費電力の目標を10W以下としたのですが、LIVA Q2でlightMPDを動作させた時の最大値は11Wほど。わずかなオーバーですがダメでした。そもそも100%近い負荷を前提にした時点で計画ミス、ここは見直しを考えるとします。

しかし音質に関してはlightMPDのパラメータを調整していない現段階でも従来以上のものがあり、とりあえず運用開始しました。
何が良くなったかというと空間表現。オーケストラで言えばTpが上段奥の「あの辺」から聞こえてくる感じが出るようになり喜んでいます。従来はみんな「その辺」だったんですよ、伝わりますかね?
これは超低ジッターのDDC、Audiophilleo2のキャラクターなので期待していたところ。種明かしをすると、DDC専用機を使うためのソフトウェアSRCでありDSD/PCM変換でした、というわけです。


ここ数年ハイレゾとCDフォーマットをシームレスに聴くため、DACやSRC内蔵DDCを試してきました。音質的に決して悪くはない、というか十分楽しめるレベルではあるものの、それ以前の44.1kHz専用構成に届いていない部分もありモヤモヤと・・・
ん?デジャヴを感じて過去のブログを読み返してみれば、4年前に書いておりました。
何のことはない、CDフォーマットの音質を落とさずハイレゾも聴けるようにする(それも現システムではメリットを完全に活かせるわけでもない)のに4年もかかったということ。随分回り道をしたものです。
あのぉ、そろそろ本音言ってもいいですか・・・ハイレゾめんどくさいです・・・対応して実は音質落としてる人、結構いるんじゃないかしら・・・

今年はここまで。来年は何しよう?




(2020/12追記)個人用メモです。「USBのノイズ」とかいう一見ワケわからんワードが出てくるので個人用。
alt
まずはこの部分を何とかしないと。PCの電源にオーディオ用リニア電源を入れたのはUSBをローノイズにするためだったのにiDefenderで別供給にしたのでは意味がない・・・

改善案1【実施済】
alt
リニア電源の出力を5Vに変更し、USBの電源ラインに直接注入する。
PCの電源はAmazonでも買えるDC/DCコンバーターにしました。詳しくは整備手帳で。


改善案2
alt
USBアイソレータの7055にあるUSB電源専用端子を使って、絶縁後の電源をクリーンにする。リニア電源はトランクに移設。


改善案3
alt
USB-DDCをAudiophilleo2 mk2にするとS/PDIF出力段の電源をセパレート可能。本来PurePower用ですがUltraCapの5Vでも使えそうです。

下に行くほど音質的には有利と予想しています。2021年バージョンはこんなところから始めようか。
Posted at 2020/11/22 20:38:52 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2020年09月09日 イイね!

ネットワークオーディオ自作(8) ラズパイサーバーを改良する

ネットワークオーディオ自作(8) ラズパイサーバーを改良する最近ちょっとしたトレンドになった
「PSPのバッテリー、膨らんでませんか?」
の件。リチウムイオン電池にはつきもののこの現象、気持ちのいいものではないですよね。冷静に見れば
「寿命が誰でも見てわかる、優れた設計」
とも言えるのかもしれませんが、知らない間に進行するのは怖い。



これはゲーム機の問題というよりは、リチウムイオン電池が一時期に集中して販売された製品がたまたまPSPだった、ということでしょう。
老朽化した電池が問題を起こす時期に入ってきたとすれば要注意。携帯電話、モバイルバッテリー、デジカメ・・・皆さんも「不発弾」かかえてませんか?
使ってないリチウムイオン電池など、持っていて良いことなんてありません。さっさと処分おススメ。そういえばごみ回収車や処分場の火災事例もあります。燃えないゴミに出しちゃダメですよ。

こんな便利な(エネルギー密度の高い)ものは簡単に代えが効かないことはわかります。でも、中身はもちろん膨張を引き起こすガスも可燃性ですし、「電池」と、従来のそれと同じ呼び方をするには危険度のレベルが違う印象があります。

肌身離さず使用し数年で買い替える(=点検と回収のサイクルが確立している)スマホあたりはまだいいとして、カメラやDAPにまで採用するのはどうなんだろう。想定外が簡単に起きちゃうのが家電製品なわけで、そこまで普及させてよい技術と言えるのだろうか?と、そんな気がするのです。大変失礼ですがノーベル賞なんてもらっちゃって良かったの?

「押入れの奥に眠っていたお爺さんのカメラを復活!」なんてノスタルジーは今後はもう無理、逆に「爺ちゃんがこんなもの仕舞い込んでいたせいで・・・」と白い目で見られる時が来るとしたら悲しいことです。

導入部の話題にしては風呂敷を広げ過ぎました。何が言いたいかというと。

大電力を贅沢に使って高性能を追求するのも結構、でもメーカーなら保証期間過ぎたらどうなっても知らない、はねーだろと文句を一つ。
あと、乾電池で動く機械は10年後でも20年後でも使えるから好き!なので、低消費電力化の努力も続けてほしいなと、こちらはささやかな願いです。





さておきそんなわけで、自分ちの電池を総点検したところ、UPnP(DLNA)サーバーとして導入したラズベリーパイのUPS(無停電電源)のバッテリーがこんな事になっていました。
alt
これでも通電中より時間が経ってしぼんでいます。発見時はもっと「映える」絵面でしたよ。

リチウムイオン電池はそういうもの。1年で膨らんでしまうのは早い気もしますが、UPSの特性上常に満充電状態、しかもラズパイに温められて使われているので、電池にとって厳しい条件であることは確かです。クルマから降りるときはラズパイも持ち出すよう気を遣ってはいたのですけど・・・

面倒くさいコマンドを打ち込む必要もなく、エンジンを切ればラズパイを自動でシャットダウンしてくれるUPSは超便利で、自分には欠かせないアイテムとなっています。1年後同じことになるなら次からは半年でバッテリー交換するか?ちょっと面倒になってきたぞ・・・

いや違うな。パンパンに膨らんだ電池を見てしまった恐怖から、「脱リチウムイオン電池」活動をしたくなったというのが正直なところ。
ラズパイで使えるメンテナンスフリーなUPSを探してみました。

alt
Juice4halt J4H-HV-TRM (Nelectra)
4をforと読んで「ジュース・フォー・ホルト」といいます。電池の代わりにコンデンサ(スーパーキャパシタ)を使ったUPSです。キャパシタの取り付けがなんともDIYな感じ。
スロヴァキアのNelectra社が数年前にクラウドファンディングしていたもので、当時は残念ながら目標額に到達しなかったものの、くじけず販売にこぎ着けてくれたので入手してみました。
販売されているのは上のボードのみで、ラズパイやケースなどは別に用意します。

キャパシタによるバックアップ時間は長くても1分ほど。電源が落ちても動作させ続けることが目的の通常のUPSと異なり、電源が落ちたら安全に停止させることに特化した製品です。電池を使わないので発火・爆発の危険性が低く、広い使用温度範囲は車載にも適していると思います。

説明動画です。

電源を投入するとキャパシタに初期充電してからラズパイを起動、電源が落ちると自動でシャットダウンしてくれます。
この初期充電の時間は、車載時にはイグニッション時の瞬断対策として機能してくれるので具合が良いのです。


購入

製品は3モデルあり、いずれもNelectra社のWebサイトで購入できます。
・通常のラズパイと同じ5V電源を使用する「J4H-5V-USB」(動画はこれ)
・電源として7-28Vを入力可能な「J4H-HV-TRM」
・さらにRTCとRS-485通信を追加した「J4H-HV-TRM-RTC-485」

1号機の経験から、今回は2番目のHVモデルを調達。注文後PayPalで請求が届き、支払って3週間ほどで商品が到着しました。(連絡がなくちょっと不安になりましたが、問い合わせたら追跡番号を教えてくれました・・・)

電源は付属しないため別途必要です。自宅用に12VのACアダプター(前回までに購入したPCの付属品を流用)、車載用にはシガーソケットに接続するDCケーブルを用意しました。

(2020/10追記)後日測定したところ、12V入力での電流は初期充電時の0.8A程度が最高のようです。ラズパイ3は5V電源をUSBのmicroBコネクタに供給する形式ですが、microBでの規格上限に近い電流となるためUSBチャージャーで給電すると電源やケーブルにシビアだったりします。12V/1.5~2A程度のACアダプターなら容易に入手でき、車載時もアクセサリー電源を直接接続できるので非常に使いやすいです。


組立

UPSの取り付け自体は動画の通りラズパイに載せるだけで簡単です。
ケースには少しこだわってみました。

使ったことのある方はご存じと思いますが、ラズパイは放熱に無頓着だと簡単に性能低下(クロックダウン)を起こします。「ラズパイオーディオ」で画像検索すると基板むき出しの写真が多い理由には、DACなどを載せた時にうまく収められるケースが少ないことに加え熱の問題もあります。

以前のUPS PIcoを使ったサーバーもksyの公式プラケースに入れて(チップにヒートシンクは付けていましたが)密閉状態で使っていたところ、真夏の車内では動作が怪しくなることがあり、今回は放熱に有利なアルミケースを使います。熱だけ気にするならケース無しでファンでも付けた方が良いのですけど、見栄えも良くしたいので。

alt
CASE 01 (AVIOT)

オーディオ用で作りの良いケースです。ラズパイ本体より高価なちょっとした高級品。これ、画像で見える部分はトップの木を除き全部アルミの切削なんです。贅沢ですねぇ。
対応するラズパイのモデルは3Bで最新ではないものの、性能的にはMinimServerを動作させるに十分で、3B+や4より発熱が少ないのでかえって好都合。

DACを載せるスペースがありUPSも入りそうなこと、
アルミケースであること、
そしてこれも使えるかなと。
alt
ノイズ対策用に、ラズパイの基板とHATの間に取り付けるシールド板が付属します。今回DACを使うわけではなくシールドに意味があるかは不明ですが、分厚い銅板を放熱に利用している事例を見つけたのでアイデア拝借。

alt
クールスタッフ チューブタイプ(沖電線)

銅箔を絶縁膜で挟んだシート状の伝熱・放熱用部材です。発熱するICチップに貼り付けるだけでも放熱効果があり、さらに丸めてケースなどとの間に挟み込むことで熱を逃がすこともできます。
沖電線Webサイトのデータでは、ヒートシンク並みの性能があるようです。

alt
秋月で購入したクールスタッフの寸法は30x100mm。ざっと必要量を計算したところ1枚で足りそうです。

alt
ラズパイで特に発熱するICは、3Bの場合はCPU、LAN、メモリーの3つ。はさみでカットし、こんな感じに付属の両面テープで貼り付けました。銅板と接触する側には別に購入した熱伝導シートを載せています。裏面のメモリーチップも同様に処理し、こちらはケースの底面に接触させます。
クールスタッフの表面は絶縁されていますが、カットした端面は銅箔が露出するので周辺の部品と接触しないよう注意が必要です。

alt
シールド板とUPSの基板裏の部品が干渉するので、市販のスタッキングヘッダー(高さ8.5mm)を使ってかさ上げしました。スペーサーはM2.5x11mm。それでもまだ引っ掛かるキャパシタは、足をちょっと曲げてエッジプロテクタで養生しました。(これ以上かさ上げするとケースに入らない)

alt
ケースに収め、電源をUPS上の端子に接続します。自分は5.5mm x 2.1mmのDCジャックにしてみました。コードを引き出す部分のパネルが取り外せ、アルミ板なのでやすり等で簡単に加工できます。

ハードウェアはこれで完成。なかなかいい感じに仕上がりました。
ソフトウェアのインストールに移ります。


MinimServer2について

前回セットアップした時から1年経ち、OSもアプリも変化していますので、最新版として書き直します。

MinimServerはJavaベースのUPnP(DLNA)サーバーで、flacはもちろんDSDにも対応しています。タグやアルバムアートの処理が確実で、ナビゲーションツリー(「アルバム」とか「アーティスト」とか切り口を変えて一覧表示する、あれです。)の見せ方も実用的なもの。普通にありそうで実は数少ない「ちゃんとした」音楽サーバーアプリと言ってよいと思います。
WindowsやMacの他Linux版もありQNAPなどのNASやラズパイでも動作可能という、動作環境の幅広さも魅力です。

そのMinimServerが今回(Linux版は今月)バージョンアップしてMinimServer2となりました。機種別のインストール方法はこちら
新バージョンは機能限定の無償版(Starter Edition)と年間ライセンス制のフル機能版の2本立てで、通常の配信機能は無償版でカバーできます。
MinimStreamerによるトランスコード配信を行うためにはフル機能版が必要です。初年度のライセンス料は$39(3台まで利用可能)で、次年度からはディスカウントされるようです。この機能については最後に解説します。

ドネーションウェア(寄付歓迎)の旧バージョンも今のところダウンロード・利用可能ですが、今後アップデートは提供されずMinimStreamerもいずれ使用不可となるそうなので、あえて今から旧バージョンを入れる必要はないでしょう。
(2020/10追記)公式サイトから旧バージョンのダウンロードが消えました。旧MinimStreamerの利用期限は2021/1までとのことです。
(2021/2追記)旧MinimStreamerの利用期限が2021/3に延長されました。

(2021/4追記)旧MinimStreamerが利用期限を迎えました。今後MinimStreamerの機能を使うにはMinimServer2のライセンスが必要です。


準備作業1(PC側)

・楽曲ファイルの保存にはUSBストレージを使います。
alt
ポータブルSSD 480GB SSD-PL480U3-BK/N (バッファロー)
exFAT形式でフォーマットし(後で使うのでディスクラベルを控える)、楽曲ファイルを入れておきます。自分は
¥Music¥フォーマット¥アーティスト¥アルバム¥曲
としていますが、MinimServerはタグによるデータベース管理が基本なのでフォルダ構造は何でも構いません。MinimServerに限らず、ネットワークオーディオを楽しむならタグをきちんと入力することに全力を注ぎましょう。
参考:flacニヨル楽曲管理ノススメ
alt
楽曲ファイルの他、次のファイルもダウンロードして入れておきます。
MinimServer2(Linux ARM hard float版)
juice4haltの自動シャットダウン用スクリプト(7zは解凍しておく)

・MinimServerの状態監視と設定はPCから行えます。
PCにJavaおよびMinimWatch2をインストールしておきます。


OSのインストール

現在のラズパイ公式OSはRaspberry Pi OSです。前回インストール時のRaspbian StretchからRaspbian Busterをはさみ2代後となります。
OSイメージ作成には、専用アプリのRaspberry Pi Imagerが公式サイトで提供されているので利用してみます。
alt
Raspberry Pi OS (other)からデスクトップレスのLiteバージョンを選択し、microSDカードを作成します。
alt


準備作業2(ラズパイ側)

・最初だけラズパイをローカルで設定します。
alt
USBポートにキーボードを接続。
テレビとHDMIケーブルで接続。
家のルーターとLANケーブルで接続。(ネット接続が必要です)
SSDもつないでおきます。

・OSを書き込んだmicroSDカードをセット、電源を投入し、テレビとキーボードでログインします(pi/raspberry)。

・ラズパイに割り当てられたIPアドレスを調べます。
※現在のOSでは起動時の画面にIPアドレスが表示されますね。
$ ifconfig 
同一ネットワークにスマホがあれば、アプリのFingでも調べられます。

・設定ツールでブートパーティションをリサイズ、SSHを有効化。
$ sudo raspi-config 
alt
「Advanced Options」から「Expand Filesystem」
 ※リサイズは現在のOSでは自動で行われるようなので蛇足かも。
「Interfacing Options」から「SSH」→「Yes」
終了→リブートすると、以降の作業はPCから可能になります。
モニターやキーボードはここで外してしまっても大丈夫。


USBディスクを使えるようにする

・SSHでログイン
PCでターミナルアプリのPuTTYを起動。
alt
調べたIPアドレスに接続しログイン。
alt
「デスクトップレス」のOSですから、ここが全世界です。以降、コマンドとテキストエディタを駆使して設定してゆきます。

【2020/9追記】「自分もやってみよう」という方は、画面に表示されている通り最低でもパスワードを変更してください。原理的にNATで守られるIPv4と異なり、IPv6が通る環境では外部から直接SSHポートに侵入されるリスクがあります。
特にフレッツのIPoE契約でレンタルルーターをセキュリティレベル「標準」に設定している場合、フレッツIPv6網からのアクセスは拒否しない仕様(!)となっています。そこにデフォルトのユーザー名・パスワードでSSHポートを開くのは・・・
いったんSSHからラズパイに入られてしまえば、それを踏み台にしてPCのHDDやWebカメラを狙う位のことは可能ですし、実際企業では勝手に社内ネットワークにつながれたラズパイがセキュリティホールになった事例があります。
対策としては他にユーザー名やポート番号変更、証明書発行などが可能で、作業後はSSHを無効にしてしまえばより安心です。


・exFATファイルシステムをインストール。
$ sudo apt-get install exfat-fuse exfat-utils 

・接続したUSBディスクのIDを調べます。
$ sudo blkid 
表示されたリストからフォーマット時につけたラベルのある行を探します。「UUID」が必要な情報です。接続するUSBディスクにより変わるので、このIDを控えておきます。
/dev/sda1: LABEL="SSD-PLU3" UUID="C2C4-9374" TYPE="exfat" ...

・起動時にUSBディスクを自動マウントするように設定します。マウント名は任意。
$ sudo mkdir /mnt/usbhdd1 
$ cd /etc 
$ sudo cp fstab fstab.bak 
$ sudo nano fstab 
fstabファイルに設定を追加します。
UUID="C2C4-9374" /mnt/usbhdd1 exfat-fuse sync,auto,dev,exec,gid=65534,rw,uid=65534,noatime 0 0 
保存してエディタを終了。

・リブートしてUSBディスクにアクセスできることを確認します。
$ sudo reboot 
(起動待ち→ログイン後)
$ ls /mnt/usbhdd1 
ファイルが表示されればOK。

(2020/9追記)
fstabでマウントする場合、書式を間違えたりUSBを接続し忘れるとOSがエマージェンシーモードに入ってしまい起動できません。またUSBディスクを再フォーマットするとUUIDが変わることがあります。立ち上がらない場合はHDMIの画面で確認します。autofsを使って自動マウントさせる方法でも良いかも。


シャットダウン用スクリプトのインストール

UPSで自動シャットダウンさせるためのスクリプトをセットアップします。こちらの通りに設定します。
/home/piディレクトリ以下に、juice4halt/binディレクトリを作成し、スクリプトをコピーします。
$ cd /home/pi 
$ sudo mkdir juice4halt 
$ cd juice4halt 
$ sudo mkdir bin 
$ sudo cp /mnt/usbhdd1/shutdown_script /home/pi/juice4halt/bin 
$ sudo cp /mnt/usbhdd1/rebootj4h /home/pi/juice4halt/bin 
$ sudo nano /etc/rc.local 

rc.localファイルの最後、exit 0の手前に以下の1行を追加し、保存終了します。
/home/pi/juice4halt/bin/shutdown_script & 
スクリプトに実行権限を設定して完了。
$ cd /home/pi/juice4halt/bin 
$ sudo chmod 755 shutdown_script 
$ sudo chmod 755 rebootj4h 

もう一つのスクリプト、rebootj4hは標準のrebootコマンドの代わりに使用します。rebootコマンドで再起動した場合、その後の自動シャットダウンは無効となります。
$ sudo shutdown -h now 
ここでいったんシャットダウン、電源を切断・再投入し、動画のように機能することを確認しておきます。SSHではシャットダウンのプロセスを最後まで見ることができないためHDMIで確認します。


MinimServer2のインストール

UPnP(DLNA)サーバーのMinimServer2をインストールします。ラズパイ用のインストールガイドに従います。
引き続きSSHコンソールから
・javaをインストール(以前のRaspbian Stretchと変わっているので注意)
$ sudo apt install default-jdk 

・SSDに入れておいたMinimServerのインストールパッケージを/home/piディレクトリに展開します。
$ sudo cp /mnt/usbhdd1/MinimServer-2.0.15-linux-armhf.tar.gz /home/pi 
$ cd /home/pi 
$ tar xf MinimServer-2.0.15-linux-armhf.tar.gz 
(2020/9修正)tarはsudoで実行しない。

・MinimServerのセットアップ
$ minimserver/bin/setup 
デスクトップ統合→無効
自動スタートアップ→有効
※setupをsudoで実行すると自動スタートアップに失敗する。

・MinimServer起動
$ minimserver/bin/startc 
初回にライブラリの場所を聞かれるので入力する
(ここでは /mnt/usbhdd1/Music)
alt
ライブラリのスキャンが始まり、しばらく経って「MinimServer is running」と表示されれば起動完了。
alt
PCに同じ内容が通知され、MinimWatchのアイコンが緑色になります。

・自動起動に設定
このままだとターミナルを終了するとMinimServerも終了してしまうので、
以下の手順で自動起動に設定する。
>exit (MinimServerをいったん終了する)
$ minimserver/bin/startd 
起動後、リブートしてPCのタスクトレイにあるMinimWatchのアイコンが再度緑色になれば成功です。
$ sudo reboot 

この時点でflacなどは再生可能になっています。
ローカルレンダリングに対応した(=コントローラ兼レンダラーとなれる)スマホアプリのBubbleUpnpHi-Fi Castを使って動作確認します。
alt


MinimStreamerのインストール

MinimServerの特徴として、アドオンパッケージのMinimStreamerをインストールすることにより楽曲のコーデックをトランスコード(変換)して配信可能です。
通常ネットワークオーディオではflacやaacなどのデコードはレンダラーで行いますが、サーバー側でwavに変換して配信する使い方となります。メリットはレンダラーが対応しないフォーマットを再生できる他、音質面にもあるようです。
「flacとwavじゃデータは同じなんだから音が変わるはずないじゃん。」
と思うのが普通でしょうね。まぁ、興味ある方は体験してみてください。
DSDのDoP配信(DoPE)にも使用します。ただしlightMPDなどDoP出力が可能なレンダラーを使う場合サーバーからのDoP配信は不要です。

ということで、最初はMinimStreamer無しの無償版で使ってみて、トランスコード機能を試したくなったら30日間の試用ライセンス(無償)、必要となったらフル機能版のライセンスを購入すれば良いでしょう。ライセンスの移行は設定画面ででき、再インストールの必要はありません。

・ffmpegのインストール
コーデック群のffmpegを使えるようにしておきます。
再度SSHでログイン。
$ dpkg-query -W ffmpeg 
dpkg-query: no packages found matching ffmpeg 
↑入っていなかったのでインストールしました。
$ sudo apt-get update 
$ sudo apt-get install ffmpeg 
以前はラズパイ用のパッケージが無くソースコードからビルドする必要があったそうですが、今はapt-get一発で楽ちんです。ただし最初にupdateしておかないとエラーになりました。

・ライセンス認証
alt
ライセンスの設定はPCから行えます。MinimWatchのアイコンを右クリック→Configureでブラウザが開きます。
alt
ライセンス購入後メールで送られてくる認証コードを入力してアクティベートします。

・MinimStreamerのインストール
alt
アドオンパッケージもPCからインストールします。MinimWatchのアイコンを右クリック→Propertiesで設定画面を開き、Packagesのタブにあります。
alt
インストールが終わったらRelaunchで再起動。
alt
設定画面のSystemタブ、stream.converter以下の項目が増えます。
ffmpegを自動検出したことが、stream.converterで確認できます。
使用するレンダラーに応じてstream.transcodeに設定を記述します。画像は、flacなどの非DSD音源を全てwavに変換して配信する設定です。一方DSD音源はdsf/dff形式のまま配信し、レンダラー側でネイティブ(マーカーレス)・DoP・PCM変換を選択できるようにしています。
書式の説明はユーザーガイドにあります。
(2020/10/9修正)後述するネットラジオ用に、mp3とaacの変換設定を変更。ネットラジオを使わない場合はwav24またはwavで良いと思います。


以上で完成です。今回は見た目もちょっとオーディオ機器らしい、手のひらサーバーができました。
alt
前回製作した、超小型PC(LIVA Q2)によるlightMPDレンダラーとの組み合わせ。
ラズパイとPCをルーターに接続。PCにつながっているDAPはUSB-DACの代わりです。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリで再生します。

サーバー・レンダラーともにヘッドレス(モニター・キーボード不要)で運用でき、電源を入れたら勝手に立ち上がり、いつでも電源を落とせるので市販オーディオ機器と変わらない使い勝手です・・・いや起動時間があるので「変わらない」は盛り過ぎましたスンマセン。

スマホ用のコントロールアプリはこちらで紹介しています。

楽曲ファイルの入れ替えはシンプルに、サーバーの電源を落としSSDをPCに繋ぎ変えて行う仕様としています。ネットワークに不要なトラフィックを増やさない方が良いかなと思って、ファイル共有はあえて追加していません。
再スキャンは次回のサーバー起動時に自動で行われます。

ようやくサーバーとレンダラーの2020年版が揃ったので、涼しくなったら車載してみたいと思います。


(2020/9/13追記)
サーバーだけ一足先に車載し、ACCの12Vで無事動作確認できました。
ん?前より少し音質上がってる?なんで?サーバーだよ?
アプリ・OS・ケース・電源が変わったので、どれが原因かわからん・・・


(2020/9/20追記)
CPU温度のモニタリングソフト「s-tui」を使って冷却性能を検証してみました。
以前のサーバーで1時間ほど連続再生した後の状態です。気温はおよそ27℃。
(RPi3B, UPS PIco, ksyプラケース密閉, CPUヒートシンクあり, MinimServerトランスコードなし)
alt

今回のサーバーではこうなりました。
(RPi3B, Juice4halt, case 01密閉, シールド版+クールスタッフ, MinimServerトランスコードあり)
alt
10℃ほど下がっています。自然空冷の密閉ケースにしては上出来かと。

lightMPDのUPnPモードの場合キャッシュが機能し、楽曲にもよりますが16bit/44.1kHzの音源などは1曲まるごとキャッシング可能です。そのためサーバーの負荷は曲の切り替わり後数秒~数10秒間だけ高くなり、その後ほぼアイドル状態となります。画像のグラフでクロックが上がっているのが選曲のタイミングです。
以前のサーバーでは「高温時に動作が怪しく」と書きましたが、高レートのハイレゾ音源を次々スキップしている時などは高負荷状態が続くので、温度上昇によるスロットリング(クロック低下)が起きていたのかもしれません。


(2020/10/9追記)
MinimStreamerにはトランスコード以外にも便利な機能があるので紹介します。
楽曲ファイルのフォルダに、こんな感じの.m3u8ファイル(テキスト)を作成します。ファイル名・フォルダ名は任意です。
alt
.m3u8ファイルの例です。文字コードはUTF8(BOM無し)、改行コードはLFです。
※通常プレイリストの拡張子はm3uですが、MinimServerではm3uの文字コードはANSI(ShiftJIS)で日本語が文字化けするので、m3u8として作成します。

#EXTM3U
#EXTINF:-1,[NHKR1TK] NHK R1 東京
http://nhkradioakr1-i.akamaihd.net/hls/live/511633/1-r1/1-r1-01.m3u8
#EXTINF:-1,[NHKR2TK] NHK R2 東京
http://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8
#EXTINF:-1,[NHKFMTK] NHK FM 東京
http://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8


UPnPコントロールアプリからプレイリストを選択すると再生が始まります。
普通のネットラジオ用プレイリストと異なるのは#EXTINF行の [ ] で囲まれた部分で、これがあるとストリームがMinimStreamerにルーティングされます。MinimServerがネットラジオの代理サーバーとなるわけです。書式はこちら
MinimStreamerはHLS(HTTP Live Streaming)やMPEG-DASH(Dynamic Adaptive Streaming over HTTP)といった比較的新しいストリーミングプロトコルにも対応しています。MinimStreamerがプロトコル変換を行ってくれるので、HLSやDASHに対応しないプレーヤー・レンダラーでも聴けるようになります。
さらに指定してあればトランスコードも同時に行われます。レンダラーとしてlightMPDを使う場合プロトコル変換やトランスコード無しでも再生可能ですが、数時間ほど連続してラジオを再生させるとコントロールアプリに応答しなくなることがありました。MinimStreamerを通してLPCMに変換させることにより、24時間でも安定動作するようになりました。
なお例として挙げたNHKネットラジオはURLが不定期に変わるので、上の例で受信できないときは最新のものを調べてください。




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
関連情報URL : https://minimserver.com/
Posted at 2020/09/09 03:16:03 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2020年08月22日 イイね!

ネットワークオーディオ自作(7) lightMPDをPCで(番外編)

ネットワークオーディオ自作(7) lightMPDをPCで(番外編)PC探しは「リベンジ編その2」で完了のつもりでしたが・・・もう1台試したくなり追加です。
「趣味とは手段が目的となること」とは、かの長岡鉄男氏(オーディオが熱かった時代のAV評論家)の言葉。ちっちゃいPC集めも趣味ですね。
そういえばHP200LXとかThinkPad220、librettoは30にU100も持ってたなぁ。200LXは手放したことを今でも後悔していたり。あれは良いものです。




前回との違いは機種だけですので、比較し易いよう同じ構成で書きます。

我が車にネットワークオーディオを導入して1年が過ぎました。ラズパイのサーバーとAPUのレンダラー、USB-DACのシステムで安定稼働しています。
今回は遅ればせながら、高音質と評判のPC版lightMPD(lightMPD x86_64版)を試してみました。
lightMPDについては2019年6月のブログ「ネットワークオーディオ自作(2)」をご覧ください。


【共通】音質のために高速CPUを使う意味

ネットワークオーディオも専用ハードやラズベリーパイのような低消費電力の機器で実現できるようになり、PCでなければ出来ないことは減ってきました。個人的にはいわゆる「PCオーディオ」はもはや主流ではないと思っていました。
ノイズ発生源のようなPCを今さらなぜオーディオに持ち込むのか。使い勝手だけでなく、実は音質面でも理由があります。ここは説明しておく必要があるでしょう。

lightMPDは当初ARM版からスタートしており、現在もラズパイなどシングルボードコンピュータ(SBC)で動作可能です。
音源ファイルのフォーマットをそのままビットパーフェクトにDACへ送出する場合、SBCの比較的控えめなCPUパワーでも十分です。

PC並みの演算能力が必要となるのは、サンプリングレート変換やDSD to PCM変換を行う場合で、FIRフィルターのパラメータ設定によってはSBCでは能力不足となり処理落ち=音切れが発生します。

公式サイトで作者さんがDSDを題材に解説していらっしゃいますが、SBCとしては比較的パワフルなAPUでも間に合わないようなフィルター処理を行うためにx86_64版を開発したとのこと。
DACの中で実行していた処理をソフトウェアで肩代わりする、しかも小さなシリコンでは不可能な複雑な処理に置き換えるというのは、大げさなCPUをオーディオに使う理由として納得できるものです。興味のある方はぜひ読んでみてください。
ビットパーフェクトがベストとは限らない、かもしれませんよ。まさか4回も言うことになるとは。


【共通】システムプラン

以下はこれまでAPU2で構成していたシステムでの信号の流れです。
ハイレゾ音源はUSB-DAC/DDCのAT-HRD500まではネイティブ伝送とし、同軸デジタルはHRD500の内蔵サンプリングレートコンバーター(SRC)で48kHzに変換、アナログはハイレゾのままプロセッサーに入力していました。
alt

今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
alt
退化してないかって?さぁどうでしょw

最終段のプロセッサーで44.1/48kHz処理になる自分のシステムでは、ハイレゾを持ち込むためCDフォーマットの処理に余計なプロセスが入っていました。44.1kHz専用にしてしまえばすっきりするのですが、今どきハイレゾ音源を聴けないのもちと辛い。システム内にサンプリングレート変換があるなら、そこにはフィルタリング処理があるはずで、ソフトウェア化による音質向上の余地があるのでは?と考えました。
設定ファイルの記述だけで上限を96kHzや192kHzにすることもでき、HELIXやBRAXなどハイレゾ対応プロセッサーに更新しても対応可能です。いや買い替えませんけど。


購入

今回はエモーショナルな動機による購入なので、選定理由はスキップします。
てゆうか理由はこの絵が全てです。

LIVA Q2-4/32-W10(N4100) IOT(ECS、写真左)

本体サイズは縦横わずか7cm。右のAPUやCDケースと比べるとサイズ感がわかると思います。
これは普通に欲しくなります、よね?
台湾ECSによる超小型PCです。Amazonで3万円台前半で購入しました。


さすがにこの大きさで自然空冷は無理だったらしく、内部にファンを搭載しています。ホームオーディオで使うなら前回までのようなファンレス機の方が良いでしょう。
後面のインターフェースは左からHDMI、LAN、DC12V。電源は外径3.0mm/内径1.1mmのセンタープラスというちょっと珍しいサイズ。LANは1系統なので、lightMPDの「最終形態」ともいえるイーサネット分離システムには使えません。


前面には電源スイッチとUSB3.0x1、USB2.0x1。側面にあるmicroSDスロットが唯一の増設手段で、RAMや内蔵SSDの変更はできません。


HWiNFOでCPU情報を取得してみました。
CPUはCeleron N4100。セレロンブランドを名乗っているものの、開発コード「Gemini Lake」はAtomアーキテクチャ(第6世代)に属します。
4コア4スレッド、ベースクロック1.1GHz、ブースト時2.4GHz。メモリーは4GBシングルチャネルでWindows10で使うには最低限です。

CPUやストレージ、OSの違う複数のモデルがあります。デュアルコアのN4000はlightMPDには適さないので注意。N4100搭載の本機には「Windows10 IoT Enterprise LTSC」という組み込み用OSがインストールされていました。

初期セットアップ時のアカウントやパスワードの要求レベルなど、一般用のWindows10と多少の違いはありますが、普通にPCとして使うことができます。ただ安定性を重視した設定となっていて、大型アップデートのような機能追加系の更新は適用されません。
「Windows Updateのたびにアプリの動作に問題が発生して困る」なんて方は、デスクトップOSとしてこういうのを選択するとよいかもしれません。

alt
N4100の性能はAPU2のGX-412TCより高く、でも最新のデスクトップPC向けCPUと比べるようなものでもありません。
GX-412TCがデータベースになかったので、GX-412HCで代用しています。
ちょっと前のネットブックやスティックPCの進化形といったところでしょうか。YouTubeの動画再生程度なら普通にこなせますが、初回のWindows UpdateはMINIXと同程度に重かったです。

alt
圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。

なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。


こちらはシステム情報。SSDはeMMCの32GBとこれまた最低限(64GBモデルもあります)。イーサネットのコントローラはRealtek製で、lightMPDの動作条件はクリアしていそうです。

さすがに4GB/32GBではWindowsPCとして使うには厳しいですが、今回の用途には十分です。


【共通】インストール

lightMPDのバージョンは 1.2.0b2 を使いました。
ブートローダーのイメージは公式サイト掲示板のスレッド
「LIVA Z,LattePanda用のlightMPDを公開しました」、
パッケージはスレッド
「x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました」
にあるのでそれぞれダウンロードします。

ブートローダーのイメージをUSBメモリーに書き込み、パッケージのzipを上書き展開。設定ファイルをテキストエディタで修正して完了です。
手順はAPU2とほとんど変わりませんので、その時のブログもご覧ください。

BIOSの「Secure Boot」オプションは本機では無効になっていたので、このままで大丈夫です。USBメモリーから起動できるよう、優先順位を変更しておくことを忘れずに。


【共通】設定

/lightMPD/conf/upnpmode(UPnPのレンダラーとして使用するモード)のファイルを/lightMPDにコピー。
テキストエディタ(TeraPadなど、文字コードUTF-8・改行コードLFに設定できるもの)で修正します。

/lightMPD/lightmpd.confの設定
ネットワーク関連の設定を自分の環境に合わせて修正します。

[network]
interface=eth0
address=192.168.1.93
gateway=192.168.1.1
netmask=255.255.255.0
nameserver=192.168.1.1


[ntp]
server=ntp.jst.mfeed.ad.jp
ntpd=no
timezone=Asia/Tokyo

/lightMPD/mpd.confの設定
オーディオ処理関連の設定をこちらで行います。
レート変換やDSD/PCM変換をせずビットパーフェクトで再生したい場合は以下の設定は不要です。DSDをDoP形式で出力する方法はAPUの時の設定をご覧ください。

拡張オーディオフォーマットの設定
非DSD音源のサンプリングレート変換規則を指定します。
Xに続く数字がアップコンバートの倍率、Lに続く数字がサンプリングレートの上限(44.1/48kHzに対する倍率)です。
倍率を1倍(アップコンバートしない)に、最高レートを44.1/48kHzに制限することにより、44.1/48kHzは無変換、88.2kHz以上は全てダウンコンバートさせます。
96kHzまで対応可能なシステムであれば"X1L2"(アップコンバートなし)または"X2L2"(アップコンバートあり)、192kHzまでであれば"X1L4"または"X4L4"のように設定します。

# extended audio format
audio_output_format "X1L1:24:2"

DSD to PCM変換を指定。

decoder {
plugin "dsf"
output "pcm"
}

decoder {
plugin "dsdiff"
output "pcm"
}

DSD to PCM変換のパラメータ設定
この設定では、2.8MHz、5.6MHz、11.2MHzのDSD音源に対してdsd2pcmで176.4kHzのPCMに変換、その後SoXリサンプラーで44.1kHzに変換させています。
0.27って何?サンプリングレートの変換比率からは想像できない数値が出てきました。これがフィルターのパラメータです。
ここをチューニングするにはフィルター特性や、libsoxrに関する理解が必要です。適切か、また最適かどうかはまだわかりません。

dsd2pcm {

###### output : 44100 ######

# dsd2pcm + resampler
# dsd2pcm: 2822400 -> 176400(1/16) -> resampler -> 44100
dsd64 "44100:32:16:SOXR_COEF( 24, 0.27, 0.4, 50, 0, yes)"

# dsd2pcm: 5644800 -> 176400(1/32) -> resampler -> 44100
dsd128 "44100:32:32:SOXR_COEF( 24, 0.27, 0.5, 50, 0, yes)"

# dsd2pcm: 11289600 -> 176400(1/64) -> resampler -> 44100
dsd256 "44100:32:64:SOXR_COEF( 24, 0.27, 0.9, 50, 0, yes)"



システムの全景です。フル機能のUPnP/DLNA/OpenHome対応ネットワークオーディオとしては最小クラスの構成ではないかと。
ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。

設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。


消費電力測定

車載にあたって、APUで導入したオーディオ用リニア電源の
alt
UltraCap LPS-1.2 (UpTone Audio)

を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
3.0mm/1.1mmと5.5mm/2.1mmとの変換プラグを用意し、電源ラインにワットチェッカーをはさんで計測します。

プリインストールされているWindows10では、起動時のピークで9W台


起動完了後は3W前後に落ち着きました。


ベンチマークアプリ(PCMark 10)を動作させると、ピークでは11W台になることもありました。


lightMPDでflac音源を再生させると6W前後、DSD/PCM変換再生させた時は11W程度となりました。


Windows動作時は大変優秀ですが、lightMPDのDSD再生時はG41V-4やSSDを外したGD41と同程度でHeroBoxには及ばず。本機の場合SSDはオンボードで取り外しできないので、これ以上の大幅な省電力化は難しそうです。
しかし他の機種よりflacとDSDの電力差が大きいのはなんでだろう?

小型であることによる設置の自由度をとるか、前回までのファンレス機の静粛性をとるか。クルマに持ち込んで確認してみたいと思います。

以上、少なくともホーム用途(ACアダプター使用)では問題なくlightMPDを動作させられることがわかりました。
で、リベンジの内容に続きます・・・


結果オーライ。

100V電源のPCと同じで、通常は12Vを供給しても電源スイッチを押すまで起動してくれません。
車載では使いづらいですし、手の届くところにPCを置けるとも限りません。最初のHeroBoxではここをクリアできなかったためリベンジ編となったわけです。

今回もBIOSのAdvancedメニューに設定がありま・・・した。

表記はMINIXと同じで、電源接続で即起動するモードに設定します。サイネージモード、あるいはキオスクモードとも呼ばれています。
ACアダプターを接続するとすぐに起動することを確認できました。


【共通】車載PCの条件とは

車載専用に設計されたPCでは、上に挙げたような自動起動(イグニッション時の瞬断対応を含む)、ACC OFFでのシャットダウンなどができるようになっています。またメーカー製品であれば車内の高温・低温に耐えることは当然です。
今回達成したのはこのうち自動起動のみで、シャットダウンについてはlightMPDの場合は電源ブチ切り可能なので不要です。

シャットダウンが必要なOSを使う場合は、車載PCの他、NUC用に以下のような電源ユニットが販売されています。ただし常時電源ラインを接続するのでバッテリー上がりや車両火災には十分な対策が必要です。
alt
DCDC-NUC (Mini-Box.com)


暑い日が続いていますので、秋に向け家での仕込み作業を続けます。
次回はサーバーを改良するつもりです。




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
Posted at 2020/08/22 05:04:01 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2020年07月23日 イイね!

ネットワークオーディオ自作(6) lightMPDをPCで(リベンジ編その2)

ネットワークオーディオ自作(6) lightMPDをPCで(リベンジ編その2)どうも、ちっちゃいPCコレクター&レビュアーのなかるうです。さすがに3台目となるとレビューもルーチンワークで早い早い・・・いや自腹なんで結構痛いんですけど。みんカラさん収益化ください。

前回との違いは機種だけですので、比較し易いよう同じ構成で書きます。




我が車にネットワークオーディオを導入して1年が過ぎました。ラズパイのサーバーとAPUのレンダラー、USB-DACのシステムで安定稼働しています。
今回は遅ればせながら、高音質と評判のPC版lightMPD(lightMPD x86_64版)を試してみました。
lightMPDについては2019年6月のブログ「ネットワークオーディオ自作(2)」をご覧ください。


【共通】音質のために高速CPUを使う意味

ネットワークオーディオも専用ハードやラズベリーパイのような低消費電力の機器で実現できるようになり、PCでなければ出来ないことは減ってきました。個人的にはいわゆる「PCオーディオ」はもはや主流ではないと思っていました。
ノイズ発生源のようなPCを今さらなぜオーディオに持ち込むのか。使い勝手だけでなく、実は音質面でも理由があります。ここは説明しておく必要があるでしょう。

lightMPDは当初ARM版からスタートしており、現在もラズパイなどシングルボードコンピュータ(SBC)で動作可能です。
音源ファイルのフォーマットをそのままビットパーフェクトにDACへ送出する場合、SBCの比較的控えめなCPUパワーでも十分です。

PC並みの演算能力が必要となるのは、サンプリングレート変換やDSD to PCM変換を行う場合で、FIRフィルターのパラメータ設定によってはSBCでは能力不足となり処理落ち=音切れが発生します。

公式サイトで作者さんがDSDを題材に解説していらっしゃいますが、SBCとしては比較的パワフルなAPUでも間に合わないようなフィルター処理を行うためにx86_64版を開発したとのこと。
DACの中で実行していた処理をソフトウェアで肩代わりする、しかも小さなシリコンでは不可能な複雑な処理に置き換えるというのは、大げさなCPUをオーディオに使う理由として納得できるものです。興味のある方はぜひ読んでみてください。
ビットパーフェクトがベストとは限らない、かもしれませんよ。ハイパー大事なことなので3回言いました


【共通】システムプラン

以下はこれまでAPU2で構成していたシステムでの信号の流れです。
ハイレゾ音源はUSB-DAC/DDCのAT-HRD500まではネイティブ伝送とし、同軸デジタルはHRD500の内蔵サンプリングレートコンバーター(SRC)で48kHzに変換、アナログはハイレゾのままプロセッサーに入力していました。
alt

今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
alt
退化してないかって?さぁどうでしょw

最終段のプロセッサーで44.1/48kHz処理になる自分のシステムでは、ハイレゾを持ち込むためCDフォーマットの処理に余計なプロセスが入っていました。44.1kHz専用にしてしまえばすっきりするのですが、今どきハイレゾ音源を聴けないのもちと辛い。システム内にサンプリングレート変換があるなら、そこにはフィルタリング処理があるはずで、ソフトウェア化による音質向上の余地があるのでは?と考えました。
設定ファイルの記述だけで上限を96kHzや192kHzにすることもでき、HELIXやBRAXなどハイレゾ対応プロセッサーに更新しても対応可能です。いや買い替えませんけど。


購入

lightMPDのx86_64版で動作確認がとれているハードウェアはLIVA ZおよびLattePandaです。購入前に調べてみたところ、LIVA Zの電源はDC19V、LattePandaの最新モデルは強制空冷で、どちらもカーオーディオには少し使いにくいと思ったので別の機種を探してみました。

lightMPDの公式サイトには、
「Liva、Lattepanda 以外の機種でもイーサネットコントローラに Realtek 8169PCIやIntel 82575/82576を使った機種なら動作する可能性はあります。(保証はできません)」
とあり、他にCPUが4コアであることが条件となります。

選定したのはこれ
alt
Neo G41V-4(MINIX、写真左)

LIVA Zと同じ、手のひらサイズの「ミニPC」に分類される製品です。このところ多数発売されています。
IntelのNUCや前回のKODLIX GD41より一回り大きく、右のAPUやCDケースと比べるとサイズ感がわかると思います。海外通販で2万円台後半で購入しました。

alt
なぜか前回のGD41のような「カワイイ!」という感覚は感じません。一回りだけ大きいからか、Mac miniを思わせる薄型でシャープなデザインだからか、はたまた手に持った感覚がずっしり重いからか。
でもこんなちっちゃいPCなら何台でも欲しく・・・いやもういいです。

上面のスリットから放熱します。完全ファンレスで無音動作です。
後面のインターフェースは左からLAN、DisplayPort、HDMI、VGA、DC12V。LANは1系統なので、lightMPDの「最終形態」ともいえるイーサネット分離システムには使えません。

alt
コネクタは前後ではなく、このように90度の面にあります。側面には電源スイッチとUSB3.0x2、USB2.0x2、オーディオジャック、microSDスロット。

alt
このクラスのPCには珍しく筐体(ベースのみ)は鉄板でできていて、コストかかってる風ではあります。カワイイ感が希薄なのはこれか?

裏蓋を外すとM.2のSSDを1枚増設可能です。システム用SSDは別にオンボード実装されていて交換不可。RAMもオンボードの4GBのみで増設不可。WindowsPCよりは、LinuxのファイルサーバーやDaphile専用機にした方がストレスなく使えるかもしれません。

alt
プリインストールされているWindows10は海外版でした。最初のセットアップで日本語を選択しても英語表記のままだったので面食らいましたが、デスクトップ画面になってから日本語の言語パックをインストールしたところ普通に日本語OSとして使えるようになりました。
ただ設定が足りないのか、このようにバイリンガルな表示になっています。アプリはメニューを含め日本語表示され特に問題ないのでそのままにしています。

alt
HWiNFOでCPU情報を取得してみました。
CPUはCeleron N4100。セレロンブランドを名乗っているものの、開発コード「Gemini Lake」はAtomアーキテクチャ(第6世代)に属します。
4コア4スレッド、ベースクロック1.1GHz、ブースト時2.4GHz。メモリーは4GBシングルチャネルでWindows10で使うには最低限です。

alt
N4100の性能はAPU2のGX-412TCより高く、でも最新のデスクトップPC向けCPUと比べるようなものでもありません。
GX-412TCがデータベースになかったので、GX-412HCで代用しています。
ちょっと前のネットブックやスティックPCの進化形といったところでしょうか。YouTubeの動画再生程度なら普通にこなせますが、初回のWindows Updateは前2機種以上に重かったです。

alt
圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。

なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。

alt
こちらはシステム情報。SSDはeMMCの64GBとこちらも控えめ。イーサネットのコントローラはRealtek製で、lightMPDの動作条件はクリアしていそうです。

前の2機種に比べるとRAM・SSDともミニマムで価格も高め。WindowsPCとしては一歩譲る感じ(なので第3候補にしていたの)ですが、実際に使ってみるとしっかりした筐体で発熱も少なく、今回のオーディオ用としては案外「当たり」かも。


【共通】インストール

lightMPDのバージョンは 1.2.0b2 を使いました。
ブートローダーのイメージは公式サイト掲示板のスレッド
「LIVA Z,LattePanda用のlightMPDを公開しました」、
パッケージはスレッド
「x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました」
にあるのでそれぞれダウンロードします。

ブートローダーのイメージをUSBメモリーに書き込み、パッケージのzipを上書き展開。設定ファイルをテキストエディタで修正して完了です。
手順はAPU2とほとんど変わりませんので、その時のブログもご覧ください。

BIOSに「Secure Boot」オプションは見当たらなかったので、無効ということなのでしょう。このままで大丈夫です。USBメモリーから起動できるよう、優先順位を変更しておくことを忘れずに。


【共通】設定

/lightMPD/conf/upnpmode(UPnPのレンダラーとして使用するモード)のファイルを/lightMPDにコピー。
テキストエディタ(TeraPadなど、文字コードUTF-8・改行コードLFに設定できるもの)で修正します。

/lightMPD/lightmpd.confの設定
ネットワーク関連の設定を自分の環境に合わせて修正します。

[network]
interface=eth0
address=192.168.1.93
gateway=192.168.1.1
netmask=255.255.255.0
nameserver=192.168.1.1


[ntp]
server=ntp.jst.mfeed.ad.jp
ntpd=no
timezone=Asia/Tokyo

/lightMPD/mpd.confの設定
オーディオ処理関連の設定をこちらで行います。
レート変換やDSD/PCM変換をせずビットパーフェクトで再生したい場合は以下の設定は不要です。DSDをDoP形式で出力する方法はAPUの時の設定をご覧ください。

拡張オーディオフォーマットの設定
非DSD音源のサンプリングレート変換規則を指定します。
Xに続く数字がアップコンバートの倍率、Lに続く数字がサンプリングレートの上限(44.1/48kHzに対する倍率)です。
倍率を1倍(アップコンバートしない)に、最高レートを44.1/48kHzに制限することにより、44.1/48kHzは無変換、88.2kHz以上は全てダウンコンバートさせます。
96kHzまで対応可能なシステムであれば"X1L2"(アップコンバートなし)または"X2L2"(アップコンバートあり)、192kHzまでであれば"X1L4"または"X4L4"のように設定します。

# extended audio format
audio_output_format "X1L1:24:2"

DSD to PCM変換を指定。

decoder {
plugin "dsf"
output "pcm"
}

decoder {
plugin "dsdiff"
output "pcm"
}

DSD to PCM変換のパラメータ設定
この設定では、2.8MHz、5.6MHz、11.2MHzのDSD音源に対してdsd2pcmで176.4kHzのPCMに変換、その後SoXリサンプラーで44.1kHzに変換させています。
0.27って何?サンプリングレートの変換比率からは想像できない数値が出てきました。これがフィルターのパラメータです。
ここをチューニングするにはフィルター特性や、libsoxrに関する理解が必要です。適切か、また最適かどうかはまだわかりません。

dsd2pcm {

###### output : 44100 ######

# dsd2pcm + resampler
# dsd2pcm: 2822400 -> 176400(1/16) -> resampler -> 44100
dsd64 "44100:32:16:SOXR_COEF( 24, 0.27, 0.4, 50, 0, yes)"

# dsd2pcm: 5644800 -> 176400(1/32) -> resampler -> 44100
dsd128 "44100:32:32:SOXR_COEF( 24, 0.27, 0.5, 50, 0, yes)"

# dsd2pcm: 11289600 -> 176400(1/64) -> resampler -> 44100
dsd256 "44100:32:64:SOXR_COEF( 24, 0.27, 0.9, 50, 0, yes)"


alt
システムの全景です。ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。

設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。


消費電力測定

車載にあたって、APUで導入したオーディオ用リニア電源の
alt
UltraCap LPS-1.2 (UpTone Audio)

を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
本機のDCプラグは外径5.5mm/内径2.5mmのセンタープラスでAPUと同じでした。電源ラインにワットチェッカーをはさんで計測します。

プリインストールされているWindows10では、起動時のピークで12W台
alt

起動完了後は3W台に落ち着きました。
alt

ベンチマークアプリ(PCMark 10)を動作させると、ピークでは15W近くになることもありました。
alt

lightMPDでflac音源を再生させると6W前後、DSD/PCM変換再生させた時は10W程度となりました。
alt
lightMPD動作時はSSDを外したGD41と同程度で、なかなか優秀ですがHeroBoxには及ばず。本機の場合SSDはオンボードで取り外しできないので、これ以上の大幅な省電力化は難しそうです。ちょっと微妙な結果となりました。

とりあえず候補として2台確保できたので、あとはクルマに持ち込んで確認してみたいと思います。

以上、ホーム用途(ACアダプター使用)であればHeroBoxやGD41と同様、問題なくlightMPDを動作させられることがわかりました。
で、リベンジの内容に続きます・・・


ぬかりません。

100V電源のPCと同じで、通常は12Vを供給しても電源スイッチを押すまで起動してくれません。
車載では使いづらいですし、手の届くところにPCを置けるとも限りません。最初のHeroBoxではここをクリアできなかったためリベンジ編となったわけです。

ちゃんと下調べしてあります。
今回もBIOSにその設定があります。ファームウェア更新は不要で最初から対応していました。
alt
前回のGD41と表記が異なりますが意味は同じ。電源接続で即起動するモードに設定します。サイネージモード、あるいはキオスクモードとも呼ばれています。
ACアダプターを接続するとすぐに起動することを確認できました。


【共通】車載PCの条件とは

車載専用に設計されたPCでは、上に挙げたような自動起動(イグニッション時の瞬断対応を含む)、ACC OFFでのシャットダウンなどができるようになっています。またメーカー製品であれば車内の高温・低温に耐えることは当然です。
今回達成したのはこのうち自動起動のみで、シャットダウンについてはlightMPDの場合は電源ブチ切り可能なので不要です。

シャットダウンが必要なOSを使う場合は、車載PCの他、NUC用に以下のような電源ユニットが販売されています。ただし常時電源ラインを接続するのでバッテリー上がりや車両火災には十分な対策が必要です。
alt
DCDC-NUC (Mini-Box.com)




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
Posted at 2020/07/23 08:47:39 | コメント(0) | トラックバック(0) | オーディオ | クルマ

プロフィール

「自分のブログの内容にどこぞの謎情報を混ぜられたものが「AIによる回答」として提供される。生成AIに利用された絵師の気持ちが理解できたと同時に、想像以上に信用ならねーなという思い。みんカラも学習拒否の設定させて欲しいぞ。」
何シテル?   06/08 05:24
「なかるー」改め「なかるう」、「う」は大きい「う」です。 音楽のあるドライブが好きです。いい音だったらもっと楽しいですよね。なのでいい音を追求してます。 更...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

3Wayスピーカーのクロスオーバー設定 位相合わせ 
カテゴリ:その他(カテゴリ未設定)
2025/06/14 21:11:12
備忘 Passat Variant 11年14万kmの整備振り返り 
カテゴリ:その他(カテゴリ未設定)
2024/10/18 00:02:25
Ottocast A2AIR Pro 
カテゴリ:その他(カテゴリ未設定)
2024/06/18 03:24:43

愛車一覧

フォルクスワーゲン パサート セダン フォルクスワーゲン パサート セダン
フォルクスワーゲン パサート セダン (DBA-3CCAX) に乗っています。 シトロエ ...
日産 ティーダラティオ 日産 ティーダラティオ
(2015/8)乗り換えのため手放しました。 日産 ティーダラティオ15G(DBA-S ...

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation