/ 雑記帳

I2S信号インターセプト(横取り)再び(2)(3)

本日 moct氏宅へ訪問ハンダ付けに行きました(笑)
予てより開発中のWindows用のサウンドカードからI2S信号を引っ張り出して
逢瀬DACで鳴らすという何とも面白い企画です^^;
実験カードとしては
Creative PCI Express Sound Blaster X-Fi Titanium Fatal1ty Pro
このSoundCardには
追記:誤り訂正  誤 CS4382A
         正 CS4382KQZ
CS4382KQZという8チャンネルのDACチップが使われています。
重要な注意点はLRCK,SCLK,SCLK,SDIN(DATA)がそれぞれ2系統になっているという事です。
PCIブリッジI2Sの部分はサウンドブラスター特注ICの様です。
追加:11/6

KQZ-1


6:MCLK 共通
-------------
7:LRCK 1
8:SDIN 1
9:SCLK 1
-------------
追記:11/6 LRCK2を使った組み合わせでの
   Linuxでの使用は出来ない様です。
10:LRCK2
11:SDIN2
12:SCLK2
-------------
13:SDIN3 不明
14:SDIN4 不明
42:DSD_SCLK 不明

SDIN1〜SDIN4まで端子があってこれがIC内部4個のDACのDATA信号入力に対応しています。
今回この中のSDIN1をDATAとして引っ張り出したのですがこれはDAC No.4番に該当します。
何の切り替えもなく鳴らすためにはDAC1出力がどれなのか?突き止めて置きたいところです。
出音を聽いての個人的感想としては滑らかで力強さも感じられしかも刺激的音がほとんど出ない
良い音だと感じました。
雑感追加:
今回は運が良くて音が出ている部分が否定出来ません(笑)
8chも出力のあるサウンドカードから細線でI2Sを引っ張り出して
一発で音が出るなんて奇跡に近いかも知れません。
実際問題として今回使ったカードのPCIeブリッジICはサウンドブラスター用のカスタムで
起動時にDACのレジスターを書き込む機能を備えたものだと思います。
DACの仕様書を見ると色々な動作モードがあり出力、入力切り替えもあるワケで
それは実際に動作させてICの出力、入力端子を当たって見ないと分からない訳です。
当たる(テスト)為には細密なハンダ作業が待っているワケです(笑)
余計なお世話ですが...気軽にチャレンジする様な作業では無いと個人的には思います。

saund-B


PCIEを引き出しソケット外付けにしている画像です。
moct氏はサウンドカードのシールドカバーを加工してXHコネクターを取り付け
そこから生のI2S信号を取り出せる様に工夫しています。
実験はI2S信号を平行してSPDIF信号からの出力も確認しながら進めました。
PCの上に見える基板は引き出したI2Sを差動信号をPS_AUDIOピン配置にして
綾瀬AK4499DACへ接続するためのアダプター基板です。
linuxcomさんで発売中らしい...やなさんの基板も使えると思います。
PS
このCS4382AというQFP形状のICは端子間ピッチが0.5mm、リードの幅は0.22mmで
かなり細い線を使ってもハンダ付けはかなり厳しいと思います。
作業中の写真が無いのはハンダ付けに余裕が無い証拠ですね(笑)
PS:10-30
SOUNDカードから、お気楽Audioピン配置でコネクターにI2Sを引き出せば良いのだから
思いついたので作ってみた...

b-hdmi



— posted by くま at 10:00 am  

UEFI Archlinux ブートローダー再インストール

何故か?Album Player USBを立ち上げた後にSSDにインストールしたArchlinuxが起動しなくなる(悲)
UEFI Archlinux ブートローダー再インストールという事になる。
予めArchlinuxインストールCDを立ち上げてroot passwordを設定後に
sshdを起動しておき別PCからsshでログインして作業を進めると楽だと思う。
$ ssh -l root 192.168.1.14
password

root@archiso ~ # mount /dev/sda3 /mnt
root@archiso ~ # mount /dev/sda2 /mnt/boot
root@archiso ~ # mount /dev/sda1 /mnt/boot/efi
root@archiso ~ # arch-chroot /mnt /bin/bash
[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch --boot-directory=/boot/efi/EFI --recheck
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@archiso /]# grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-rt-lts
Found initrd image: /boot/initramfs-linux-rt-lts.img
Found fallback initrd image(s) in /boot: initramfs-linux-rt-lts-fallback.img
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
done
[root@archiso /]# exit
exit
127 root@archiso ~ #
127 root@archiso ~ #
127 root@archiso ~ #
127 root@archiso ~ # reboot
Connection to 192.168.11.14 closed by remote host.
Connection to 192.168.11.14 closed.

— posted by くま at 08:55 pm  

 

