Expand description
YAML-based validation configuration.
This module defines the configuration schema for validation test suites. Configuration can be loaded from YAML files or constructed programmatically.
§Configuration Structure
global:
sample_rate: 96000
oversample: 4
fft_size: 65536
suites:
linear:
description: "Linear circuit tests"
tests:
rc_lowpass:
circuit: "linear/rc_lowpass.pedal"
description: "RC lowpass filter"
signals:
- type: impulse
amplitude: 1.0
- type: sine
frequency: 1000.0
duration: 0.1
pass_criteria:
normalized_rms_error_db: -60.0
peak_error_db: -40.0§Programmatic Usage
use pedalkernel_validate::config::{ValidationConfig, PassCriteria};
// Load from file
// let config = ValidationConfig::load("validate.yaml").unwrap();
// Or use defaults
let config = ValidationConfig::default_config();
// Define custom pass criteria
let criteria = PassCriteria {
normalized_rms_error_db: Some(-60.0),
peak_error_db: Some(-40.0),
thd_error_db: Some(1.0),
..Default::default()
};Structs§
- Global
Config - Global settings for all tests.
- Pass
Criteria - Pass/fail criteria for a test.
- Test
Case - A single test case.
- Test
Suite - A test suite (e.g., “linear”, “nonlinear”, “fairchild”).
- Validation
Config - Root configuration structure.
Enums§
- Config
Error - Metric
Config - Metric type configuration.
- Signal
Config - Signal configuration.
- Validation
Profile - Validation intent bucket for interpreting pass/fail thresholds.