/ 雑記帳

DSDネイティブ再生 DoPとDSD出力の比較(修正版)

DSD再生の場合ドライバ−単体でみればWindowsのASIO2の方がlinuxのDoP方式より優れていたと思います。
linuxでのDSD再生音はWindows+ASIO2に比べて劣っている状態が続いていたが?
kernelとmpdにDSDネイティブ再生を可能とするパッチがリリースされ実用に
耐えるものとなりお陰で両者を比較しても差を感じる事は無くなったと思う。
      
linuxでDSDを再生する仕組み(DoP)としてDSD信号入力のUSB-DACの殆どのモデルは
DoP(DSD over PCM)という方式で信号を伝達している。
これはDSD信号を通常のPCMの枠を使って伝送するという方式。
本来PCM伝送のための枠組みを使って裏技的にDSD信号を通すために
24ビットデータの先頭に8ビットのMarkerを付加してDSDデータと判別できるようにしてから
ホスト側からストリーミングを開始ホスト側では付加されたMarkerを判断して信号処理を行い
アナログ出力へ変換します。Markerが付加されるので
データ量は1.5倍強に増える事となり且つデータが転送されるごとに
PCMかDSDかの判断を行なっているためCPU負荷が大きくなる等の問題があり
再生音に影を落とす事となっていた様に思います?!
(DSD64(2.8MHzのデータ)の場合の転送にはPCMの176.4kHzが必要となる)
      
DSD64再生時動作状況の例
--------------------------------------
カード 0: Combo384
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200
--------------------------------------
DoP方式で一般的なDSD信号(2.8MHzサンプリング)を通すには、PCM換算で24bit/176.4kHzの帯域幅が必要。
  
一方、同じハードウエア環境でDSDネイティブ再生を可能とするパッチを適応した場合は

--------------------------------------
カード 0: Combo384
access: RW_INTERLEAVED
format: DSD_U32_LE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100
--------------------------------------
DSDフォーマットの直接出力となっているため88200kHzとなっている
         

(注1)※以下は先輩に教えていただきました(^_^;)Dop方式の再生が出る以前には
DSD再生はPCMに変換して聴いていました。当時はPCMに変換しないという意味で
Dop方式をDSDネイティブ再生と呼んでいました。
その後に独Steinberg Media TechnologiesがASIO2.1を開発し
DSDデーターをASIOドライバーを使って無変換で再生する事が出来るようになりました。
現在ではこの方式をDSDネイティブ再生と呼んでいる様です。
ASIOの使用はOSがWindows環境である事が必要でMACやLINUXで使えません。

— posted by くま at 11:12 am   pingTrackBack [0]

 

Linux native DSD playback support

一言で言えば「LinuxでASIO 2.1/2.2ドライバーと同等の機能を実現させた」って事
凄いんですけど話題になってない何故?(^_^;)
 
参考リンク:https://github.com/lintweaker/xmos-native-dsdLink
      
Native DSD support for XMOS based devices
    
XMOS based USB DACs and converters can support native DSD playback using a 32-bit sample format.
DACs that support this feature expose it using a Alternate Setting on the USB interface. 
     
On Windows systems this feature can be used with a ASIO 2.1/2.2 driver from the DAC manufacturer.
     
I have added a new DSD sample format to ALSA and the Linux kernel (DSD_U32_LE) to support it on Linux and added the needed quirks to support it for a few XMOS based USB DACs/boards.
     
Currently native DSD playback on Linux is supported for the following
XMOS based DACs/USB converters:
iFi Audio micro iDSD [max DSD512]
iFi Audio nano
iDSD [max DSD256, with latest 4.04 firmware]
DIYINHK USB to I2S/DSD converter
[max DSD128] ..more to follow
-------------------------------------------------------------------------------------------------------------------
XMOSベースのUSB_DACとDDC(コンバータ)は32ビットのサンプルフォーマットを使用してネイティブDSD再生をサポートすることができます。
この機能をサポートしているDACはUSBインターフェース上の代替設定を使用して聴く事を可能にします。
      
