info


lightMPD/upnpgw v1.0.0 を公開しました。

2016/09/20 7:37 に digififan が投稿

lightMPD/upnpgw を公開しました。

詳しくは 



を参照して下さい。

lightMPD/upnpgwにはapu1またはapu2 一台でupnpレンダラーとして動作するモードがあります。
このモードを使うとlightmpd.confの[network]セクションの設定だけでupnpレンダラーとして動作します。

まずはこのモードでDLNAの環境を確認して下さい。

cuboxi4-pro,wandboard用のlightMPD v1.0.2を公開しました

2016/06/02 19:53 に digififan が投稿

cuboxi4-pro,wandboard用のlightMPD v1.0.2を公開しました。

詳しくは cuboxi4pro,wandboard向けlightMPD v1.0.2 を参照して下さい。

apu1用のlightMPD-v1.0.2(64bit版)を公開しました

2016/05/19 20:03 に digififan が投稿   [ 2016/05/19 21:32 に更新しました ]

[更新履歴]
  • 2016/05/20   公開

apu1用のlightMPD-v1.0.2(64bit版)を公開しました。

バグフィックスとチューニング方法を変更しました。

主な変更点
  • バグフィックス
    64bit版ではsoxrがopenmpに未対応でした。openmpに対応しました。
  • kernelのバージョン
    •  linux-4.4.6rt14
  •  mpdのバージョン
    •   mpd-0.19.14rt-native-dsd
  • cpuaffinityの変更と強化
  • microSDメモリ,USBメモリからのブートを識別するために、ブートパラメータでブートデバイスの指定を行えるようにしました。

linux-4.4.6rt14について

native-dsdに対応するDAC(DDC)
  •      Wyred 4 Sound DAC-2 DSD
  •      iFi Audio micro/nano iDSD
  •      Matrix Audio X-Sabre
  •      Matrix Audio Mini-i Pro
  •      OPPO HA-1
  •      Mytek Brooklyn DAC
  •      Gustard DAC-X20U
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
  •      Aune X1S 32BIT/384 DSD DAC
  •      Unison Research Unico CD Due
  •      OPPO HA-2
  •      PS Audio NuWave DAC
  •      Amanero Combo384
  •      ElectrArt USDA2, USDA_MINI

 このうち実際に動作確認したのは
  •      ElectrArt USDA2, USDA_MINI
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
です。

mpd-0.19.14rt-native-dsdはAmanero combo384をサポートしています。
combd384 でnative dsdを使う場合は audio_output を以下のようにして下さい。
(combo384ではdsd128->dsd64の切換が旨く出来ません)。

    native_dsd        "yes"
    native_dsd_type    "3"


cpuaffinityについて


cpuaffinityを以下のようにしました。
  • type=0
    cpuaffinity を使用しない
  • type=1
    • core1:        irqhandlerで指定した割込ハンドラーが動作する
    • core0,2,3:  上記のハンドラー以外が動作する
  • type=2
    指定は出来ますが、動作はtype=1と同じになります。
cpuaffinityの設定はlightmpd.confの[cpuaffinity]とブートパラメータ(/boot/grub/menu.lst)で行います。

[cpuaffinity]
    type=1


cpuaffinityに1を指定した場合はブートパラメータに以下を追加して下さい。

isolcpus=1 nohz_full=1 rcu_nocbs=1


デフォルトはtype=1です。

irqhandlerについて


lightmpd.confの[irqpriority]でDACを接続したUSBのirqhandlerのプライオリティの指定が行えます。
apu1では無指定の場合以下の用に設定されます。
ehci_hcd:usb1=FIFO:99
ohci_hcd:usb1=FIFO:99
デフォルト値を変更する場合は以下のようにして下さい。

[irqpriority]
 setdefault=no                          <-- デフォルトの設定を無効にする
   ehci_hcd:usb2=FIFO:99


ブートデバイスについて


lightMPDではkernelのブート完了後ブートデバイスからlightmpd.confを参照して初期化を行います。
apu2等のようにブートするデバイスによってデバイス名が変わる機種の為に

lightmpd.bootdev

というパラメータを追加しました。
apu1ではmicroSDメモリとUSBメモリからブートできますが、いずれのデバイス名も/dev/sda1になります。
apu1ではブートデバイス毎に下記の様に指定します。この指定を行わないとブートに失敗します。