Linux版 Album Player のインストール

yoさんのHPを読んでLinux版 Album Player をインストールをしようとしたのですが
良く分からないので(爆) moct氏に聞いたらUSBメモリへの書き込みにRufusを使えば何の問題もないとの事。
HPで説明されているインストール先のPCがもしかしたらグラフィックが無いので苦労しているのでは?
と後から気がつく(笑)
自分はIntel i5 PC+USBメモリー+グラフィック有の環境へインストールなので案外簡単?だった。
自分の環境で対象となるイメージさえ間違いなく選択出来れば大丈夫だと思う。
http://albumplayer.ru/linux/english.html ここへ行って

Image of bootable USB flash drive TinyAP x64 (Linux PC)
Image of bootable USB flash drive Yoctoap 64-bit (Linux PC)

このどちらかをdownloadしてRufus(Windows10上)でイメージを書き込む。
その後に対象PCへUSBメモリーを接続してBIOSで起動ディスクへ指定後に電源ONでOKです。
上手く起動すれば最初にHPにあるAlbum Player のGUIがDeskTOPへ表示されます。
-----------------------------------------------------------------------------------------------------
蛇足...yoさんのHPを見て思い出した(笑)
もしLinux環境をお持ちの方なら次のスクリプトで
現状でNETWORKに接続されているIPをすべて表示出来ます。

$ echo 192.168.1.{1..254} | xargs -P256 -n1 ping -s1 -c1 -W1 | grep ttl
9 バイト応答 送信元 192.168.1.xx: icmp_seq=1 ttl=64
9 バイト応答 送信元 192.168.1.xy: icmp_seq=1 ttl=64
9 バイト応答 送信元 192.168.1.xz: icmp_seq=1 ttl=64
9 バイト応答 送信元 192.168.1.xa: icmp_seq=1 ttl=64
pingを打ちまくって反応があったIPを表示する感じだと思う。

— posted by くま at 05:09 pm  

 

Album Player for Linux バックアップレストア

結構出来が良いのでしばらく使ってみようと思います。
弄りすぎて壊すのでバックアップとレストアをテストしておきます。

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

real 10m23.818s
user 1m36.922s
sys 0m25.611s

$ time gunzip -c TINYAP.img.gz | dd of=/dev/sdd bs=512k
0+396975 レコード入力
0+396975 レコード出力
15376318464 bytes (15 GB, 14 GiB) copied, 875.269 s, 17.6 MB/s

real 14m35.271s
user 0m57.917s
sys 0m15.779s

— posted by くま at 11:10 am  

 

Archlinux Linux 5.4.70-rt40-1-rt-lts at Pink faun i2s bridge card 追記(1)

lightmpdに拘らなければINTELi5等のCPUでも Pink faun i2s bridge cardは使えます。
もちろんリアルタイムカーネルで動作を確認しています。
自分はAudio関連で使用する場合は必ずArchkinuxをOSとして選びます(笑)
詳細は関連リンクを貼りますので参考にしてください。
概要は下記の通りです。細かい所は書いていませんので中級者向きです。
個人的見解ですがこれも素晴らしい出音と感じます。

1.Archlinux をインストール
 CUIで使えるところまでで問題ないです。
 この参考HPではarch-chrootの時の作業内容で pacman -S dhcp が抜けていて
 再起動するとLANが繋がらないワナとログイン時のroot password設定も抜けているので注意!(笑)
 追記:
 Archlinuxはカーネルを更新したり大きなアップデートがあると途端にLANが繋がらなくなります。
 その復旧方法がその度に違ったりしてホント面倒くさいヤツです。
 今回も案の定接続出来なくなってスッタモンダしました。
 色々なサイトを参考に弄り回しましたが ArchLinuxのインストール ここを参考に設定して
 やっとの事で復旧しました。

2.pacmanでmpd 等をインストール
 # pacman -S mpd

 alsa関連
 # pacman -Sl | grep alsa
 extra alsa-card-profiles 13.99.2+13+g7f4d7fcf5-1
 extra alsa-firmware 1.2.4-2
 extra alsa-lib 1.2.4-3 [installed]
 extra alsa-oss 1.1.8-3
 extra alsa-plugins 1:1.2.2-2 [installed]
 extra alsa-topology-conf 1.2.4-2 [installed]
 extra alsa-ucm-conf 1.2.4-2 [installed]
 extra alsa-utils 1.2.4-2 [installed]
 extra pipewire-alsa 0.3.13-2
 extra pulseaudio-alsa 1:1.2.2-2
 extra zita-alsa-pcmi 0.3.2-3 [installed]
 community alsa-tools 1.2.2-1 [installed]
 community balsa 2.6.1-2
 community haskell-alsa-core 0.5.0.1-12
 community haskell-alsa-mixer 0.3.0-68
 community python-pyalsa 1.1.6-5 [installed]
 community python-salsa20 0.3.0-7

 ffmpeg関連
 # pacman -Sl | grep ffmpeg
 extra ffmpeg 2:4.3.1-2 [installed]
 extra ffmpegthumbnailer 2.2.2-2
 extra ffmpegthumbs 20.08.2-1
 community ffmpeg2theora 0.30-6
 community opera-ffmpeg-codecs 86.0.4240.80-2