ASIO2.1/2.2ドライバーはWindowsシステム上でメーカーにより製造されたDACからで使用することができます。
      
私は、Linux上でそれをサポートするためにALSAとLinuxカーネル(DSD_U32_LE)に新しいDSDサンプルフォーマットを追加し、
いくつかのXMOSベースのUSB_DAC/DDCボードをサポートするために必要な癖を追加しました。
      
現在Linux上でネイティブDSD再生は以下のXMOSベースのDAC/USBコンバータでサポートされています。
      

— posted by くま at 11:09 am   pingTrackBack [0]

 

嬉しい誤算?

http://kkuma.mydns.jp/ppBlog/index.php?UID=1467038303Link
この記事でLL1538XLはAK449Xの出力トランスにするには
仕様である最大入力レベル(3.5Vrms)が低いのでは?と書いていたがどうやら間違いの様に思う。
      
実効値 正弦波の単位変換は Vrms=V(p-p)/(2√2) ということで勘違いしていた(2が抜けていた。)(^_^;)
DACのMAXの出力電圧はカタログ値から 2.95Vp-p これをVrmsに直すと 
2.95Vp-p/(2√2)=1.0429Vrms<3.5Vrms となり入力オーバーでは無い。
しかしトランスを1:2.5 で使用しているので出力には最大1.0429Vrmsx2.5=2.607Vrmsと
いう高出力が出てしまう。
これをダイナミックレンジを損なわない様に受けるという課題は未だに残っている(^_^;)
追記:2017/2/10
レベル的には満足できてもAK4490EQの負荷として直流抵抗的に満足できていない。という疑念が...

— posted by くま at 11:07 am   pingTrackBack [0]

 

mpd-0.19.17 install

$ uname -aLinux arch 4.6.2-rt5-ARCH #9 SMP Sun Jul 24 18:11:12 JST 2016 x86_64 GNU/Linux
   
$ patch -p1 < 0001-Extend-native-DSD-support-for-MPD-0.19.16.patch
$ patch -p1 < 0008-native-DSD-u32le.patch

$ ./configure --prefix=/usr/local --enable-soxr --disable-ipv6 --enable-libmpdclient --enable-nfs --enable-smbclient --enable-httpd-output --enable-httpd-output --disable-largefile --enable-mad --disable-un --enable-shout --enable-werror --enable-soundcloud --enable-mikmod --enable-pipe-output --enable-recorder-output --enable-shout --enable-vorbis --enable-database 
    

$ make -j 3
# make install

— posted by くま at 11:05 am   pingTrackBack [0]

AK4490EQ-DAC-i2s-input PCM DSD 切り替えプログラム(Arduino Uno R3)

http://www.diyinhk.com/shop/audio-kits/68-768khz32bit-ak4490eq-dac-i2sdsd-input.html#/dac_option-xmos_384k_dac_and_led_pcb
このキットを購入してUSB入力部分のXMOS制御を使うこと無しにArduino Uno R3を使って
制御する場合にはこのリンクのプログラムで可能です。
http://kkuma.mydns.jp/wordpress/2016/05/ak4490eq-dac-i2s-input-pcm-dsd-%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0arduino-uno-r3/
case DSD or PCM の部分は各自の環境に合わせて編集してください。
ループの部分はDSD or PCM の判別だけに回っていて無駄な書き込みがありません。
そのためか?切り替えのイズが少ないと思います。
プログラム中の電気的接続について
 #define LED_DSD 2 // 一番左
 #define LED_DSDM 8 // 一番右
      
この部分は
3.3vを1番としたときに
arduino-pin-No2 DDCコネクタ-pin-No6
arduino-pin-No8 DDCコネクタ-pin-No3

DCIM0689



— posted by くま at 01:19 pm   pingTrackBack [0]

LinkStationの共有フォルダーをlinux上にマウントする場合

LinkStationの共有フォルダーをlinux上にマウントする場合のLinux側の゜設定が良くわからない。
/etc/fstab に一行でこれをを書く。たぶんこうなると思う。客先で実験できず(笑)
//192.168.1.4/music /var/lib/mpd/music cifs username=admin,password=password,uid=1000,gid=hdusers,codepage=cp932,iocharset=utf8,rw,defaults 0 0

