HDMI to VGA アダプター「$2.58」のアナログオーディオ設定修正

2026/07/05 14:36

HDMI to VGA アダプター「$2.58」のアナログオーディオ設定修正

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

最も重要な教訓は、任天堂 Switch 向けの安価なレトロゲーミングソリューションとして市場に登場した超高価な AliExpress HDMI 接続-VGA DAC ドングル(NTSC, ~2.58–2.71 ドル)が深刻な電気的な欠陥を持っていることである:必須のフィルタリングコンデンサを備えていない(足形は存在するが空)、IC の高内部抵抗 (570–598 Ω) に依存しており、これにより実効的なローパスカットオフ周波数が目標とする>50 kHz ではなくわずか2.6 kHz と制限されており、またビデオ/オーディオトレースの配線も不適切である。オシロスコープによるリバースエンジニアリングでは、ノイズ成分が最大 50 MHz に及ぶおよび 20 ns も短くても存在するサブ振動を伴う生 SIGMA-DELTA DAC 出力 (>600 mV ピーク対ピーク) が確認され、これはグラウンドループまたはミキサーによって音響的な歪みに変調された超音波スイッチングノイズを生じている。持続的な 60 Hz のハムは、Sleep モードにしていないときに接地されたヘッドフォンジャックを介して Switch から発信されていることが追跡された。他の問題としては、不正確なトレース配線によるステレオチャンネルの反転(銅を削り、36 番ゲージの磁気線で作動し、UV ソルディングマスクを適用することで手動で再接続)や DC ブロックコンデンサの欠如によるプラグ挿抜時のポップ音、DAC の過熱(接着剤の failure やペーストによるシフトを回避するためにダブルサイドの熱伝導テープが使用される)、そして電源ストリップへの叩きや HDMI スプリッターの USB ケーブルが未接続状態に起因する脆弱なビデオ信号動作が含まれる。このプロジェクトは、I2C プルアップが省略された損傷した Icy-Box IT6892FN デバイスから始まり、後に I2C ラインをブリッジして EDID 検出を強行しようとする試みも、同期トレースが破断した後に不可靠になった。2 次フィルタリング(例:Sallen-Key)はノイズリジェクト性能を改善できるが、オペアンプ、カスタム PCB の再設計、または NX3303X チップのホットエアデソルディングが必要であり、これは限定的な利益に対する大きな作業量である。代替となる AliExpress オーディオエクストラクタは品質が低く、オーディオファイルアールオプションが高すぎた;MX9291/9292 などのチップは統合されたオーディオを提供するが、互換性のない PCB レイアウトが必要である。結局のところ、この分析は愛好家に、最低価格を追うことはしばしばレトロな画面とのクリーンなオーディオ/ビデオ互換性を達成するために高度なハードウェア改修を強いるという事実に警告しており、レトロモッディングにおけるコストとエンジニアリングの信頼性 사이의難しいトレードオフを浮き彫りにしている。

本文

任天堂 Switch の CRT モニター接続用 HDMI DAC:ノイズ・歪みと改良記

オープニング:古い HDMI DAC の修理

ICy-Box 社製の HDMI から VGA に変換する DAC(デジタル・アナログコンバータ)を購入しましたが、オーディオ出力端子からマイクジャックに深刻なノイズが発生しました。インピーダンス問題やデルタ・シグマ型 DAC のフィルタリングを検討し、PCB を再加工して高品質音を実現しようと試みました。

基板の損傷と GIMP で学ぶ I2C

  • 当初は Switch ドックに直接接続する計画でしたが、I2C バスのパッチング中に基板配線が損傷し、コンポーネントも欠落していました。
  • GIMP を使用して I2C ラインをトレースし、基板構造を実質的に再構築する必要がありました。
    • 原本の抵抗配置:
      SDA/SCL
      ラインには「5V プルアップ抵抗」と「チップ側グラウンド引き込み抵抗」が使用されていましたが、これらのオミットが原因の一部でした。

