cuboxi4pro,wandboard用のlightMPD-v1.0.0を公開しました

投稿日: 2015/06/14 7:35:18

cuboxi4pro,wandboard用のlightMPD-v1.0.0を公開しました。

主な仕様

  • buildroot
  • buildroot-2015.05
  • kernel
  • linux-4.0.5rt3
  • mpd
  • mpd-0.19.9rt
  • mpd-0.19.9rt-native-dsd

v0.08との相違点

  • WebUIのクライアントympdを実装しました。
  • soxrでopenmpを使うようにしました。
  • lightmpd.confの変更
  • http,telnetd,ympd,webconsoleでポートの指定を行えるようにしました。

[http]

enable=yes

port=80

[telnetd]

enable=yes

port=23

[webconsole]

enable=yes

port=9000

portは省略可能ですが、省略した場合は http,telnetd,ebconsoleのポートはれぞれ80,23,9000 になります。

[ympd]

enable=yes

webport=8080

mpdport=6600

webportはympがリクエストを受け付けるポートを指定します。デフォルトは8080です。

mpdportはmpdがリクエストを受け取るポートを指定します。mpdがリクエストを受け付けるポートはmpd.confで指定できます。デフォルトは6600です。

  • mpd.confの変更
    • decoder_selectorを外しました。
    • samplerate_converterのデフォルトを"soxr very high"にしました。
      • soxrがopenmpに対応したことにより、以下を追加しました。
      • "soxr very high openmp"
        • "soxr high openmp"
        • "soxr medium openmp"
        • "soxr low openmp"
    • 拡張オーディオフォーマットにxnを追加
    • x(小文字)の場合、入力がDSDでもサンプリング周波数の変換を行います。
    • mpdのサンプリング周波数変換の動きについては近いうちに解説します。
    • 取りあえずは、dsdをpcmに変換して再生する場合(audio_outputでdsd_usbが"no"の場合)はx(小文字)を指定して下さい。
    • dsd_usb="yes"の場合はX(大文字)を指定して下さい。

native-dsdの対応

mpd-0.19.9rt-native-dsdはhttps://github.com/lintweaker/xmos-native-dsdで公開されているdsdのnative転送に対応したmpdです。

DDC,DACが対応していればdsd native転送を使うことにより機器側が対応していればDSD256の再生が可能になります。

対応するDDC,DACは

  • iFi Audio micro/nano iDSD
  • Matrix Audio X-Sabre
  • Matrix Audio Mini-i Pro
  • DIYINHK DSD DXD 384kHz USB to I2S/DSD
  • Denon DA300-USB
  • Marantz HD-DAC1
  • Marantz SA-14S1

です。(上記全ての機器がDSD256に対応しているとは限りません。DSD256の為に機器を選択する場合は仕様を確認して下さい。)

当初、DIYINHKのDDCでテストする予定でしたが、タイムリーな事にエレクトロアートのデジタルオーディオ実験室上にて下記基板に対するnative dsdのパッチが公開されましたので、その対応を行いました。

  • ElectrArt USDA_MINI
  • ElectrArt USBDAC
  • ElectrArt UDA2

HDtte-onkyoから購入したDSD256ファイルをUSDA_MINIでテストしたところちゃんと再生できましたので、公開に踏み切りました。

[注意]

  • USDA_MINI以外の機器ではテストしていません

dsd native転送を行う場合は、lightmpd.conf,mpd.confを以下のように修正して下さい。

  • lightmpd.conf
  • [mpd] -> load_module を mpd-0.19.9rt-native-dsdに変更。
  • mpd.conf
    • dsd_usbを "yes" から "no" に変更
  • 以下を追加

dsd_native "yes"

dsd_native_type "2"

irqpriorityについて

wandboardに付属のlightmp.confに[irqpriority]というセクションがあります。

これは、割込みハンドラーの優先度を変更するために新設しました。

wandboardの場合、rootイメージおよびカーネルはcuboxi4と共通ですが、wandboardとcuboxi4ではusb関連の割込の割り当てが異なっています。

[irqpriority]はその差を吸収する為の物です。

将来チューニング項目として仕様を公開する予定ですが、それまではこの項目は修正しないようにお願いします。

ダウンロードおよびインストール

インストール方法を変更しました。

cuboxi4,wandboardの場合、sdメモリの特定の位置にブートローダーを配置しておく必要があります。

その操作をWindowsやmacで行うのは特殊な操作が必要な為、lightMPDのv0.08まではディスクイメージを配布し、

そのイメージをDDwin for windowsなどのソフトでSDメモリに書き込むことで実現していました。

今回から

  1. ブートローダーが配置されているディスクイメージ
  2. rootイメージやkernelを含む配布パッケージ

の2つに分けました。

1.のブートローダは256Mbyte,2GByte,4Gbyte用のイメージを用意しました。また、このイメージは今後のバージョンでも共通に使えます。

2.の配布パッケージはbeaglebone用の配布パッケージと同じ形態でバージョン毎に用意します。

イメージファイルのインストール

  1. イメージファイルのダウンロード
  2. インストールするSDメモリに合わせたイメージをダウンロードします。SDメモリより大きなイメージを選択するとインストールできません。
  3. イメージファイルの解凍
  4. イメージファイルは圧縮されてますので、それを解凍します。
  5. xzという属性のファイルは7zip等のプログラムを使って解凍します。
  6. xzが解凍できない場合は、256MbyteのイメージはWindows付属のプログラムで解凍できますので、SDメモリの容量によらず256Mbyteのイメージを使って下さい。
  7. 解凍したイメージをSDメモリに書き込みます。
  8. 書き込みにはDDwin for Windowsを使って下さい。
    1. 一度SDメモリを取り出して下さい。

配布パッケージのインストール

  1. 配布パッケージのダウンロード
  2. 配布パッケージの解凍
  3. 配布パッケージはzipで圧縮されています。配布パッケージをイメージファイルをインストールしたSDメモリに解凍します。

ダウンロード

  • cuboxi4
    • イメージファイル
      • cuboxi4boot256m.img.zip (256Mbyte用のイメージ 解凍後のサイズ: 256376832 byte)
      • cuboxi4boot2gimg.xz (2Gbyte用のイメージ、解凍後のサイズ: 1,926.0Bbyte)
      • 配布パッケージ
      • lightMPDcuboxi4-v1.0.0.zip
        • lightMPDcuboxi4-v1.0.1.zip(2015.07.03 update)
          • mpd-0.19.9rt-native-dsd: 曲の終わりでmpdがハングアップするバグを修正しました
          • zImage の buildパラメータを一部変更しました
    • wandboard
      • イメージファイル
      • 配布パッケージ
      • lightMPDwandboard-v1.0.0.zip
        • linuxMPDwandboard-v1.0.0.zip(2015.07.03 update)
          • mpd-0.19.9rt-native-dsd: 曲の終わりでmpdがハングアップするバグを修正しました
          • zImage の buildパラメータを一部変更しました