参考:http://buffalo.jp/download/manual/html/lsxl/k_useradd.html

— posted by くま at 03:58 pm   pingTrackBack [0]

 

lightmpd NAS共有ホルダーへのアクセス (2)

nfsとcifsで同じディレクトリーをマウントするにもこれだけ違いがある。
恐らく市販のNASでcifsで共有する場合の設定はsambaの設定に準拠していると思われる。
        
#[nas:Music]
#type=nfs
#host=192.168.11.25
#remotedir=/var/video/CD-MOTO2
#proto=tcp
#rsize=65536
#wsize=65536
[nas:music]
type=cifs
host=192.168.11.25
remotedir=music
remoteuser=admin
remotepass=12345678q
iocharset=utf8
file_mode=0644
dir_mode=0755
rsize=61440
wsize=65536
#########################################
この場合のサーバー側の設定は
 
/etc/samba/smb.confの場合
 
        
[music]
comment = Music Directories
path = /var/video/CD-MOTO2
read only = No
create mask = 0777
directory mask = 0777
guest ok = Yes
      
#########################################
/etc/exportsの場合(nfs)
/var/video/CD-MOTO2 *(rw,sync,no_root_squash)

— posted by くま at 12:28 pm   pingTrackBack [0]

lightmpd NAS共有ホルダーへのアクセス

NAS上に作成した共有ファイルにアクセスするためのプロトコルは
Windows系ならばcifs(Common Internet File Systemであり
Linux系ならば(Network File System)である。
これらのプロトコルを使ってNASに接続すれば,
NAS上のファイルをローカルディスクにあるファイルとして読み書き出来る。
面倒なのはlightmpdの設定ファイルでの書き方がcifsとNFSでは違うところである。
バッファローとかの汎用品であれば(低価格品)cifsである事がほとんどであると思う。
高級品のNASであれば両方のプロトコルをサポートしている場合もある。
管理人としては慣れの問題もあるかも知れないがNFSでの設定が分かりやすい様に思う。
続く...

— posted by くま at 11:21 pm   pingTrackBack [0]

デジファイおとさん apu1用のlightMPD-v1.0.2(64bit版)を公開 

下の記事を書いた途端にアップデートがかかった様な(笑)

Windowsによる書き込みツール
http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows
      
イメージファイル
apuboot256m.img.zip:https://drive.google.com/file/d/0B6wqcK_p4l0RbXhRMFBXaHcwekk/view
apuboot2g.img.xz:https://drive.google.com/file/d/0B6wqcK_p4l0RS3M1SkQ2YXl1SnM/view
apuboot4g.img.xz:https://drive.google.com/file/d/0B6wqcK_p4l0ReUdPY2JuV1hjV2s/view
配布パッケージ
lightMPDapu1-v1.0.2-64.zip:https://drive.google.com/file/d/0B6wqcK_p4l0RZHF2V3BIVy1CVVU/view
入れ替え可能kernel
apu1-linux-4.6rt1-20160520.zip:https://drive.google.com/file/d/0B6wqcK_p4l0RSWtqSkhrV1dEUVU/view

— posted by くま at 10:44 am   pingTrackBack [0]

lightmpd for APU1C

https://sites.google.com/site/digififan/info/apu1cyongnolightmpd-v100wogongkaishimashita
https://sites.google.com/site/digififan/info/linux-44rt3wogongkaishimashita
      
この二ページ分の情報を使ってインストールすれば私の見落としが無い限りは最新の状態での
lightmpd for APU1C ではないかと思う。
特にカーネルが4.4.0-rt3-lightMPDになるとDSD再生時のポップノイズ対策がしてあるので
入れ替えていない方は是非ともやるべきと思う。

— posted by くま at 03:59 pm   pingTrackBack [0]

<< 2024.9 >>
SMTWTFS
1234 5 6 7
89 101112 1314
15 161718192021
222324 25262728
2930     
 
























ThemePanel
Created in 0.0137 sec.