SSブログ

HDMIオーディオコンバーター FX-AUDIO- HAC-02J EDIDエミュレーターでハイレゾ出力 [Stereo]

FX-AUDIO- HAC-02J はHDMIの音声をRCAのアナログ端子や光/同軸のデジタル端子で出力できる。
本機のみのHDMI接続では,EDIDによって,24bit48kHzまでの出力に制限されるが,ダミープラグタイプのEDIDエミュレーター(※EDID書き換え要)を接続して,24bit192kHzまでのハイレゾの出力ができた。
NFJストア ヤフーショッピング店,【リファービッシュ】FX-AUDIO- HAC-02J HDMIオーディオ コンバーター HDMI音声分離器 高音質DAC&DDC RCA 光 同軸出力


HDMI Display Emulator 仮想コネクタ幻影ディスプレイエミュレーターDDC EDIDエミュレーター、偽エミュレータ(fit Headless 2K @ 60Hz)

HAC-02JのHDMI出力に接続しているのが,EDIDエミュレーター。


IMG_20170910_203715

Foobar 2000 WASAPIで24bit192kHz Flacを再生。
foob


Windows 10 デバイス HDMI2K(EDIDエミュレーター) のプロパティ。24bit 192kHzまでサポートされている。


hdmi2k


EDIDは,液晶モニターとPCの互換性を確保するため,ケーブルを介して送信される256バイト(ベース128バイト)の制御データで,HDMI接続でも使われており,I2C通信で送信する。 
一例として,液晶モニターの推奨解像度情報等があるが,オーディオのサポートデータも拡張部(128バイト)に含まれている。
HAC-02Jの商品説明には,「本機は入力、アナログ出力(DAC)デジタル出力(DDC)共に最大24bit192kHzに対応しております」となっているが,HAC-02JのEDIDは,サポートしているサンプルレートが,32/44.1/48KHzだった。
そのため,本機のみのHDMI接続では96/192kHzがWindows/Linuxから出せない。

LG電子の液晶テレビLG 32LF5800を以下のようにつなげると,32LF5800のEDIDがサポートしているため,PCから24bit 192kHzの出力が可能になった。
PC------<HDMI>-------HAC-02J-------<HDMI>-------32LF5800
 
PCからHDMIで接続している機器のEEPROMにアクセスして,EDIDを書き換えることができる。
HAC-02JのEEPROMは,書き込みエラーにならないのに何故か書き変わらなかった。
液晶モニターはサービスモード切替等,プロテクト解除の操作が必要らしい。HAC-02Jもプロテクトがあるのかもしれない。

そのため,Amazonで上記のダミープラグEDIDエミュレーターを購入した。たぶん以下の製品の模造品だと思う。
https://www.headlessghost.com/
(ちゃんとしたEDIDエミュレーターはもっと高価。http://www.kirikaeki.net/edid/emulator/tmdsedid/
このEDIDエミュレーターは,EEPROMがプロテクトされてない。96/192kHzサポートを追加するため,Linuxのソフト edid-rw で下記のとおりこのEDIDエミュレーターのEDIDを書き換えた。

(記)
使用したLinuxは,Kali Linux 2017.1 (Debian)


apt-get install python-smbus edid-decode
apt-get install i2c-tools
git clone https://github.com/bulletmark/edid-rw
modprobe i2c-dev


EDIDエミュレーターをPCのHDMIに接続する。
画面が切り替わったらi2cバスの何番にEDIDエミュレータが接続されているか調べる。


i2cdetect –l
cd edid-rw
./edid-rw 0  | edid-decode
./edid-rw 1 | edid-decode
:


自分のPCの場合,No.5 につながっていたので,EDID(バイナリ256バイト)を任意のファイル名で書き出す。


./edid-rw 5 > edidfl2701.bin


バイナリエディタでオーディオサポートデータとチェックサムのみを書き換える。ghex, vi –b,


00,FF,FF,FF,FF,FF,FF,00,19,9F,01,27,00,00,00,00,    base 128バイト
03,1B,01,03,80,3E,22,78,EA,1E,C5,AE,4F,34,B1,26,
0E,50,54,2F,CF,00,D1,00,D1,C0,B3,00,A9,C0,95,00,
81,81,81,00,71,40,02,3A,80,18,71,38,2D,40,58,2C,
35,00,E0,0E,11,00,00,1A,E2,68,00,A0,A0,40,2E,60,
30,20,36,00,80,90,21,00,00,1A,56,5E,00,A0,A0,A0,
29,50,30,20,36,00,80,68,21,00,00,1A,00,00,00,FC,
00,48,44,4D,49,32,4B,0A,20,20,20,20,20,20,01,DF,
02,03,3E,70,54,90,05,04,03,02,07,16,01,1F,12,13,    extension data 128バイト
14,20,15,11,06,5D,5E,5F,62,23,09,57,07,83,01,00,
00,6D,03,0C,00,10,00,38,3D,20,00,60,01,02,03,67,
D8,5D,C4,01,78,00,00,E3,05,03,01,E2,0F,71,22,6F,
80,A0,70,70,78,80,30,20,46,00,E0,1C,12,00,00,1A,
04,74,00,30,F2,70,5A,80,30,20,46,00,C0,1C,32,00,
00,1A,35,2F,00,A0,A0,A0,29,50,30,20,36,00,80,68,
21,00,00,1A,00,00,00,00,00,00,00,00,00,00,00,12,


オーディオサポートデータ 0x07 –> 0x57 96/192kHzサポートを追加
extension data(128バイト)のチェックサム 0x62 –> 0x12
Checksum. Sum of all 128 bytes should equal 0 (mod 256).

アップデートしたEDIDファイルでEDIDエミュレーターのEEPROMを書き換える。 


./edid-rw –w 5 < edidfl2701upd.bin


オーディオサポートデータの位置は,Windows ソフト Extron EDID Managerで確認することができる。
http://www.extron.com/product/software.aspx?id=edidmanager

チェックサムの計算


cat edidfl2701upd.bin | edid-decode


これで,EDIDエミュレーターに,96/192KHzをサポートするEDIDが保持されるので,ハイレゾ出力が可能になる,



最後に,このEDIDエミュレーターは,何に使うものなのか不思議だった。
ビットコインのマイニングで需要があるみたいだ。
https://www.headlessghost.com/



nice!(3)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 3

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント