検証とレベル規約
4段階の検証プロセスと6つのレベル規約。自身で作成していない第三者の設計データであっても、安心してスピーカーへ出力できる根拠がここにあります。
4段の検証
スキーマ検証と係数検証に合格した設計のみがライブラリに登録されます。「一覧に表示されているのに選択すると必ずクラッシュまたはエラーになる」という破綻を防止するためです。
- 検証で不合格となった場合は、失敗した段・エラーコード・実際の測定値が詳細にレポートされます。これは単なる異常終了ではなく、検証システムが返す「合格か不合格か」という2つの正常な判定結果の1つです。
- スキーマ検証に合格したからといって、正常に再生できるとは限りません。構文の正しさは前提に過ぎず、信号処理としての妥当性判定は係数計算以降のフェーズで下されます。
- 検証のいずれかの段階で不合格となった場合、音声出力は安全のため自動的にバイパス(素通し)へフォールバックします。
- 実際に音を出力することなく検証判定のみを実行することも可能です。AIアシスタントにコードや設計を生成させた際、ユーザーがロードする前にAI自身に自己検証を行わせることができるのは、この検証APIが用意されているためです。
シミュレーションが測るもの
3種類のテスト信号はいずれも超音波帯域の成分を含んでいません。したがって、超音波帯域で観測されたエネルギーはすべて、対象シグナルチェーンの非線形処理によって新たに生成された成分です。
- DCオフセットの判定は正弦波テストのみを基準とします。他の2つの信号では推定誤差が判定閾値を上回ってしまい、実際には発生していないDCを誤検知する恐れがあるためです(測定値自体はレポートに記録されます)。
- 長大な畳み込み(FIR)を含むチェーンは、フィルタの内部状態が定常状態に達するまで事前動作(ウォームアップ)させてから測定するため、ロード時の検証に少し時間がかかります。
- 検証レポートは上流の項目から順に確認してください。上流の測定段で不正な値(NaNなど)が発生している場合、それ以降の下流の測定数値はすべて無意味になります。
超音波成分をリジェクトするのは、耳で感知できない危険な信号だからです。
可聴帯域外の超音波信号であっても、フルスケール近い振幅があれば下流のアンプやスピーカーのツイーターにそのまま伝送されます。可聴域のノイズと異なり人間が耳で気付くことができないため、ボイスコイルの過熱や焼損を引き起こす危険があります。リジェクトの対象は「超音波帯域の過剰な増幅」であり、絶対エネルギー量で判定されるため、適切に窓関数を適用したハイパスフィルタなどが不当に弾かれることはありません。
DC(直流)成分をリジェクトするのは、スピーカードライバーを偏向・変位させ続けるからです。
非対称な波形歪みや偶数次高調波を生成する非線形処理は、DC成分を発生させます。DC成分がアンプやスピーカーへ送られると、コーン紙を一方に押し出したまま保持させ、歪みの増大やボイスコイルの熱損傷を招きます。dc_blockerノードは、DCを発生させる非線形段の「直後」に配置してください。手前に配置しても後段で発生するDCは除去できません。
純粋な線形処理チェーンはこのシミュレーションをバイパスします。
シミュレーション検証、出力リミッター、およびソフトスタート機構が適用されるのは、非線形ノードを含むチェーンのみです。これをすべての線形処理(EQやゲインなど)にまで一律強制してしまうと、「本来最も透明であるべきストレートな信号経路が、保護機能によって最も干渉を受ける」という本末転倒な事態に陥るためです。
レベル規約
仕様バージョンによって厳格に規定されています。将来にわたって恣意的に変更されることはありません。
規約4(ドライブ補償)と規約6(自動ラウドネスマッチング)の存在により、A/B比較において「単に音量が大きい方が良い音に聴こえてしまう」という心理音響的錯覚を排除し、純粋な音質・音色の差異のみを正当に比較できます。