lightmpd.bootdev=/dev/sda1


USBメモリとmicroSDメモリの共存

microSDメモリが装着されたシステムでUSBメモリからブートするとブート失敗する場合があります。
USBメモリの機種やDACの接続状況によってブートが出来たり失敗したりします。
これはブートしたUSBメモリのデバイス名が/dev/sda1ではなく/dev/sdb1になってしまうためです。
microSDメモリを装着したapu1でUSBメモリからブートする場合は、USBメモリをUSBポートの上段に装着すると
このような事はなくなります。

不要なトラブルを防ぐためにもUSBメモリからブートする場合はUSBメモリをUSBポートの上段に装着して下さい。


クロックソース


apu2,apu1ではclocksourceにhpetとtscを指定できます。

以前はhpetをデフォルトにしてましたが、このバージョンからtscをデフォルトにしました。

clocksourceの指定を行う場合は /boot/grub/menu.lstのkernelに下記を追加します。
  1. hpet
    • clocksource=hpet
  2. tsc
    • clocksource=tsc idel=poll processor.max_cstate=1

ブートパラメータ

ブートパラメータは/boot/grub/menu.lstで指定します。従来のパラメータから下記の物を追加しました。

  1. lightMPDで追加したブートパラメータ
    1. lightmpd.bootdevlightmpd.systype
    2. システムのタイプを指定します。apu2の場合は
      lightmpd.systype=apu2
      とします。
  2. cpuaffinity関連のパラメータ
  3. クロックソース
/boot/grub/menu.lstにはいくつかのパターンが用意されてます。

デフォルトは
  • クロックソースはtsc
  • cpuaffinityを使用する
になってます。


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

linux-4.6rt1

