/ 雑記帳

[ カテゴリー » I2S ]

lightmpd/upnpgw x86-64版 kernel にDGXを認識させる

マザーボードBIOSでSOUND停止するのを忘れてますね(笑)
とりあえずlightmpd/upnpgw standaloneモードでの動作は確認出来ました。
※注意事項 Core 2 Quad 付きのPCでテストしているのでi3〜i9での動作するのか?不明でしたが
      本日のテストでめでたくi5-CPUでも動作確認しました。
※Donuts Shop73氏に感謝

$ telnet 192.168.11.23
Trying 192.168.11.23...
Connected to 192.168.11.23.
Escape character is '^]'.

lightmpd login: root
Password:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: Generic Analog [Generic Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: Generic Digital [Generic Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: DGX [Xonar DGX], device 0: Multichannel [Multichannel]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: DGX [Xonar DGX], device 1: Digital [Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0

build


このkernelだとC-Media8786 とか*を付けてKernelを再構築すればドライバーが組み込めると...

— posted by くま at 09:09 pm  

改造カードの設定(1) for linux(Archlinux)

最初にやる事はALSAで認識されているか?確認する。


$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: DGX [Xonar DGX], デバイス 0: Multichannel [Multichannel]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: DGX [Xonar DGX], デバイス 1: Digital [Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Intel [HDA Intel], デバイス 0: ALC889A Analog [ALC889A Analog]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Intel [HDA Intel], デバイス 1: ALC889A Digital [ALC889A Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0

改造カードは [Multichannel] [Digital] で認識されています。
mpd等の設定では[Digital]では無く[Multichannel]の方で設定しなければなりません。
カードがアナログで出力するつもりで基板上のDACにi2s信号を出すからです。
audaciousの設定ではこうなります。この再生プレーヤーはデバック時に便利です。
このテストで音が出なければ当然 mpd でも音は出ません。

audi



なので mpd.conf では

device "hw:0,0" となります。

不具合の記事で書いた様に過大入力で音が歪む場合があるのでミキサーの設定は

mixer_type "software"

linuxのドライバーの不具合でalsamixが立ち上げ時でミュートになっている場合があるので確認

alsamix



不幸にして音が出ない時に真っ先に試してみるべきコマンドはこれで
音源ファイルを再生中に実行します。
これは出力がOKの場合の表示です。ダメなときは close と出ます。

$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 11024
buffer_size: 44100

※カード0 デバイス0 の場合

— posted by くま at 08:04 pm  

 

i2s出力仕様へ改造時の不具合(2)

何とか配線が引き出せたぁ!と喜ぶのはまだ早いかも...
i2s出力仕様に改造していて一番やっかいで嵌まると中々抜けられないのが
サウンドカードのDACチップ内部に数何チャンネル分のDACが入っている場合です。
それらはサラウンドを実現するために入っているわけですが
必要なのはフロントSTEREO信号だけです。

横取り配線時に確実にその信号が出ているICチップの足から
配線すれば問題ないのですが...
どの足なのか?検討をつけるのが結構難しい。
一般的なサウンドカードは
外部出力の緑色のジャックがフロント信号になっているので
そこから逆に基板上のパターンを追うと
オペアンプ-DACチップ-サウンドプロセッサー という接続になっているはずで
それでフロント出力の足がどれなのか?見極める必要があります。
簡単に書いていますが結構大変です(笑)
加えてDATAに当たる線が何本も出ていてどれがフロント信号名のか?とか
一発で音が出るのはかなりラッキーで...まぁ最後は総当たり戦になります。

— posted by くま at 12:20 pm  

 

i2s出力仕様へ改造時の不具合(1)

i2s横取り仕様に改造したサウンドカードの出音は良いです。
しかし通常使用では無いため色々と不具合もあります。

元々Windowsドライバーで使う事を前提としているので
使用するOSをWindowsにすれば解消される可能性もあるのですが
自宅には環境が無いためテスト出来ません。
現状linux使用で気になる点は(ASUS DGX DSX 共通の問題)

mpd設定でwavファイルを再生した時(ボリューム100%で)
mixer_type "hardware" とした場合に音源のレベルが高い時に歪む。
"software" として音量を絞ると解消する。

解析を継続していますがDSDファイル再生時は音量を絞っても解消しません。
恐らくDSDの方は解消しない可能性が高いと思います。
実験ラボ?moct氏宅ではDSD再生はほとんどしないので発覚が遅れました(笑)
しかしながらこのウイークポイントが解消しなくても再生がPCMだけという制約が付いても
使いたい改造カードです。

まぁ極論を言うとWindowsでもまともなドライバーが
メーカーから供給されていないモノもあるので
吟味選択しても完璧な改造カードなんて作れないかもですね(笑)
改造作業に問題がなくても失敗する可能性は常に存在する。
だから現状ではlinuxで十分な動作実績があるカードを入手、改造してテストするしか無い。
出た所勝負なんですね(笑)

moct氏の所に何枚も改造カードがあるのは
彼は人柱になっても「PCIe出力のi2s信号で何としても鳴らしたい。」と決意して
改造後の動作する可能性のあるカードを片っ端からオークションで購入したからなんですね(笑)
だから自分も其の意気に押されて霞む目を凝らして改造作業に協力したんです。
記事を見て改造して失敗した人から批判されそうだけど
改造可能カード名が公表されているだけで有り難い話だと
改造カードユーザーの一人としては思うのだけれど...

— posted by くま at 12:00 am  

DGX ローブラケットタイプ コンデンサー交換バージョン完成

3端子レギュレーター周りの電解コンデンサを奢ってやると幸せになれるかも...

SLB-DGX



1609979099dgx



注意事項:この記事を元に改造を行い故障や発煙発火あるいは動作しない等不具合が発生しても当方は一切の責任は取れません。

— posted by くま at 09:13 am  

改造サウンドカード用ブラケット小 製作中...

ヤフオクで調達すると99%付属していないのが辛い。
フルタワーケースでデジタルプレーヤーなんてあり得ない。
大きさとして許せるのはMicroATXだと思う。
Audio用のセンスの良いケースは市場には皆無だ。
とりあえずレンタルバックのスリム型HP製のPCを中古で購入して実験環境として使用している。
なのでそのサイズに適合するブラケットが欲しくなるが...
もう作るしかなく(笑)4個ぐらい作ってみてやっと許せるモノが作れた...疲れたぁ

bura1



bu2



— posted by くま at 06:17 pm  

Xonar DGX DSXの改造完了 出音確認中

ASUS2


2B


# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: DSX [Xonar DSX], デバイス 0: Multichannel [Multichannel]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
カード 0: DSX [Xonar DSX], デバイス 1: Digital [Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Intel [HDA Intel], デバイス 0: ALC889A Analog [ALC889A Analog]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Intel [HDA Intel], デバイス 1: ALC889A Digital [ALC889A Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0

# c00
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5512
buffer_size: 22052

# c00
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

今回ASUS製の2種類のカードをI2S出力仕様に改造して比較試聴をした。

基本的な音質レベルには差がほとんど無いと思われるのだが
音のキャラクターは同じ軸上には無いと言い切れる。上位モデルXonar DSXの方がゴージャスなのだ(笑)
Audio的正確に音を聴くのであれば下位モデルXonar DGXが良いと感じる
この音の違いはサウンドプロセッサーの違いでC-Media製CMI8786とASUS製のAV66から来ている。
上位モデルは音楽再生というよりもDVD映画、TV録画等のソース再生をメイン設計されたのではないか?

hikaku


多分いちばん見たい映像かも(笑)
ICリード幅:0.22mm 端子間ピッチ:0.5mm 導体間クリアランス0.5-(0.11+0.11)=0.28mm
注:一番上手く出来た端子です^^;

kakudai



注意事項:この記事を元に改造を行い故障や発煙発火あるいは動作しない等不具合が発生しても当方は一切の責任は取れません。

— posted by くま at 10:24 pm  

SOUNDカードi2s出力へ改造

ヤフオクで落札出来たんだが...何時配達になるのかなぁ
今、悩んでいるのはI2S出力コネクタを取り付ける所が無いという事!
追記:1/8
昨日夜、酔っ払った勢いで改造したらトラブル続発(笑)今朝すべて解決して音出し成功。
追記:1/10
DAC_ICへ入力される部分で信号を強奪しているためにレベル調整をしないと
音が歪んでしまう。通常のよりもかなり高いレベルの信号なので
ここを限界まで高く調整する事により信号伝達ロス対策になると思われる。

ロードされているモジュール
$ lsmod | grep snd
snd_oxygen 32768 3
snd_oxygen_lib 53248 1 snd_oxygen
snd_mpu401_uart 16384 1 snd_oxygen_lib
snd_rawmidi 45056 1 snd_mpu401_uart
snd_seq_device 16384 1 snd_rawmidi
snd_pcm 147456 2 snd_oxygen_lib
snd_timer 45056 1 snd_pcm
snd 114688 12 snd_seq_device,snd_oxygen,snd_oxygen_lib,snd_timer,snd_mpu401_uart,snd_pcm,snd_rawmidi
soundcore 16384 1 snd

ALSAでの認識
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: DGX [Xonar DGX], デバイス 0: Multichannel [Multichannel]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: DGX [Xonar DGX], デバイス 1: Digital [Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0

44.1KHz再生時
$ c00
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5512
buffer_size: 22052

192KHz再生時
$ c00
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

768KHz再生時
# c00
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

General
Complete name : decade wind_01_うた 768k High Edition.wav
Format : Wave
File size : 1.50 GiB
Duration : 4 min 21 s
Overall bit rate mode : Constant
Overall bit rate : 49.2 Mb/s
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 4 min 21 s
Bit rate mode : Constant
Bit rate : 49.2 Mb/s
Channel(s) : 2 channels
Sampling rate : 768 kHz
Bit depth : 32 bits
Stream size : 1.50 GiB (100%)

※テストしたカードはカタログ上のスペックでは96KHzまでの再生となっているが...
 DAC_ICへ入力されている信号は96KHzよりも高い192KHz状態なのか?
 ASUS製サウンドカードをイジっていると無茶を色々やっているのが発見出来て面白い。

kai2


管理人のポリシーとして見栄えも音のうちなのでI2S出力コネクターの取り付け金具を製作してみた。

CS4245-1


メインの2ch分はCS4245で出力している。
もう一個のSOPパッケージのDACはサラウンド出力対応の様だ。
この基板の電解コンデンサー極性表示のシルクはプラス側が白塗りになっていてドッキリする(笑)
パターンを追って確認してみたが極性的には間違っていない様だ。

dgx



CM8XXXシリーズは192KHz 32bit出力のサウンドプロセッサー...

CMI




注意事項:この記事を元に改造を行い故障や発煙発火あるいは動作しない等不具合が
     発生しても当方は一切の責任は取れません。

— posted by くま at 09:24 am  

I2S送受信基板の電源

市販品のI2S入出力付きのDACやデジタルプレーヤーでは
手を入れるのが困難だと思うが...
自作品となれば話は別になる。
贅沢な電源基板をやなさんのI2S-HDNI送受信基板に
組み合わせて聴くと分解能の高さに気がつくはずで
改めて電源の重要性を感じる。
現状で市販されているのDAC-ICはI2S入力が大部分なので
プレーヤーから接続される入力信号は手を加えないI2S信号そのものがベストだと思う。
SPDIFとか光とかで入力されても結局最後はI2Sに変換されてDAC-ICへ入力されるのだから
I2S信号でやりとりするのがやはり一番シンプルで劣化が少ないと考えている。

光入力は直接接続していないから最高という意見を目にするが
結局光を出すための光素子をドライブしているのは送り側回路中トランジスタ等である。
回路中のVCC-GND間で動作しているのでそこにノイズが存在すればその分も光るはずで(笑)。
ノイズ成分が伝送されないとすればそれはVCC-GND間に存在するノイズ成分を
伝送していないと言う事であり何らかのフィルターが介在している事と同じだと思う。
果たしてそれがノイズだけだと誰か断定出来るのだろうか?

— posted by くま at 09:02 am  

Sound Blaster X-Fi Titanium をlightmpdで使えるか?(改造仕様I2S出力で...)

Donuts Shopさんが公開してくれたlightmpd/upnpgwには
Sound Blaster X-Fi Titaniumを動作させるためのドライバーは組み込まれていません。
(lightmpdは当初usb接続DACを想定して開発されたのが理由だと思います。)
とりあえず基板の改造は成功したので
次はlightmpd/upnpgwで音を出してみたいと思いました。
ドライバーの組み込み(kernel再構築)は.configで組み込むドライバーの項目をチェックするだけのはず...
x86_64-upnpgw-20200310.zipをベースにして CONFIG_SND_CTXFI=y 
何回かトライして成功(笑)

# uname -a
Linux lightmpd 5.4.22-rt13-lightMPDx86_64 #2 SMP PREEMPT_RT Sat Nov 28 11:45:40 JST 2020 x86_64 GNU/Linux
# aplay -l | grep ctxfi
card 0: XFi [Creative X-Fi], device 0: ctxfi [Front/WaveIn]
card 0: XFi [Creative X-Fi], device 1: ctxfi [Surround]
card 0: XFi [Creative X-Fi], device 2: ctxfi [Center/LFE]
card 0: XFi [Creative X-Fi], device 3: ctxfi [Side]
card 0: XFi [Creative X-Fi], device 4: ctxfi [IEC958 Non-audio]

注意事項!
lightmpd/upnpgw スタンドアローンで音出しは成功しました!
良い音だと思います。
実験に使用した環境はGA-EP45-UD3R + Core2Quad Q8400S2.66GHzPC です念の為...
たぶんi3〜i5はダメだと思われます。
誰か?Xeonでテストしてくれれば良いのにとか思ってます。
lightmpd掲示板でカーネルビルド方法を教えていただいたDonuts Shopさんに感謝です。

---------------------------------------------------------------------------------------------------
壊す前にバックアップを(笑)

$ time dd if=/dev/sdd conv=sync,noerror bs=512k | gzip -c > Lightmpd-blaster.img.gz
29328+0 レコード入力
29328+0 レコード出力
15376318464 bytes (15 GB, 14 GiB) copied, 684.607 s, 22.5 MB/s

real 11m24.628s
user 1m28.601s
sys 0m24.100s

レストアコマンド例
$ gunzip -c Lightmpd-blaster.img.gz | dd of=/dev/sdd bs=512k
0+404940 レコード入力
0+404940 レコード出力
15376318464 bytes (15 GB, 14 GiB) copied, 1599 s, 9.6 MB/s

参考リンク
Pinkfauni2s bridge card + lightmpd/upnpgw プレーヤー側構築
lightmpd/upnpgw intel inside (2)

— posted by くま at 11:52 am  

<< 2024.5 >>
SMTWTFS
   1 234
56 7891011
1213 1415161718
19202122232425
262728293031 
 
























ThemePanel
Created in 0.0381 sec.