
先日Fire TV Stickでハイレゾ再生をするというブログを書きましたが、Fire TV Stickはhdmiで接続している機器の性能でハイレゾ可否を決めているようで、ハイレゾに対応した音声分離機を繋いでもすんなりハイレゾ出力になりません。
カーオーディオの環境では必ずしもハイレゾに対応したHDMI 接続ができるわけではなく、画面はカーナビで音声を光出力で分離してDACに入力するといった利用の場合は、DACの性能をフルに発揮できない可能性があります。
そこでEDIDエミュレーターという製品を使い、接続するカーナビやモニタをハイレゾ出力に対応したように見せかけるようにできないかと考えました。
まず購入したのはこちら、1,698円でした。
通常EDIDは書き換えできないようにロックしてあるようなのですが、こちらの製品は書き換えのロックがされていないようで、書き換え成功のクチコミがありダメもとで発注しました。
接続のイメージはこんな感じになるのですが、この製品は4Kに画質を固定するための製品で、このまま使っても期待した動作になりません。

EDIDを見てみるとやはりPCM 48KHzまででした。。。
ちゃきさんの話だとドルビーTrue HDが192KHzに対応しているとのことですが、この製品はそんなの気にせず買ったので非対応….普通の人はちゃきさん方式のほうがいいかもしれません(^^;
普通の人がどこまで出来るかの物差しが、ポッキリ折れてたのですが私のやり方を説明します。
※実施の際は自己責任でご対応願います。
基本以下が理解できる「普通の人」以外はオススメしません。
■事前準備
まず普通のどこの家庭にもあるラズベリーパイを用意します。
私のは手持ちのラズベリーパイ3です。OSはRaspberry Pi OSで大丈夫です。
ブートする前にPCに接続してbootドライブの中にあるconfig.txtの書き換えをします。面倒なので、おまじないも含めて以下を末尾に書き込みして保存します。
hdmi_drive=2
hdmi_force_hotplug=1
hdmi_ignore_cec_init=1
dtparam=i2c2_iknowwhatimdoing ←これが最重要
起動したらネットワークへの接続設定をお忘れなく
SSHをONにしてリモートで作業すると楽ですが、なくても大丈夫です。
■ラズベリーパイでデータ抽出準備
以下のコマンドを入れて必要な設定を行います。
sudo apt-get install python-smbus edid-decode python3-smbus
sudo apt-get install i2c-tools
sudo modprobe i2c-dev
git clone https://github.com/bulletmark/edid-rw
正しく設定されているとHDMIがI2Cで認識されます。
以下コマンドでI2Cとして出力されることを確認します。
i2cdetect –l
※i2c-2xxx と表示が出ればOK(I2Cの2番がラズパイの基本らしい)
電源オフにしてよし
■EDIDデータのバックアップ
ラズベリーパイのHDMI端子に接続したいモニタを繋ぎ電源を入れてログインします。
以下コマンドで接続モニタの情報を確認します。
cd edid-rw
./edid-rw 2 | edid-decode | more
成功するとHDMI の情報が出てきます。
私の繋いでいるモニターですとこちらがオーディオ性能の設定です。※こちらは48KHzまで
続いて以下のコマンドでediddata.binというファイル名で保存します。
./edid-rw 2 > ./ediddata.bin
バイナリを直接編集してもいいのですが、難易度が高いのでWindowsまたはOSXで編集します。ブートエリアにコピーして置くと他OSで編集しやすいです。
sudo cp ./ediddata.bin /boot
コピーしたらラズパイの電源を落としてOSの入っているSDカードをPCに接続します。
■PCでEDID情報の加工
AW EDID EDITORというソフトをインストールします。
※これが一番使いやすかったですが他の物でもいいです。
https://www.analogway.com/americas/products/software-tools/aw-edid-editor/
ラズパイで取得したファイル(ediddata.bin)を開いてCEA Extensionを開いてBasic Audioを選択、Instanciated blocks設定のAudioを編集してPCM 2CH 192KHz/96KHz/48KHz/44.1Khz 16bit/20bit/24bitと対応しているものを選択して保存します。
(このアプリでもEDIDデータを取得する事が出来ます。)
※CEA Extensionが表示されない場合はメニューにあるCEA-861-Fをクリックして追加する。
■ラズベリーパイでEDIDデータの書き込み
EDIDエミュレーターをラズパイに接続して起動します。
以下のコマンドでAW EDID EDITORで編集したファイルを書き込みます。
cd edid-rw
./edid-rw -w 2 < /boot/ediddata.bin
※bootエリアに保存した場合
以下コマンドで接続モニタの情報が変更されている事を確認します。
./edid-rw 2 | edid-decode | more
無事書き換えできました。
同じ要領でナビ向けの設定を変えてみました。
DACが96KHzまでなので音は出ませんが、、、、表示だけ

この方法なら今の環境のオーディオ部分だけを弄るので基本表示不具合にはならないと思います。
これがダメなら、Arduinoで制御する回路を作ろうかと思ってましたが無事書き換えできてよかった。。。。
【追記】
ちゃきE12さんより、EDIDエミュレータをつかわなくても以下の製品が単体で192KHz出力が可能とのことです。
THDTOA-4K
http://tecnosite.co.jp/ja/converter/16-thdtoa-4k.html
ブログ一覧 | 日記
Posted at
2021/08/02 16:38:26