dsp-rta-comparisonlisted
Install: claude install-skill kimny1143/claude-code-template
# dsp-rta-comparison — DSP実機比較自動テストフレーム
## 概要
DSP plugin開発で「実機 (commercial plugin) 出力」 vs 「自実装出力」 の差分を自動計測し、人間検聴前の **機械的 quality gate** を提供する。MUEDsp v1 開発で kimny検聴依存scaling解消 (合計1-2時間範囲内に kimny工数を収める) ための critical infra。
**位置付け**: MUEDsp_v1_design.md §4.1 「DSP生成 → 検聴ループの運用設計」を実装するskill。Claude Codeはこのテストが通った状態でしかcommit不可、kimnyの検聴は「個別モジュールの音」ではなく「チェーン全体の最終音」に集中。
## なぜ必要か
- **scaling問題**: DSP module 1個実装時に5-10回iterate × 比較対象3-5実機 × 既知入力4種類 = 60-200比較ペア = kimny検聴 unscaling
- **regression防止**: 既存module update時に他module への影響検出が手動では困難
- **commit前 quality gate**: 自動テスト pass までcommit不可ルール (設計書 §4.1) を実装可能化
## 使用方法
### CLI
```bash
# 1ペア比較
python -m lib \
--reference reference/shadow_hills_sin1k.wav \
--test test-output/my_comp_sin1k.wav \
--output reports/comparison_$(date +%Y%m%d).md
# batch比較 (ディレクトリ全体)
python -m lib \
--reference-dir reference/ \
--test-dir test-output/ \
--output-dir reports/
```
### pytest integration (commit前 quality gate)
```python
from lib import compare, ComparisonResult
def test_glue_comp_matches_shadow_hills():
result: ComparisonResult = compare(
reference="reference/shadow_hills_pinknoise.wav",
test="test-output/glue_comp_pinknoise.wav",
thresholds={
"spectrum_diff_max_db": 1.5, # spectrum -1.5/+1.5 dB以内
"transient_diff_ms": 5.0, # transient ±5ms以内
"lufs_diff": 0.3, # LUFS ±0.3以内
"tp_diff_db": 0.2, # TP ±0.2 dB���内