パッケージ作成中に4.6の正式版が公開されました。パッケージとは別に4.6rt1を用意しました。
  • インストール方法
    apu1-linux-4.6rt1-201605120zipを解凍すると bzImage-4.6rt1-64が作成されます。
    このファイルを/boot/bzImage-64にオーバーライトして下さい。
  • 注意
    4.6rt1でnohz_full=1を指定するとhtop(CPUの利用状況を表示するプログラムでCPUの使用率が50%近くの値を表示しますが、
    これはhtopが対応出来ていない為で問題はありません。

ダウンロード

apu2用のlightMPD-v1.0.2(64bit版)を公開しました

2016/05/18 6:44 に digififan が投稿   [ 2016/05/19 21:48 に更新しました ]

[更新履歴]
  • 2016/05/18  公開

apu2用のlightMPD-v1.0.2(64bit版)を公開しました。

apu2ではmicroSDメモリのインターフェイスがapu1から変更になってます。
apu1のmicroSDメモリはUSBを経由して接続されてました。その為、Linuxではscciデバイスとして扱われてました。
apu2のmicroSDメモリはPCI接続になったため、LinuxではSDメモリデバイスとして扱われます。
scsiとSDメモリではデバイス名が異なるためその対応を行いました。

その他、バグフィックスとチューニング方法を変更しました。

主な変更点
  • バグフィックス
    64bit版ではsoxrがopenmpに未対応でした。openmpに対応しました。
  • kernelのバージョン
    •  linux-4.4.6rt14
  •  mpdのバージョン
    •   mpd-0.19.14rt-native-dsd
  • cpuaffinityの変更と強化
  • microSDメモリ,USBメモリからのブートを識別するために、ブートパラメータでブートデバイスの指定を行えるようにしました。

linux-4.4.6rt14について

native-dsdに対応するDAC(DDC)
  •      Wyred 4 Sound DAC-2 DSD
  •      iFi Audio micro/nano iDSD
  •      Matrix Audio X-Sabre
  •      Matrix Audio Mini-i Pro
  •      OPPO HA-1
  •      Mytek Brooklyn DAC
  •      Gustard DAC-X20U
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
  •      Aune X1S 32BIT/384 DSD DAC
  •      Unison Research Unico CD Due
  •      OPPO HA-2
  •      PS Audio NuWave DAC
  •      Amanero Combo384
  •      ElectrArt USDA2, USDA_MINI

 このうち実際に動作確認したのは
  •      ElectrArt USDA2, USDA_MINI
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
です。

mpd-0.19.14rt-native-dsdはAmanero combo384をサポートしています。
combd384 でnative dsdを使う場合は audio_output を以下のようにして下さい。

    native_dsd        "yes"
    native_dsd_type    "3"

cpuaffinityについて

cpuaffinityを以下のようにしました。
  • type=0
    cpuaffinity を使用しない
  • type=1
    • core1:        irqhandlerで指定した割込ハンドラーが動作する
    • core0,2,3:  上記のハンドラー以外が動作する
  • type=2
    • core1:        irqhandlerで指定した割込ハンドラーが動作する
    • core2,3      mpdが動作する
    • core0:        上記以外のプログラムが動作する
cpuaffinityの設定はlightmpd.confの[cpuaffinity]とブートパラメータ(/boot/grub/menu.lst)で行います。

[cpuaffinity]
    type=2


cpuaffinityに1,2を指定した場合はブートパラメータに以下を追加して下さい。

isolcpus=1 nohz_full=1 rcu_nocbs=1

cpuaffinityに2を指定した場合は isolcpus=1-3 を指定する事も出来ます。

デフォルトはtype=2です。

irqhandlerについて

lightmpd.confの[irqpriority]でDACを接続したUSBのirqhandlerのプライオリティの指定が行えます。
apu2は通常のUSBポート(USB3.0)の他内部にUSBポート(USB2.0,1.1)がありそれぞれirqhandlerが異なります。
USB3.0         xhci_hcd#0
USB2.0         ehci_hcd:usb1

[irqpriority]ではirqhandlerのプライオリティを下記の様に指定します。

USB3.0を使う場合
[irqpriority]
    xhci_hcd#0=FIFO:99


USB2.0を使う場合
[irqpriority]
    ehci_hcd:usb1=FIFO:99


ブートデバイスについて

lightMPDではkernelのブート完了後ブートデバイスからlightmpd.confを参照して初期化を行います。
apu2ではmicroSDメモリとUSBメモリからブートできますが、これらのデバイス名が異なります。
  • USBメモリ              /dev/sda1
  • microSDメモリ       /dev/mmcblk0p1
kernel起動後はどのデバイスからブートされたか解りません。その為、/boot/grub/menu.lstのkernelに

lightmpd.bootdev

というパラメータを追加しました。
ブートデバイス毎に下記の様に指定します。
  • USBメモリからブートする場合             lightmpd.bootdev=/dev/sda1
  • microSDメモリからブートする場合       lightmpd.bootdev=/dev/mmcblk0p1

クロックソース

apu2,apu1ではclocksourceにhpetとtscを指定できます。

以前はhpetをデフォルトにしてましたが、このバージョンからtscをデフォルトにしました。

clocksourceの指定を行う場合は /boot/grub/menu.lstのkernelに下記を追加します。
  1. hpet
    • clocksource=hpet
  2. tsc
    • clocksource=tsc idel=poll processor.max_cstate=1

ブートパラメータ

ブートパラメータは/boot/grub/menu.lstで指定します。従来のパラメータから下記の物を追加しました。

  1. lightMPDで追加したブートパラメータ
    1. lightmpd.bootdevlightmpd.systype
    2. システムのタイプを指定します。apu2の場合は
      lightmpd.systype=apu2
      とします。
  2. cpuaffinity関連のパラメータ
  3. クロックソース
/boot/grub/menu.lstにはいくつかのパターンが用意されてます。

デフォルトは
  • USBメモリからブート
  • クロックソースはtsc
  • cpuaffinityを使用する
になってます。


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

linux-4.6rt1

パッケージ作成中に4.6の正式版が公開されました。パッケージとは別に4.6rt1を用意しました。
  • インストール方法
    apu2-linux-4.6rt1-20160518.zipを解凍すると bzImage-4.6rt1-64が作成されます。
    このファイルを/boot/bzImage-64にオーバーライトして下さい。
  • 注意
    4.6rt1でnohz_full=1を指定するとhtop(CPUの利用状況を表示するプログラムでCPUの使用率が50%近くの値を表示しますが、
    これはhtopが対応出来ていない為で問題はありません。

ダウンロード


raspberry pi 用のlightMPD-v1.0.2を公開しました

2016/04/19 6:26 に digififan が投稿   [ 2016/04/21 2:03 に更新しました ]

[更新履歴]
  • 2016/04/19  公開
  • 2016/04/20  USB-Audioについて追記

raspberry pi用のlightMPD-v1.0.2を公開しました。

rootイメージの変更はありませんが、kernelのバージョンアップに伴ってファームウェアもバージョンアップしたので新たにパッケージとして公開しました。


主な変更点

  • kernel linux-4.4.6rt12-FullRT
  •  mpdのバージョン
    •   mpd-0.19.14rt-native-dsd
    •   mpdsacdiso-native-dsd
    •  mpd-0.19.9rtは廃止しました。
  • 以下のDACに対応しました。
    • SabreBerry32
    • hifiberry-dac+ pro
    • hifiberry-digi
    • bcm2835は廃止しました。


linux-4.4.6rt12について

native-dsdに対応するDAC(DDC)
  •      Wyred 4 Sound DAC-2 DSD
  •      iFi Audio micro/nano iDSD
  •      Matrix Audio X-Sabre
  •      Matrix Audio Mini-i Pro
  •      OPPO HA-1
  •      Mytek Brooklyn DAC
  •      Gustard DAC-X20U
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
  •      Aune X1S 32BIT/384 DSD DAC
  •      Unison Research Unico CD Due
  •      OPPO HA-2
  •      PS Audio NuWave DAC
  •      Amanero Combo384
  •      ElectrArt USDA2, USDA_MINI

 このうち実際に動作確認したのは
  •      ElectrArt USDA2, USDA_MINI
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
です。
     Amanero Combo384のfirmwareは1099rc2にバージョンアップして下さい。
  バージョンアップの方法はamaneroのサイトで確認して下さい。

Combo384のデータフォーマットをmpd-0.19.14rt-native-dsd,mpdsacdiso-native-dsdがサポートしていないため、
Amanero Combo384のfirmwareは1099rc2にバージョンアップしてもlightMPD ではnative dsdの再生は出来ません。


DACの指定方法の変更

 本バージョンからDACの指定はlightmpd.conf と /config.txt の2箇所で行います。
  •  hifiberry-dac
    TIのPCM5102x を使ったI2S接続のDAC
       lightmpd.conf
           [mpd]
                dac=hifiberry-dac

       config.txt
           dtoverlay=hifiberry-dac

  • hifiberry-dacplus(新規)
    hifiberry dac+,dac+ pro
    dac+ pro はdacのクロックで動作します。
    dac+ pro でテストしました。dac+は動作確認をしていません。

       lightmpd.cnnf
          [mpd]
             dac=hifiberry-dacplus

       config.txt
          dtoverlay=hifiberry-dacplus

  • rpi-dac
    TIのPCM1794aを使ったI2S接続のDAC
       lightmpd.conf
          [mpd]
             dac=rpi-dac

        config.txt
          dtoverlay=rpi-dac

  • SabreBerry32(新規)
    new_western_elecで配布されているDAC。
    DACチップはESS SABRE9018Q2C。
    DAC上のクロックで動作するマスターモードとAsyncモードが選択できます。
    マスターモードとAsyncモードについては配布元のページで確認して下さい。

        lightmpd.conf
          [mpd]
            dac= SabreBerry32

        config.txt
          dtoverlay=sabreberry32           <-  マスターモード
          dtoverlay=sabreberry32,slave     <-  Asyncモード

  • hifiberry-digi(新規)
    spdif出力

    lightmpd.conf
      [mpd]
        dac=hifiberry-digi

    config.txt
      dtoverlay=hifiberry-digi

    hifiberry-digiを使う場合はdacmoduledef.dacを入れ替える必要があります。

  • usb-audio
    usb接続のDACまたはDDC

        lightmpd.conf
          [mpd]
             dac=usb-audio

        config.txt
           無指定

  • usb-hiface
    M2TECHのhiface

        lightmpd.conf
          [mpd]
            dac=usb-hiface

        config.txt
         無指定

usb-audioについて

hi-speed のDDCやDACはノイズがのりまともに再生できません。
当方でテストしたのは
  •  jlsounds   I2SoverUSB
  •  chord mojo
  •  Elextroart UDA_MINI
です。


Mixerの対応

SabreBerry32,hifiberry-dac+ pro ともハードウェアボリュームやデジタルフィルターの特性を変更する機能があります。
特にデジタルフィルターを変更する事でどのように音が変化するか興味あるところですので、lightmpd.confの設定で変更できるようにしました。
また、mpdでハードウェアのボリュームが使えるようにするための方法についても説明します。

Mixerについては当初よりその機能はあったのですが、mixerの機能、設定方法はDAC(DDC)ごとに異なり、トラブルになった時は実機がないと
サポートが不可能なのであえてふれないようにしてました。
mixerについてはページを改めて設定方法を説明する事にして、以下の説明ではsabereberry32,hifiberry-dac+ proの機能の内有用と思われる機能について説明します。


amixer_sset

lightmnpd.confの[mpd]にamixer_ssetという項目を設けました。
起動時にmixerを通してDACの設定を行います。
mixerの設定項目とその項目に対する値をスペースで区切ります。
設定項目や設定値にスペースが含まれる場合は''でくくります。

複数の設定項目を変更する場合は & で区切ります。

1. SabreBerry32

以下の項目について説明します。
  •  'Filter Type'
  •  'Playback Digital'
  •  Mute

○ 'Filter Type'
 DAC内蔵のディジタルフィルターの特性を設定します。
 設定可能な値は
  •    'Fast Roll-Off'
  •    'Slow Roll-Off'
  •    'Minimum Phase'

 です。デフォルトは'Fast Roll-Off'です。
フィルターの特性については配布元のページを参照して下さい。

○ 'Playback Digital'
 DACのボリュームを設定します。
 設定は%,db,デジタル値(0-255)等で指定できます。

○ Mute
 DACの出力をOn,Offします。MuteをOnにすると音が聞こえなくなります。

設定例

  amixer_sset='Playback Digital' 100%,100% & 'Filter Type' 'Minimum Phase' &  Mute off


mpdのクライアントから音量の調節を行うばあいはmpd.confを以下のように修正して下さい。

mix_type  "disaable" の行を削除(2箇所あります)

audio_output に

 mixer_control           "Playback Digital"

を追加する。


2. hifiberry-dacplus

以下の項目について説明します。
  • 'DSP Program'
  • Digital

○ 'DSP Program'
DAC内蔵のデジタルフィルターの特性を変更します。
設定出来る値は
  •  'FIR interpolation with de-emphasis'
  •  'Low latency IIR with de-emphasis'
  •  'High attenuation with de-emphasis'
  •  'Fixed process flow'
  •  'Ringing-less low latency FIR'

です。デフォルトは 'FIR interpolation with de-emphasis' です。

○ Digital
DACの出力のOn,Offおよび音量を設定します。
設定は 左チャンネルMute,右チャンネルMute,左チャンネル音量,右チャンネル音量で指定します。
音量は%,db,デジタル値(0-207)で指定できます。

設定例
    amixer_sset='DSP Program' 'Fir interpolation with de-emphasis' & 'Digital' on,on,100%,100%

mpdのクライアントから音量の調節を行うばあいはmpd.confを以下のように修正して下さい。

mix_type  "disaable" の行を削除(2箇所あります)

audio_output に

 mixer_control           "Digital"

を追加する。


ダウンロード


インストール

fat32でフォーマットしたmicroSDメモリカードにlightMPDraspi-v1.0.2.zipを解凍して下さい。
旧バージョンがインストールされたメモリカードにオーバーライトすると旨くインストールできません。
必ずフォーマットして下さい。

raspberry pi 2用のlightMPD-v1.0.2を公開しました

2016/04/03 20:14 に digififan が投稿   [ 2016/04/19 6:30 に更新しました ]

[更新履歴]
  • 2016/04/04  公開
  • 2016/04/07   raspberry 3の対応について追記
  • 2016/04/11   hifiberry-digiの対応について追記
  • 2016/04/19   Amanero Combo384のnative dsdを追記

raspberry pi 2用のlightMPD-v1.0.2を公開しました。

rootイメージの変更はありませんが、kernelのバージョンアップに伴ってファームウェアもバージョンアップしたので新たにパッケージとして公開しました。


主な変更点

  • kernel linux-4.4.6rt12-lowlatency
  •  mpdのバージョン
    •   mpd-0.19.10rt-native-dsd
    •   mpdsacdiso-native-dsd
    •  mpd-0.19.9rtは廃止しました。
  • 以下のDACに対応しました。
    • SabreBerry32
    • hifiberry-dac+ pro
    • hifiberry-digi
    • bcm2835は廃止しました。


linux-4.4.6rt12について

Full RTだと一部問題があるので、lowlatencyでbuildしてあります。

native-dsdに対応するDAC(DDC)
  •      Wyred 4 Sound DAC-2 DSD
  •      iFi Audio micro/nano iDSD
  •      Matrix Audio X-Sabre
  •      Matrix Audio Mini-i Pro
  •      OPPO HA-1
  •      Mytek Brooklyn DAC
  •      Gustard DAC-X20U
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
  •      Aune X1S 32BIT/384 DSD DAC
  •      Unison Research Unico CD Due
  •      OPPO HA-2
  •      PS Audio NuWave DAC
  •      Amanero Combo384
  •      ElectrArt USDA2, USDA_MINI

 このうち実際に動作確認したのは
  •      ElectrArt USDA2, USDA_MINI
  •      DIYINHK DSD DXD 384kHz USB to I2S/DSD
  •      JLsounds I2SoverUSB
です。
     Amanero Combo384のfirmwareは1099rc2にバージョンアップして下さい。
  バージョンアップの方法はamaneroのサイトで確認して下さい。

Combo384のデータフォーマットをmpd-0.19.14rt-native-dsd,mpdsacdiso-native-dsdがサポートしていないため、
Amanero Combo384のfirmwareは1099rc2にバージョンアップしてもlightMPD ではnative dsdの再生は出来ません。


DACの指定方法の変更

 本バージョンからDACの指定はlightmpd.conf と /config.txt の2箇所で行います。

  •  hifiberry-dac
    TIのPCM5102x を使ったI2S接続のDAC
       lightmpd.conf
           [mpd]
                dac=hifiberry-dac

       config.txt
           dtoverlay=hifiberry-dac

  • hifiberry-dacplus(新規)
    hifiberry dac+,dac+ pro
    dac+ pro はdacのクロックで動作します。
    dac+ pro でテストしました。dac+は動作確認をしていません。

       lightmpd.cnnf
          [mpd]
             dac=hifiberry-dacplus

       config.txt
          dtoverlay=hifiberry-dacplus

  • rpi-dac
    TIのPCM1794aを使ったI2S接続のDAC
       lightmpd.conf
          [mpd]
             dac=rpi-dac

        config.txt
          dtoverlay=rpi-dac

  • SabreBerry32(新規)
    new_western_elecで配布されているDAC。
    DACチップはESS SABRE9018Q2C。
    DAC上のクロックで動作するマスターモードとAsyncモードが選択できます。
    マスターモードとAsyncモードについては配布元のページで確認して下さい。

        lightmpd.conf
          [mpd]
            dac= SabreBerry32

        config.txt
          dtoverlay=sabreberry32           <-  マスターモード
          dtoverlay=sabreberry32,slave     <-  Asyncモード

  • hifiberry-digi(新規)
    spdif出力

    lightmpd.conf
      [mpd]
        dac=hifiberry-digi

    config.txt
      dtoverlay=hifiberry-digi

    hifiberry-digiを使う場合はdacmoduledef.dacを入れ替える必要があります。

  • usb-audio
    usb接続のDACまたはDDC

        lightmpd.conf
          [mpd]
             dac=usb-audio

        config.txt
           無指定

  • usb-hiface
    M2TECHのhiface

        lightmpd.conf
          [mpd]
            dac=usb-hiface

        config.txt
         無指定


Mixerの対応

SabreBerry32,hifiberry-dac+ pro ともハードウェアボリュームやデジタルフィルターの特性を変更する機能があります。
特にデジタルフィルターを変更する事でどのように音が変化するか興味あるところですので、lightmpd.confの設定で変更できるようにしました。
また、mpdでハードウェアのボリュームが使えるようにするための方法についても説明します。

Mixerについては当初よりその機能はあったのですが、mixerの機能、設定方法はDAC(DDC)ごとに異なり、トラブルになった時は実機がないと
サポートが不可能なのであえてふれないようにしてました。
mixerについてはページを改めて設定方法を説明する事にして、以下の説明ではsabereberry32,hifiberry-dac+ proの機能の内有用と思われる機能について説明します。


amixer_sset

lightmnpd.confの[mpd]にamixer_ssetという項目を設けました。
起動時にmixerを通してDACの設定を行います。
mixerの設定項目とその項目に対する値をスペースで区切ります。
設定項目や設定値にスペースが含まれる場合は''でくくります。

複数の設定項目を変更する場合は & で区切ります。

1. SabreBerry32

以下の項目について説明します。
  •  'Filter Type'
  •  'Playback Digital'
  •  Mute

○ 'Filter Type'
 DAC内蔵のディジタルフィルターの特性を設定します。
 設定可能な値は
  •    'Fast Roll-Off'
  •    'Slow Roll-Off'
  •    'Minimum Phase'

 です。デフォルトは'Fast Roll-Off'です。
フィルターの特性については配布元のページを参照して下さい。

○ 'Playback Digital'
 DACのボリュームを設定します。
 設定は%,db,デジタル値(0-255)等で指定できます。

○ Mute
 DACの出力をOn,Offします。MuteをOnにすると音が聞こえなくなります。

設定例

  amixer_sset='Playback Digital' 100%,100% & 'Filter Type' 'Minimum Phase' &  Mute off


mpdのクライアントから音量の調節を行うばあいはmpd.confを以下のように修正して下さい。

mix_type  "disaable" の行を削除(2箇所あります)

audio_output に

 mixer_control           "Playback Digital"

を追加する。


2. hifiberry-dacplus

以下の項目について説明します。
  • 'DSP Program'
  • Digital

○ 'DSP Program'
DAC内蔵のデジタルフィルターの特性を変更します。
設定出来る値は
  •  'FIR interpolation with de-emphasis'
  •  'Low latency IIR with de-emphasis'
  •  'High attenuation with de-emphasis'
  •  'Fixed process flow'
  •  'Ringing-less low latency FIR'

です。デフォルトは 'FIR interpolation with de-emphasis' です。

○ Digital
DACの出力のOn,Offおよび音量を設定します。
設定は 左チャンネルMute,右チャンネルMute,左チャンネル音量,右チャンネル音量で指定します。
音量は%,db,デジタル値(0-207)で指定できます。

設定例
    amixer_sset='DSP Program' 'Fir interpolation with de-emphasis' & 'Digital' on,on,100%,100%

mpdのクライアントから音量の調節を行うばあいはmpd.confを以下のように修正して下さい。

mix_type  "disaable" の行を削除(2箇所あります)

audio_output に

 mixer_control           "Digital"

を追加する。




Raspberry Pi 3 の対応

パッケージにはRaspberry Pi 3用のdtb(bcm2710-rpi-3-b.dtb)は含まれていませんが、Raspberry Pi 2用のbcm2709-rpi-2-b.dtbでも動作しました。
bcm2710-rpi-3-b.dtbも用意しましたのでRaspberry Pi 3で動作させる場合はbcm2710-rpi-3-b.dtbをmicroSDメモリにコピーして下さい。



ダウンロード

  • lightMPDraspi2-v1.0.2.zip
  • bcm2710-rpi-3-b.dtb.zip
    解凍して出来たファイル(bcm2710-rpi-3-b.dtb)をlightMPDをインストーロしたmicroSDメモリにコピーして下さい。
  • dacmoduledef.scm-v102a.zip
    dacにhifiberry-digiを使う場合は解凍して出来たファイル(dacmoduledef.scm) をlightMPDをインストーロしたmicroSDメモリのlightMPDディレクトリにコピーして下さい。

インストール

fat32でフォーマットしたmicroSDメモリカードにlightMPDraspi2-v1.0.2.zipを解凍して下さい。
旧バージョンがインストールされたメモリカードにオーバーライトすると旨くインストールできません。
必ずフォーマットして下さい。
Raspberry Pi 3で使用する場合は、bcm2710-rpi-3-b.dtb.zipをv1.0.2 をインストールしたmicroSDメモリに解凍して下さい。
dacにhifiberry-digiを使う場合は、dacmoduledef.scm-y102a.zipをv1.0.2をインストールしたmicroSDメモリのlightMPDディレクトリに解凍して下さい。


lightMPDがPc Engines apu2シリーズに対応しました。

2016/01/30 8:07 に digififan が投稿

Pc Engiens社のapu2シリーズ用のlinux-4.4rt3カーネルを公開しました。
apu1用のlightMPDをインストールした媒体にapu2用のカーネルを入れ替える事によりapu2シリーズでも動作します。
apu2b4で動作確認しました。

Pc Engines社のカタログにはapu2b2,apu2c2がありapu2b4,apu2c4とはイーサーネットのチップが異なってますが、多分動作すると思います。
また、apu2cはapu2bのバグフィックス版の様です。

ダウンロード

インストール

ダウンロードしたファイルをapu1c用のlightMPDをインストールした媒体に解凍して下さい。

linux-4.4rt3を公開しました

2016/01/30 7:40 に digififan が投稿   [ 2016/01/30 7:42 に更新しました ]

下記機種のlinux-4.4rt3を公開しました。
  1. apu1c
  2. alix3d2
  3. beagle bone
  4. cubox
  5. cuboxi4
  6. wandaboard
Raspberry Pi関連は暫くお待ち下さい。

下記のDDC,DACがnative dsdに対応しました。
  1. iFi Audio micro/nano iDSD
  2. Matrix Audio X-Sabre
  3. Matrix Audio Mini-i Pro
  4. Gustard DAC-0X20U
  5. DIYINHK DSD DXD 384KHz USB to I2S/DSD
  6. JLsounds I2SoverUSB
  7. Aune XIS 32BIT/384 DSD DAC
  8. Electrart USDAシリーズ

ダウンロード

インストール

ダウンロードしたファイルをlightMPDをインストールしたドライブに解凍して下さい。


raspberry pi, raspberry pi 2用のlinux-4.0.5rt3を更新しました

2015/07/19 0:50 に digififan が投稿   [ 2015/07/21 5:43 に更新しました ]

raspberry pi,raspberry pi 2用のlinux-4.0.5rt3の改訂版を公開しました。
変更点は以下のとおりです。
  • native-dsd再生時のポップノイズの除去
  • I2Sのbit clockをlow jitter化
I2Sのlow jitter化についてはほーりーさんの日記この記事を参考しました。low jitter化は効果が著しいのでI2S接続をされているかたは入れ替えることをおすすめします。

但し、ピッチが0.008%ずれるそうです。


「ほーりーさんの日記」にはコメントがつけられないので、この場でお礼を申し上げます。ありがとうございました。

ダウンロード

ダウンロードしたファイルをlightMPDをインストールしたSDメモリに解凍して下さい。

native-dsd再生時のポップノイズに対応したkernelを公開しました

2015/07/16 2:27 に digififan が投稿   [ 2015/08/12 7:01 に更新しました ]

native-dsd再生開始時に発生するポップノイズに対応したカーネルを公開しました。
Kernelのヴァージョンはlinux-4.0.8rt4になります。
raspberry piおよびraspberry pi 2はまだlinux-4.0.8に間に合わないようなので今回の公開は見送ります。

apu版の場合ElectrArt USBDACでDSD再生終了時にノイズがでます。 同 USB-MINIではこのノイズがでませんでした。しかし、USB-MINIに繋がるDACによってはノイズがでる可能性はあります。
apu版以外ではこのノイズはでません。*1
apu版の場合ElectrArt製のUSDA_MINI,USBDAC基板をDSD変換モードで使用すると再生終了後にノイズがでます。
無変換モードではノイズはでません。また、apu版以外ではDSD変換モードでもノイズの発生はありません。*1

その他DIYINHKのXMOS USB to I2S/DSD + ES9018K2M DAC ではどの機種もノイズはありませんでした。*2

*1,*2) 終了のタイミングによってたまに小さなノイズがでる場合もあります

ダウンロード

インストール

ダウンロードしたファイルをlightMPDをインストールしたSDメモリまたはUSBメモリに解凍して下さい。


1-10 of 64