練習としてのハンダ付け(ソルダーマスケ使用)

  • 基板修理前に、Switch モドチップインストール用の練習として36 ゲージマグネット線3 秒硬化型ソルダーマスケを使用しました。
    • キナール製エナメル被覆: 溶けにくく厚みがあり、端子引き剥がしを避けられました。
    • ソルダーマスケの活用: 露出したパッドへの接着は苦手でしたが、「完了した」ハンダ継ぎ目の保護や固定に役立ちました。
  • テースティング中に基板のトップ面・ボトム面の切り替えで失敗しましたが、KiCad の参照写真機能を使うことでモデル化が可能になるかもしれません。

スイッチをオーディオミキサーに接続:グラウンドループ問題

干渉電流とハムノイズの原因

  • ICy-Box DAC はオーディオ出力を持っていません(ITE IT6892FN チップはアナログ音声出力しないため)。
  • スイッチのヘッドホンジャックからは、オーディオミキサーへ面倒な干渉電流が流れ込みグラウンドループによる 60Hz のハムノイズが発生していました。
  • 結論: スリープモードになっていない場合、この回路がハムを取り込み増幅している状態でした。

検討された解決策とその難しさ

以下の方法が提案されましたが、どれも実現には困難やコストが伴いました。

  • グラウンドループ断絶器(分離トランス): 小型物は低周波を減衰、大型物は高価。安価な製品を検討する価値あり。
  • バランス型微分オーディオ: プロ仕様だが機器が高価。DI ボックスは電圧低下でノイズ感受性を高める逆効果になる可能性。
  • HDMI オーディオエキスTRACTOR: AliExpress 製は品質が悪く、フルビットストリームレシーバーとして高コストとなる傾向。
  • 負帰還型オーディオ光断絶器: Discord サーバーでは推奨されましたが、原理が不明確。
  • 微分増幅器: 入力対応方法や共モードノイズ抑制能力の低さから撤退しました。

見つけた回避策とその限界

  • 簡易対策: Switch 音量ジャックを**最大(リミッター OFF)**にし、ゲーム音よりもハムノイズを小さくしてミキサーで下げる方式。
  • 問題点: ドックへの挿抜毎回ヘッドホンジャックの抜き差しが必要で、コンソールアンプへの悪影響が懸念されました。
  • Apple USB-C オーディオ Dongle: 出力が得られず失敗。

注意: 「友人の Switch 2」でも同様の音buzz が発生しましたが、これはサードパーティ製 HDMI ドングルの問題だと判断しました。任天堂の訴訟対応姿勢(資金調達や GitHub フォーク削除など)から、将来的には独立系開発者のハードウェアを利用することを避ける意向を示しています。

オシロスコープによる信号解析:MHz 帯域の超音波ノイズ

驚異的なノイズレベル

  • ブリークケーブルをオシロスコープで測定したところ、500~600 mV のノイズがオーディオ信号全体を覆い、高調波は 50 MHz に達していました
  • デルタ・シグマ DAC の生出力特性: ピーク・トゥ・ピーク振幅 600 mV 超え、周期約 80 ns の波形に**20 ns という短い周期的なサブ振動(ギッチー遷移)**が含まれていました。

問題の正体:スイッチングノイズ

  • MHz 帯域の超音波 DAC スイッチングノイズが非線形増幅器によって可聴歪みとして変調されていました。
  • 内部チップの確認からNX3303Xと判明しました(データシート未発見、ブロック図のみ入手)。

チップ見直し:MX9291 の可能性

  • HDMI2SCART
    プロジェクトでは、同じ AliExpress DAC から回収された NX3303X を使用。DC ブロックコンデンサはあってもトレブルフィルタリング lackedしていました。
  • 同様の音質問題でチップ出力とグラウンド間にコンデンサを追加する解決策が見つかっています。
  • オンラインで「NX3303X の置き換え」としてMX9291(デルタ・シグマ搭載)が見つかりましたが、ピン配置が異なるため採用断念しました。

ローパスフィルターの構築と内部抵抗の発見

カットオフ周波数の決定

  • 50 kHzのカットオフを持つ 1 次ローパスフィルターを設計。
  • **20 kHz(聴覚上限)**での高音域損失と、5~10 MHz帯でのスイッチングノイズ抑制をチェックしました。

計算によるコンデンサ容量

