DBDelve
DBDelve는 Rust 기반 빠른 다중 엔진 데이터베이스 클라이언트, 무료 오픈소스, 텔레메트리 없음
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Explore DTMF through transparent circuits, tone generation and frequency-aware decoding. Day121.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Day121 - 生成AIで作るセキュリティツール200
DTMFusionは、電話のキーを2つの音として鳴らし、信号の通り道を回路で見て、音から番号へ戻す教材です。 理想波とTP5089の教育用モデルを切り替え、規格の数値とデコーダーの判定を比べられます。 録音に残った音から番号を復元する側波路の仕組みも扱います。
日本語 / English
インストールは不要です。ファイル一式を保存し、index.htmlを直接開いても使えます。
マイクにはブラウザーの許可が必要です。HTTPSまたはlocalhostを推奨します。file://でのマイク利用はブラウザーによって異なります。
鳴らす前に端末の音量を小さくし、周りの人やペットに配慮してください。
キー5を押した経路だけを、太い破線と●で表示します。
IC世代では実周波数と推定分周比を区別して表示します。
番号、認識理由、推定した低群・高群の偏差を表示します。
座学は6節です。数値ごとに一次資料・推定・二次資料を区別します。 ライト版:ブロック図/IC世代/復元/座学。英語版は英語READMEに掲載しています。
?、認めなかった理由、8周波数のパワー表示明暗の保存値がない初回は、端末の配色設定に従います。保存済みの選択があれば、端末の設定より優先します。
押している間の音は短い区間をループ再生します。ずれ0%の理想波は1秒、IC世代やずれを加えた波は0.5〜2秒の範囲から、継ぎ目の段差が内部のサンプル間差を超えず、2音の位相誤差が小さい長さを選びます。最初の操作と設定変更時に音を小分けに準備し、キー・設定・サンプルレートごとに再利用します。初回は音声の起動と準備の時間が必要です。開始と終了のフェード、−12dBFSの上限、60秒の自動停止は維持しています。
画面は「キーから信号へ」「波形とスペクトル」「音から番号へ」「しくみを読む」の順です。狭い画面ではキーパッドの下に回路を置きます。 「透かして見る」はテンキー上のボタンで切り替えます。初期状態はONで、横4本が低群、縦4本が高群です。 周波数ラベルは理想波形/IC世代と周波数ずれの設定を反映します。OFFで通常のキー表示に戻り、右側の回路図は表示を続けます。 目盛りの余白はON/OFF共通です。切り替えても16キーの位置・寸法・間隔と外枠の高さは変わりません。 波形とスペクトルは選んだキー・設定から作るプレビューで、マイクの実測表示ではありません。波形は12ms、スペクトルは600〜1750Hzの範囲です。 マイクやWAVの解析状況は「音から番号へ」のパワー表示と判定結果で確認します。 パワーの棒は−60〜0dBの固定範囲です。−60dB未満は棒を空にし、横のdB数値は従来どおり表示します。
WAV入力はPCM 16/24/32bitまたはfloat32、1/2チャンネル、8〜96kHz、60秒・24MiB以下です。2チャンネルは平均します。 デコード後に読み込んだ音を保持せず、マイクは短い解析窓の値を順に破棄します。残るのは表示中の判定結果です。
このツールならではの使い方
?(例E3)、+3%では拒否(例E4)になることを比べる。「仕様上の境界」と「測定した推定値」を区別できる。製品の合否認証には使えない123をWAVにし、読み込んで同じ列へ戻す。音を記号として渡す仕組みを題材にできる。音に残る番号を秘密にする機能はない授業・家庭での自習、レトロ電子回路の調べもの、録音に含まれる情報の検討にも使えます。 マイクでの結果は部屋、スピーカー、端末の音声処理に左右されます。
以下は48kHz、音80ms、休止60msの例です。—は拒否して番号を追加しないことを表します。日英の表をテストで再計算します。
| ID | mode | profile | key | offset % | twist dB | low Hz | high Hz | result |
|---|---|---|---|---|---|---|---|---|
| E1 | ideal | NTT | 5 | 0 | 2 | 770 | 1336 | 5 |
| E2 | ic | NTT | 5 | 0 | 2.7 | 770.1 | 1331.7 | 5 |
| E3 | ideal | NTT | 5 | 2 | 2 | 785.4 | 1362.72 | ? |
| E4 | ideal | NTT | 5 | 3 | 2 | 793.1 | 1376.08 | — |
送出条件と受信条件を分けます。40ms/23msはQ.24表A-1のAT&T列の値であり、ITU-T全体の一律の規定ではありません。 レベル差は高群−低群です。以下は本ツールで扱う項目の抜粋で、規格の全要求を網羅しません。
| 出典 | 周波数偏差 | 音の長さ | 休止 | 周期 | レベル差 |
|---|---|---|---|---|---|
| Q.23 / 送出 | ≤1.8% | 規定なし | 規定なし | 規定なし | 標準化しない |
| Q.24 A-1 / NTT受信 | 動作≤1.8%、不動作≥3.0% | 動作≥40ms、不動作≤24ms | ≥30ms | ≥120ms | −5〜+5dB |
| Q.24 A-1 / AT&T受信 | 動作≤1.5%、不動作≥3.5% | 動作≥40ms、不動作≤23ms | ≥40ms | ≥93ms | −8〜+4dB |
| NTT技術参考資料 / 端末送出 | ≤1.5% | ≥50ms | ≥30ms | ≥120ms | 0〜+5dB |
出典はQ.23(1988年)、Q.24(1988年)Annex A、NTT東日本・第6.2版(2025年7月)p.14です。NTTの端末送出の表は1633Hz列を含みません。
解析はHann窓25.6ms、係数を整数ビンへ丸めないGoertzel法です。8本から各群の候補を選び、公称の±4%を0.5%刻みの17点で再計算します。 最大付近の対数パワーを放物線で補間し、同じキーの複数窓を平均して偏差を0.01%単位で判定します。これは表示・判定の刻みであり、精度保証ではありません。 推定したピークのパワーと公称の2位との比は6以上を要求し、レベル差は0.1dB単位です。
| rate Hz | N | rate/N Hz |
|---|---|---|
| 8000 | 205 | 39.02 |
| 44100 | 1129 | 39.06 |
| 48000 | 1229 | 39.06 |
48kHz・16キー・ずれ0%の窓長比較では、群内の比の最小値は20msで理想27.11/IC世代27.10、25.6msで1293.56/1261.38、32msで1413.24/1295.65でした。 25.6msを採用し、比のしきい値6は波形端や瞬断を含む窓の余裕を確保した教育用の設定です。音声全般に対する誤認率の保証ではありません。
2026-10-21の合成音測定では、以下の範囲で全16キーを正しく受理しました。3レート(8k/44.1k/48kHz)で同じ結果でした。 横軸はつまみで加えた偏差です。IC世代では表Iの周波数自体が公称からずれているため、規格の偏差とつまみの値は一致しません。
| mode | profile | 全16キーの受理範囲(%) | 1キー以上の受理範囲(%) |
|---|---|---|---|
| ideal | NTT | -1.8 … +1.8 | -1.8 … +1.8 |
| ideal | ATT | -1.5 … +1.5 | -1.5 … +1.5 |
| ic | NTT | -1.4 … +1.1 | -1.8 … +2.1 |
| ic | ATT | -1.1 … +0.8 | -1.5 … +1.8 |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