3.ここから先はpacmanではインストール出来ないので
 yay をインストール

4.yayで upmpdcli インストール
 このパッケージをインストール設定すれば
 レンダラーとしてUPnP audio Control Pointから見える様になります。
 💲 yay -S upmpdcli

5.yayでリアルタイムカーネルをインストール
 リアルタイムカーネルをインストール時にはgpg keyのインストールが求められますが
 yayだけでは上手く行かない様です。自分にはこの部分の完全な解決方法がありません。
 インストールの度にエラーメッセージを検索して試行錯誤している状態なので明確な説明が出来ませんm(_ _)m
 最近のディストリはブートローダーが複雑になってテキストエディターだけの修正は厳しいです。
 GUI環境までインストールすれば Grub Customizer をインストール且つ確実にブートローダーを更新可能です。
 今回のインストールはCUIまでとして通常カーネルとの切り替え起動はまったく考えていないので下のコマンドで更新しました。
 grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg (ブートローダー更新)

4.acpid インストール 電源ボタンでシャットダウン可能にする。
 shutdownコマンドで電源を切るのが非常に面倒なので設定しています。

追記(1):11/3
もっと簡単にリアルタイムカーネルをインストールする方法を見つけました。
何の事も無い。ただpacman.confにリポジトリーを追加してPacmanコマンドでインストール可能です。
[dvzrv]
Server = https://pkgbuild.com/~dvzrv/repo/$arch
      
参考リンク:Package Base Details: linux-rt-lts

------------------------------------------------------------------------------
完全に蛇足ですが....Windowsでも当然使えますよ!(笑)



— posted by くま at 10:24 am  

I2S-HDMI基板用の電源

並べた順番に音が良い様に思う。
すべて3.3V電源なのであるが可変三端子+ダーリントントランジスタの回路が何故か?一番...
LDOをつかったものやオーソドックスなNFB回路のものが続く...なんだかなぁ...

3Power



— posted by くま at 11:27 pm  

 

Audioは個人的な価値の追求

Audioは個人的な価値の追求をする趣味であって欲しいと何時も思う。
他人に自分の見解を承認要求するのはどうなのかとか
このブログは自分が実際やってみて良いと思った事を書いているだけで
それも100%確実かどうかなんて確認テストをしているワケでも無い。
誰かに押し付けて承認欲求を満たすために書いているワケでは決して無い。

勝手にいい加減なモノを作って自分が一番だと心に秘めているのが格好いいと思うんだな...

— posted by くま at 09:41 pm  

CMI8888搭載SC808からI2Sをインターセプト

aim製 PCI-Express接続オーディオカード CMI8888チップを搭載 SC808 を
某ルートから入手しました。搭載されているDACはWM8741です。
このカードを今流行のI2S出力可能に改造してみます^^;
注意事項!自分的にこの改造はおすすめ出来ません。
失敗しても一切責任は取れません。

WM8741


NONALNUM-493253E382B3E3838DE382AFE382BFE38394E383B3E9858DE7BDAE


ハンダゴテが入らないので電解コンデンサーを取り外す。
鉛フリーの融点が高いハンダが使われていて作業が大変でした^^;

1


I2S信号がDACに入力されている所からリード線を引き出す。

2


お気楽kitと同じピン配置でピンヘッダーへ引き出した配線を接続して完成です。

3


20201101181254



当たり前ですがデバック環境としてI2S信号入力DACは必須です。
      
UbuntuStudioでの認識は...
~$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: CMedia [HDA C-Media], デバイス 0: CMI8888 Analog [CMI8888 Analog]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
カード 0: CMedia [HDA C-Media], デバイス 1: CMI8888 Digital [CMI8888 Digital]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
となります。
注意事項としてmpdで指定するデバイスはCMI8888 Analogの方です。
このサウンドカードは
基板上DACへI2S信号が入力されて出てくるのがアナログ信号という形で使われるためです。
追記:11/2本日現在で通常使用での出音は問題ないが何故か?mpdを介しては音が出ていません??
   理由を調査中です。

— posted by くま at 01:37 am  

<< 2020.11 >>
SMTWTFS
1 2 3 456 7
8 9 1011 12 1314
15 16 1718 1920 21
22 232425 2627 28
29 30     
 
























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