> f = 1 / (2π RC)
> R = 31 Ω
> C ≈ 102.68 nF → 実用値として 100 nF (MLCC) を選択
  • しかし、X7R セラミックコンデンサは圧電効果(音波を振動に変換)を持ち、低周波ノイズ源になる可能性があります。

データ分析:時定数から内部抵抗へ

  • オシロスコープ波形解析から、ローパスフィルターの**時定数(τ)**が約 60.11 µsと算出されました。
  • カットオフ周波数は以下のように計算:
    f_c = 1 / (2π τ) ≈ 2.647 kHz
    
  • 驚くべき発見: ダイヤモンドのゲームプレイ(数時間)でこの低カットオフに気づかなかったのは、Switch のスピーカーが「ズレッ」とした音の原因を内部抵抗の低減ではなく外部フィルターだと誤解していたからでした。

内部抵抗(Rint)の算出

チップの出力ピンは理想的な電圧源ではなく、オーム的内部抵抗を持つ電源として振る舞います。

  1. 電圧分圧法:
    Rint ≈ 598.7 Ω (理想 DAC 3.35V vs 実際 1.675V スイングから算出)
    
  2. RC フィルター時定数法:
    Rint + 31Ω = τ / C → Rint ≈ 570.1 Ω
    
  • 両者の平均で内部抵抗は約 584 Ωと判定。意図したフィルター抵抗(31 Ω)と比較すれば圧倒的に大きいため、コンデンサの充電速度が DAC 内部抵抗によってボトルネックされていたことが分かりました。

フィルタリング手法の改善:C0G セラミックコンデンサ導入

最適な容量の計算

  • 目標: 50 kHz カットオフの実現
  • 必要な電荷量(C):
    C = 1 / (2π * 584Ω * 50kHz) ≈ 5.39 nF → 実用値として 5.1 nF を採用
    
  • PCB 改修: 既設の未使用フットプリント(0402 サイズ)を利用。
    • 容量増(10 nF)による直流オフセットのドリフトは許容範囲内ですが、圧電性の低いC0G コンデンサを使用するのが望ましいです。
    • LCSC: 5.1nF C0G (0402 サイズ) を小数円で購入。

配線図への追加指示

  • フィルター用コンデンサを追加する場所:
    C2
    C5
    (オーディオソースとグラウンドの間に設置)。
  • C1
    C4
    はヘッドホンジャック側であり、0 オーム抵抗が実装されています。

DC ブロックについての発見 電源投入時に「ポン」という爆発音が聞こえる場合、メーカーは DC ブロック機能を省き、受信デバイス側の機能に依存していたようです。追加コンデンサは容易ではありません(1 uF が必要だが C0G は大容量非対応、電解コンデンサはパッドサイズ不適合)。全体的に見て、コスト削減工事は否定的です。

ステレオチャンネルの入れ替え修正

  • 現象: Splatoon 3 などで爆発音が方位と逆(左で右側からの爆発)に聞こえる立体感欠損。
  • 原因: DAC がステレオチャンネルを入れ替えている可能性。
  • 解決手順:
    1. PCB 背面・前面を貫通する配線をクロスオーバーする。
    2. イソプロピルアルコールで基板を洗浄し、X-Acto ナイフで銅配線切断
    3. 36 ゲージマグネット線で接続し、フラックス付着、ハンダ付け完了。
    4. **ソルダーマスケ(紫外線硬化型)**で埋め込み固定。
    • 結果:ステレオ問題は即座に解決

その他のハードウェア改修

  • VGA ネジの短縮: Dremel とサンドペーパーを使用し、ドングルが振動する問題を解消。
  • 冷却対策: チップ過熱(指触火傷レベル)に対し、二重接着型熱伝導テープでヒートシンクを固定。回転剛性不足による傾斜には注意が必要。
  • VGA エミュレーション: CRT モニターに 1080p を認識させるため、ICy-Box DAC の I2C ラインを切断し、同期トレースのみブリッジしました。しかし数週間で継ぎ目が脱落する問題が発生しました。

将来の展望:2 次ローパスフィルターの設計?

