/ 雑記帳

[ Tags :: DSD ]

帯域幅が足りない様な気がするけど 余計なお世話かぁ間違いかぁ(笑)

某掲示板で DSD11.2MHzの再生 という質問を見たが
DACのデジタル入力仕様が 同期 帯域:28 kHz 〜 200 kHz
とあるから192KHzまでの入力対応という事なのかな?
だとすればDSD64ぐらいまでが限界の様に思う。
参考までに自分の環境でDSD11.2MHz(DSD-native)再生した時は

$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: DSD_U32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072

DSD-nativeでさえ
352.8KHzの帯域を使って再生してるから...

再生したファイルの参考データー
Album : ドラマチック<2016デジタル・リマスター>
Audio
Format : DSD
Format/Info : Direct Stream Digital
Commercial name : DSD256
Format settings : Little
Duration : 4 min 4 s
Bit rate : 22.6 Mb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 11.3 MHz
Compression mode : Lossless
Stream size : 658 MiB (100%)

— posted by くま at 10:35 pm  

中華コピー品 Combo384のFirmwareを書き換えてDSD対応

ebayで購入した中華Combo384コピー品を調べてみると商品説明とは異なり
DSD対応ではありませんでした('~`;)┌
ちょっとムカついて撃沈覚悟で純正のファームウエアツールで書き換えてみました。

参考リンク http://select.marutsu.co.jp/list/detail.php?id=213
マルツの記事を参考にDDCを単体でUSB接続しジャンパをショートさせて現状の書き込み内容を消去
USBに再接続してPCにシリアルデバイス(ポート)として認識されたか?を確認後に
oemtool117.zipのConfigTool.exeを実行
OEMIDとしてcombo384と入力してCPLD_for_1080を選択してFlash CPLDをクリック。
あらら...書き換え途中でエラーが出ます ^^;
      
Invalid or not authorized transaction!
      
本物?の輸入代理店のサイトには
書き換えに失敗したり、間違った設定を行ったりすると使用できなくなります。
使用できなくなったとしても新品との交換は受け付けておりません。取扱いには十分ご注意ください。
との注意書きが...
      
oemtool117ではエラーが出てしまってCombo384が使用不能...
Audioデバイスとして機能しない只のシリアルデバイス表示する物体へ変身(笑)
Google先生頼りにしてますと言うことで(笑)....
ここに
http://forum.vegalab.ru/showthread.php?t=59043&page=19

combo192


とういう情報を発見!!
しかし117ではやはり同じエラーが出て書き換え不可でした。
それで更にGoogle先生で情報を検索すると118なら出来るとの記述を発見!
oem tool118を使って且つOEMIDを「Combo192」で一度書き換えると
次からはoemtool117で「Combo384」で書き換え可能になります。
参考情報 CPLD_for_1080 firmware_1099C(DSD_U32_BE) を書き込み
     ちなみにFirmware 1.099rc1 だとDSD_U32_LEになるらしい。
Linuxでデバイス情報を表示させて見ると...
      
$ lsusb
Bus 002 Device 006: ID 16d0:071a MCS
      
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 1: Amanero [Combo384 Amanero], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
      
$ cat /proc/asound/card1/stream0
Amanero Technologies Combo384 Amanero at usb-0000:00:1d.7-6.4, high speed : USB Audio

Playback:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 5 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
---------------------------------------

— posted by at 09:37 am   commentComment [2] 

PCM-DSD 切り替え実験(1)(2)

SN74CBTLV3257DBQRを使って切り替え回路を試作するつもりです。

切り替えSWにはDDCのDSD-ON信号を使います。
過去の経験からタイミング調整回路を含んだ出力ショート型のノイズ防止回路が必要になると思います。
ebayに使えそうな基板があったので入手しました。基板そのままのロジックICでは使えないのですが...
SN74CBTLV3257DBQRへ張り替えれば1入力2出力切り替え用途の使える様になります。
海外(デジキー)からしか調達出来ない様で材料が揃ったらこの記事も加筆していきます。
追記:2018/4/27
基板のICを交換1入力を2出力選択に改造してPCM-DSD切り替え可能とすると共に
切り替えコントロールをトグルSWへ接続した。
我が家の環境?ではそのまま素直に接続するとPCMの時のLRは正常だがDSD再生時はLRがテレコになる。
故にDSDコネクタの接続でDATA1,LRCKを交換して接続する。

DSD-PCM


74CBTLV3257 を使って手動ではありますが切り替え回路を追加しました。

SW-PCM-DSD-1


追記:その後配線を整理

sw2



— posted by くま at 08:19 pm  

SRC4137 起動不良対策(1)

我が家のSRC4137は電源ON時に起動せず「■■■■■■■■■■」表示で
止まってしまうことが多々あるので原因を探りつつ対策をしてきたが
決定打が出ないままズルズルと使っている。
最近、どうも起動時がOKでも音楽再生をしているうちに
表示が文字が化けたりする様なので
バックライト電源を独立させ且つ定電流化をして様子を見ることにした。

LCD



— posted by くま at 01:30 am  

DSD配信サーバーの罠(^_^;)

DSD対応配信サーバーを二種類試した。
どちらも問題なくDSDデーターを再生出来たが
DACに入力される形式に違いがある。
前者がDSD nativeであり後者はDoPである。
もちろんDACの入力表示はどちらもDSD入力と表示される。(^_^;)
      
**** List of PLAYBACK Hardware Devices ****
card 0: D20 [DIYINHK USB Audio 2.0], device 0: USB Audio [USB Audio]
Subdevices: 0/1
      
Twonky Serverで配信
# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 3308
buffer_size: 13230
      
Minimserverで配信
(flac:wav, alac:wav, mp3:wav24, aac:wav24, dff:dopwav, dsf:dopwav)
某ブログでこの設定を空白にすればDSD nativeになると書いてあるが我が家では音も出ない?

※6/18修正追加Ubuntu16.04.2LTS環境ではMinimServer-0.8.4-linux-x64でDSD256で配信が確認出来た(^_^;)

管理人がLinux上で無料?で使用できる音楽配信可能サーバーでは
DSD nativeを配信出来るものは無かった。
      
# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 705600 (705600/1)
period_size: 26460
buffer_size: 105840
      
MinimserverはLINNで推奨されていると言うことだが
そもそもLINNはDSDを相手にしてないから(^_^;)

— posted by くま at 01:26 pm  

Archlinux DSD native 再生が通常のインストールで可能になった。

$ uname -a
Linux arch 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux
      
$ /usr/bin/mpd -V
Music Player Daemon 0.20.2
      
これで何が言いたいのかと言えば
Archlinuxを普通にインストールして
この状態ならばパッチも当てずコンパイルの必要もなく
(カーネルで指定されたDDC,DACの必要はあるが)
DSD native 再生が通常のインストールで可能になったと言う事です。
もちろん/etc/mpd.confはDSDnativeに関する指定は何も指定しなくて
問題なしです。世の中進んでます!

— posted by くま at 08:42 am  

git版 mpd を使って且つ指定 DAC XMOS を使えばDSDをnativeで再生できる

$ ./mpd -V
Music Player Daemon 0.20.2 (v0.20.1-32-gc5cf66402)

$ uname -a
Linux arch 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux
この組み合わせで確認できた。
DSD512再生時のalsaステイタス
--------------------------------------
カード 0: DIYINHK
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072
--------------------------------------

— posted by くま at 11:44 pm  

Raspberry Pi2 で DSD 11.2MHz(DSD 256)ファイルを再生する

現状、RaspberryPI2のGPIOピンからのI2S出力は Native DSD 出力※注意6 は出来ないのだが
本体の2倍もする価格のDDC※注意2を使用して Native DSD(非DoP)を実現するのは邪道なのかとは思う(^_^;)
参考リンク
ラズパイ・オーディオでDSD 11.2MHz(DSD 256)対応が遅れている理由
http://www.phileweb.com/review/article/201606/16/2110.html
Raspberry Pi 2 | Arch Linux ARM※注意4
https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2
Raspberry PiにArch Linuxをインストールする
http://www.nspl.co.jp/blog/archlinux_installation
この三つリンクを読んでいただくと実験の意味、やり方を理解出来ると思う。
結論を書くとRaspberryPI2とDIYINHK製DDCを組み合わせてI2S対応のDAC(DSD256対応品)に組み合わせると
RaspberryPI2でDSD 11.2MHz(DSD 256)が再生できるという事である。(追試してOK)
      
本体:Raspberry Pi2 TypeB
作業環境:Debian jessie 64bit
使用ソフト:GParted Partition Editor
使用機器:DIYINHK製 XMOS DSD DXD 384kHz
      
概要
1.ArchLinuxARM-rpi-2をインストールする。
GParted Partition Editorを用意して
(1)SDカ−ド全体をfat32にフォーマットする。
(2)sda1:100M以上 fat32 bootフラグ付き sda2:残りの容量 ext4 のパーテーション作成
(3)各パーテーションをマウントしてインストールする。
      
# mount -t ext4 /dev/sdx2 /mnt (第2パーティションを/mntにマウント)
# mkdir /mnt/boot (/bootディレクトリを作成する)
# mount -t vfat /dev/sdx1 /mnt/boot (入れ子のマウントになっているので注意)
# wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-rpi-latest.tar.gz -C /mnt
-p:ファイルの所有者やパーミッションを変更しない
-C:オプションは、展開先のディレクトリを指定
      
2.mpd-0.19.16 にパッチを当ててコンパイルインストール、設定する。
参考リンク:http://kkuma.mydns.jp/Linux-archlinux/index8.shtml
      
3.DIYINHK製のDDCと組み合わせてテストしてみると11.2MHzファイルまで再生出来ました。
      
$ cat /proc/asound/card0/pcm0p/sub0/hw_params
--------------------------------------
カード 0: DIYINHK
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072
--------------------------------------
      
$ telnet 192.168.11.23 6600
Trying 192.168.11.23...
Connected to 192.168.11.23.
Escape character is '^]'.
OK MPD 0.19.0
status
volume: 100
repeat: 0
random: 0
single: 0
consume: 0
play

— posted by at 09:08 am  

SRC4137+AK4490-5v1 DSD-PCM自動切り替え回路 これで良いのかな...

SWSW-1



— posted by くま at 02:13 pm  

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]

<< 2024.3 >>
SMTWTFS
     12
3456 7 89
10 11 1213141516
17 1819 20 21 2223
24 25 26 27 2829 30
31      
 
























T: Y: ALL: Online:
ThemePanel
Created in 0.3774 sec.