# Hardware Test Configuration audio: sample_rate: 44100 channels: 2 device_name: "Scarlett" # Will auto-detect Focusrite Scarlett test_tones: frequencies: [100, 250, 500, 1000, 2000, 4000, 8000] # Hz duration: 10.0 # seconds per frequency amplitude: 0.5 # 0.0 to 1.0 latency_runs: 5 # Number of latency measurements to average output: results_dir: "test_results" save_plots: true save_raw_audio: false artifact_detection: test_frequency: 1000 # Hz - Test tone frequency (for sine wave mode) duration: 60.0 # seconds - Recording duration amplitude: 0.5 # 0.0 to 1.0 startup_delay: 0 # seconds - Wait before starting recording to let system settle # Chirp signal parameters (used when --signal-type chirp is specified) chirp_f0: 100 # Hz - Chirp start frequency chirp_f1: 8000 # Hz - Chirp end frequency # NOTE: All detectors skip the first and last 1 second of recording to avoid startup/shutdown transients detectors: spectral_anomaly: enabled: false # DISABLED - generates too many false positives, needs better algorithm threshold_db: -60 # Detect unexpected frequencies above noise floor + this threshold (more negative = less sensitive) amplitude_spikes: enabled: true threshold_factor: 5.0 # MAD-based outlier detection on envelope (detects clicks, pops, dropouts). Lower = more sensitive. zero_crossing: enabled: false threshold_factor: 2.0 # Number of standard deviations for zero-crossing anomalies (detects distortion) energy_variation: enabled: true threshold_db: 6.0 # Energy change threshold in dB between consecutive windows (detects level changes) latency: max_std_dev_ms: 0.5 # Maximum allowed std deviation; test fails if exceeded min_avg_ms: 1.0 # Minimum expected average latency; near-zero indicates bad loopback latency_buildup: measurement_interval: 10 # seconds between latency measurements max_duration: null # maximum test duration in seconds (null = run until canceled) buildup_threshold_percent: 5.0 # percentage change threshold for buildup detection