カットオフ周波数の限界

  • 5.1 nFコンデンサでもスイッチングノイズ(±20 mV)が漏れ、26 kHz ローパスは高音域を過度に減衰(-1.9 dB)させます。
  • 2 次フィルター(級聯 RC)も内部抵抗の制約により効率が低下します。

インダクタかオペアンプかの選択

  • Sallen-Key フィルター: 抵抗・コンデンサのみで構成可能だが、既存 PCB に追加する工事が困難。
  • 4 層 PCB 作成: Sallen-Key フィルターのフットプリントとトレースを持つ新基板の設計。
    • メリット: HDMI2SCART 並みの難易度だが、既存ケースとネジを再利用可能。
    • デメリット: ヒートアワーによる DAC チップ移植作業が必要。

推奨: より簡単なアップグレードとして、**HDMI パイプル型(VGA プラグ内蔵)**のドングルがコネクタ折損防止に適しています。チップ見直しの余地があるため、ステレオ問題のないモデルを探す価値があります。

まとめ:現状の結論

  • 3 つの DAC チップもすべてステレオ逆転という欠陥を持っていました。原因はテスト不足と回路コピーによる設計ミスと考えられます。
  • 現在では5.1 nF C0G コンデンサを追加し、内部抵抗を考慮したフィルタリングが完了しています。
  • さらに高品質な音質を求める場合は、新しい基板(4 層 PCB)への移植を検討すべきです。
"低コストの電子工作は、多くの場合、設計者の妥協点であることに気づく。"

同じ日のほかのニュース

一覧に戻る →

2026/07/08 3:24

Kokoro を活用したローカル動作・CPU対応で高品質な TTS(テキスト対話)

## Japanese Translation: 2026 年 3 月 31 日にリリースされた Kokoro-82M は、わずか 8200 万パラメータだけで英語・中国語・ヒンディー語の極めてリアルな声を生成する特段に軽量な Text-to-Speech モデルです。CPU 上で完結するように設計されており、高価な GPU の依存を回避できます(GPU はローカルの LLL推論用に留保されます)。同モデルは AMD Ryzen チップを搭載した標準的なプロセッサ、Intel Core i7 システム、Apple M シリーズ CPU にもデプロイ可能です。ベンチマーク結果では、各種ハードウェア上で合成時間が 5 秒以内となっています:Intel Core i7-4770K で約 4.7 秒、Apple M2 Pro で 4.5 秒、短かい段落では AMD Ryzen 7 8745HS で低至くとも 1.5 秒です。 最も簡単なデプロイ方法では、プリダウンロード済みの音声モデルを含む Kokoro-FastAPI コンテナイメージ(約 5 GB)を使用します。ユーザーは `podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu` コマンドで Podman を使用してサービスを開始し、`localhost:8880/web` でウェブ UI にアクセスすることで、オーディオを直接生成・再生できます。コンテナは OpenAI 互換の音声 API を公開しており、JavaScript(`./speak.js`)および Python(`./speak.py`)スクリプトなどの実装例があります。音声モデルは環境変数 `TTS_VOICE` を使用して選択でき(全リストは HuggingFace で確認可能)、出力は MP3 ファイルとして保存され、SoX がインストールされている場合は自動再生も可能です。 音声認識と Text-to-Speech の両方が必要なアプリケーション向けには、オプションの Speaches コンテナ化サービスが Whisper とシームレスに統合され、また OpenAI API 互換性もサポートしています。リソース要求を低く抑えつつ、簡潔なデプロイオプションを提供することで、Kokoro-82M は自然で多言語の音声合成を開発者のワークフローや広範なアプリケーションに統合するためのハードルを大幅に低下させます。

2026/07/07 21:38

StreetComplete:1 つの小さなクエストで OpenStreetMap を修正していくプロジェクト

## Japanese Translation: StreetComplete は、誰でも現在地から OpenStreetMap の精度を向上させるシンプルな方法を提供します。アプリは生地図上に不足している情報を簡単な「クエスト」として表示し、利用者に特定の場所を訪れて短く質問に答えるよう促し、データギャップを埋めます。このアプローチにより、高度な編集スキルや専用ソフトがなくても OpenStreetMap が最新の状態を保つことができます。ユーザーがタスクを完了すると、その貢献は瞬時にグローバルデータベースで更新され、直ちにその名前でクレジットされます。このメカニズムにより、地図の改善は情報を収集した実際の観察者まで追跡可能になります。したがって、ナビゲーションや地域発見のためのストリートレベルの詳細はより正確かつ信頼性が高まります。究極的には、このツールはマッピングを民主化し、無関心な訪問者を能動的な貢献者に転換させます。これにより、遠隔編集や大規模な専門チームに依存することなく、簡単な現場での相互作用を通じて正確な地理データが継続的に拡張されるコミュニティが育まれます。

2026/07/07 23:23

Chat Control バージョン 1.0 と 2.0 の解説

## Japanese Translation: 欧州連合(EU)は、企業に対し、子供による性虐待資料(CSAM)を検出するために私信をスキャンすることを義務付ける有効期限を迎えた暫定権能(チャットコントロール 1.0,規制 EU 2021/1232)の復活を図ろうとしている。当初 2024 年 8 月 3 日に有効期限が切れる予定だったこの措置は、2 回延期された——最初に 2026 年 4 月 3 日(2024 年 4 月 29 日の議決)、続いてさらに 2028 年 4 月まで(2025 年 12 月 18 日の提案)。2026 年 3 月 26 日、下院での投票で改正案 34 が否決されず、その一方で不特定の写真やテキストの自動評価を禁止する改正案 34 が僅差(307 対 306)で可決されたことを受け、無効化措置に基づく自発的スキャンの法的根拠は 2026 年 4 月 4 日に終了した。にもかかわらず、主要プラットフォーム(Google、Meta、Microsoft、Snap)は自発的に引き続きスキャンを行うと発表した。 しかし、立法上の行き違いが生じている:欧州議会の LIBE 委員会は 2026 年 3 月 2 日に延期を拒否し、欧州議会は 2026 年 3 月 11 日、広範な自動分析に対する保護性指令を採用し、理事会は同年 3 月中旬に欧州議会の条件を拒否した。これに対し、EU の大使たちは 2026 年 6 月 26 日に手続の簡素化を通じて暫定復活を推進することに合意し、理事会は同年 7 月 2 日にも自らの立場を採用した。2026 年 7 月 7 日、欧州議会は緊急手続を承認するため 331 対 303 の投票を行い、その際に関連する委員会を bypass して、有効期限を迎えた特別措置を迅速処理する手続きをとった。この議題に対する法的拘束力のある投票は木曜日(7 月 9 日)に予定されており、絶対多数である 361 人の欧州議会議員の賛成が必要となる。 同時に、「チャットコントロール 2.0」と呼ばれる恒久解決策を確立するための努力も停滞している。委員会は 2022 年 5 月 11 日、プラットフォームに対し暗号化全体(エンドツーエンド)を迂回して検出と報告を行うことを求める恒久規制を提案した。2023 年 11 月、欧州議会は E2E スキャンに反対する保護性指令を採用し、視覚情報のみを対象とした分析、特定の裁判所命令の要件のみを受け入れること、また年齢認証の義務化を拒否することを要請した。2025 年 12 月から 2026 年 5 月までの 4回のトリログ(三回協議)ラウンドに加えて、2026 年 6 月 29 日の「最終」ラウンドも失敗に終わったが、チャットコントロール 2.0 に関する合意は依然として達されていない。 2026 年 6 月 10 日、理事会の法務部は、裁判所の承認なしに行われる自発的スキャンは、EU 基本権憲章第 7 条(プライバシーとデータ保護)に抵触する一般化されたスキャンであるとして警告した。恒久 CSA 規制について 5回のトリログラウンドが完了後なお合意に至らず、2025 年 10 月にドイツの議長国としての任務でリスク評価と軽減義務への重点が移行している状況において、EU は児童安全の強化とデジタル権限の維持という狭いバランスを navigate しなければならない。7 月 9 日の緊急投票は、国家関連のスキャン手続に議論を伴う形で再び導入することを強いるリスクがあり、これにより憲法上の保護や公共の信頼に関連する新たな法的課題が引き起こされる可能性がある。