Feature Proposals and Implementation Audit
Overview
Audited 2026-09-21 against checkout 8e6c15c2; incoming proposals at locally available origin/main (52ae2aea) were also reviewed. This is a source/documentation audit, not hardware validation. This is a historical Python-edition record, not the Rust roadmap. Source links point to the archived edition.
Scope and Selection Policy
[!IMPORTANT] Core Principle Accurate measurement, free of charge, and all features available to everyone.
Follow the current direction: improve useful measurements and readable results on ordinary 44.1/48 kHz interfaces. Prefer relative two-channel measurements, distinguish the DUT from the acquisition path, and extend existing widgets before adding another instrument. Follow the design boundaries; do not add duplicate background monitoring.
Proposed means ready for review, not approved or scheduled. Vision requires an experiment before promotion. Covered rejects a duplicate proposal. Historical rejected/deferred topics remain inactive; new audit judgments below do not imply a human review decision.
Proposed Extensions
1. Output Impedance and Load Interaction — Network Analyzer
- Question: Will a headphone or line output change its frequency response with a different load? Capture two sweeps with manually exchanged known resistive loads and a common input reference. Derive complex source impedance versus frequency; optionally use a measured load impedance to predict its voltage-divider response.
- Existing / missing: Network Analyzer supplies XFER, phase and references; Impedance Analyzer measures passive loads using a shunt. Neither derives an active output's source impedance from two loaded transfer functions. Add a paired-load mode to Network Analyzer, reusing its acquisition and plots.
- First delivery / proof: Start with low-voltage, single-ended outputs, two entered effective loads including analyzer input loading, unchanged gain and common phase alignment. Show the measured response difference even when source impedance is unresolved. Validate with a known series resistor and predict a third load; mark ill-conditioned results when the difference is within repeat scatter. Bridged/power outputs and load-dependent nonlinear behavior are outside this first model.
2. Signal-Level Residual Map — Distortion Analyzer
- Question: Does the noise remaining between tones rise when a DAC or amplifier reproduces a signal? Add a fixed-frequency level sequence with quiet captures before/after it; show residual power density versus frequency and stimulus level, plus band-integrated absolute residual levels.
- Existing / missing: Noise Profiler characterizes the selected input; Distortion Analyzer reports THD+N; Advanced Distortion Meter already measures multitone TD+N. The new result is the level-dependent residual spectrum with explicit tone/harmonic exclusion, not another aggregate distortion score. Reuse the distortion sweep and shared spectral calculations.
- First delivery / proof: Keep ADC gain, bandwidth, FFT window and exclusion bands fixed; average linear power and report the retained bandwidth. Include a matching loopback baseline without subtracting distortion powers. Test constant-noise and amplitude-dependent-noise signals, plus off-bin leakage. Label the result “residual,” since unresolved spurs remain; quiet auto-muting and interface noise prevent automatic DUT attribution. Audio Precision explains why idle noise and noise in a signal's presence differ.
3. Difference with Repeatability — Network Analyzer
- Question: Is a small response change larger than this setup's run-to-run variation? Group repeated A/B acquisitions and display their mean gain difference alongside each group's repeat scatter, retaining every original trace.
- Existing / missing: Network Analyzer applies a reference but does not group independent runs or compute their spread. Add offline comparison of unsmoothed Network Analyzer gain traces first; this needs no new acquisition widget.
- First delivery / proof: Show run count and sample standard deviation, not an audibility or full-uncertainty verdict. Require compatible frequency coverage and acquisition settings; extend exported metadata with rate, level, gain/calibration identity and quality flags. Missing metadata stays “unverified”; no extrapolation or implicit normalization. Verify identical runs, a known gain shift, missing bins and mismatched settings. Manual repeat capture is enough for the first version.
4. IMD Amplitude Sweeps — Distortion Analyzer (Carried Forward)
The implementation has SMPTE/CCIF real-time metrics, but SweepWorker.run() calls harmonic analysis and sweep plots/exports read THD+N fields. Route amplitude sweeps through the selected IMD analysis, store IMD percent/dB and actual tone frequencies/ratio, and update plots/export together. Validate against the same captured signal's real-time result. Treat DIN as a separately specified preset/metric, not an already supported standard. This is the smallest implementation candidate; AES17 measurement itself is already present.
5. Transient / Onset Highlighting — Spectrogram
- Question: Can we easily spot clicks, pops, or percussion onsets in a dense spectrogram?
- Existing / missing: Spectrogram shows energy over time and frequency, but sudden broad-band transients can get lost visually.
- Proposal: Add a visual overlay or specific color mapping option to highlight sudden transient events based on short-term energy changes across the frequency spectrum.
- Reuse: Extend the existing Spectrogram widget to compute and highlight spectral difference over time.
6. Event-Triggered Audio Capture — Sound Level Meter
- Question: Can we automatically capture the audio of intermittent loud noises without recording gigabytes of silence?
- Existing / missing: Sound Level Meter shows instantaneous SPL, and Recorder & Player captures audio manually. We lack an automatic trigger based on SPL.
- Proposal: Add an option to trigger short audio recordings (e.g., 5 seconds before and after) when the instantaneous SPL exceeds a user-defined threshold.
- Reuse: Combine Sound Level Meter's SPL calculation with Recorder & Player's buffer capabilities.
Future / Visionary Ideas
These ideas are separated from the implementation candidates. Each has a concrete experiment and a reuse check.
Two-Input Noise Microscope — New Vision
Make weak shared noise emerge as two synchronized input channels average complex cross-spectra. Noise Profiler currently averages one channel's magnitude; this would be a new estimator there, not another spectrum widget. Published low-frequency experiments support the principle, but do not establish performance on consumer interfaces. First test known common noise plus independent noise, then a split physical source. Display both auto-spectra, cross-spectrum phase/sign and convergence. Shared interference, loading and cross-spectral cancellation must be characterized before claiming a lower usable noise floor.
Model Challenge Bench — New Vision
Let a measured model propose where it might be wrong, then ask the real DUT. Extend Response Viewer with held-out frequency/level probes and a prediction-error map; select additional probes within user-set output limits. Existing THD maps, simulations and adaptive predistortion already cover modeling and correction. The new capability is independent experimental validation and adaptive probe selection. First demonstrate a known virtual model passing, and an intentionally inadequate model failing; retain measured, predicted and unexplored regions separately. This neither infers circuit topology nor replaces the deferred generic AI-anomaly proposal.
Time-Reversal Focus Experiment — Refined Existing Vision
Turn the existing focusing idea into a measurable experiment: reuse Network Analyzer's impulse response and Recorder & Player to replay an energy-normalized reversed response, then measure concentration at the target and nearby positions. Single-loudspeaker focusing has been demonstrated, but a captured room response is not a guarantee of a spatially isolated focus. The missing extension is paired capture/replay and spatial verification. Promote only after a repeatable low-level test with unchanged geometry; do not promise levitation or a universal inverse filter.
Spatial Acoustic Holography Viewer — New Vision
- Concept: Visualize the 3D acoustic field of a room or speaker using multiple microphones or a tracked moving microphone.
- Experiment: Measure spatial impulse responses at known grid points and reconstruct the wave propagation over time.
- Reuse: Combine Network Analyzer's IR capture with a new spatial mapping visualization layer. Requires an external tracking system or strict manual positioning.
Psychoacoustic Sweet-Spot Visualizer — New Vision
- Concept: Real-time evaluation of the listening "sweet spot" based on perceptual metrics, not just flat frequency response.
- Experiment: Measure Interaural Time Difference (ITD) and Interaural Level Difference (ILD) across a spatial grid using a binaural microphone.
- Reuse: Extend Spatial Binaural Mixer and Network Analyzer to map the area where spatial imaging and tonal balance are optimal.
Perceptual Audio-Lens (AI Source Separation Measurement) — New Vision
- Concept: Separate individual instruments or noise sources from a complex mixture and measure their individual characteristics.
- Experiment: Apply a source separation model to a complex signal, then run standard THD or frequency response measurements on the isolated tracks.
- Reuse: Integrate a separation algorithm as a pre-processing step before routing the signal to existing analysis widgets like Spectrum Analyzer or Distortion Analyzer.
Audit of Earlier Candidates
| Earlier candidate | Current disposition and evidence |
|---|---|
| True-Peak Histogram / Clipping Profiler | Covered: LUFS Meter has histogram, SP/TP intervals and incomplete-run flags. |
| L10/L50/L90 | Covered: Sound Level Meter, calculate_ln_statistics() and statistics UI. |
| Auto-peak markers | Covered: Spectrum Analyzer, configure_peak_markers(), display/raw modes. |
| Multitone TD+N; Cable LCR Extractor | Covered: Advanced Distortion Meter MIM; Impedance Analyzer L/C/R, OSL and sweep. A specialized name adds no measurement. |
| AES17 automator; warm-up/stability logger | Retained, lower priority: automate the existing calibration/measurement sequence; separately retain periodic gain/THD with acquisition conditions. Neither requires a new widget. |
| XRUN timeline | Partial: Event Detector already marks gaps and censored events; only a timeline linked to existing engine loss metadata remains a potential extension. |
| Class-D switching artifact profiler | Not selected in this audit: ordinary-rate capture cannot identify out-of-band switching noise from aliased in-band components. Spectrum observation is covered; causal attribution needs a specified wider-band front end. |
| Thermal power compression / Re drift; Phase IMD / Doppler | Conditional: impedance time series and two-tone IMD already exist. Actual thermal compression needs controlled drive and acoustic response; Doppler needs specified phase demodulation. No new implementation commitment. |
| Burst Envelope / Micro-dynamics; Haptic Audio Sync | Conditional: Transient Analyzer and Boxcar already capture/average transients. Define an additional observable metric and, for haptics, a sensor before reconsidering. |
| Loudspeaker Polar/Directivity 3D Plotter; HRTF deconvolution; 6DOF Room Simulation | Retained as vision: reuse Network Analyzer, HRTF Player and Spatial Binaural Mixer. Acquisition geometry, fixtures/tracking and validation remain prerequisites. |
| Psychoacoustic Masking Overlay; Perceptual Residue Auralizer; Interactive Audiograms | Retained as vision: require a specified perceptual model and calibrated listening protocol. A separated residue becoming audible does not establish that it was audible in the original mixture. |
Other Earlier Vision Seeds (Not Scheduled)
Preserved for later workers, without treating speculation as a measurement capability:
- Perception / AI: Psycho-Acoustic Emotional Impact Scorer; AI-Driven Measurement Recipe Generator; AI Golden Ear Component Fingerprinter. Define a testable output before promotion; no emotion or component-identification accuracy is established.
- Temporal Audio Micro-Lens: Interpolated displays may illustrate band-limited reconstruction; AI cannot establish unrecorded sub-sample events as measured facts.
- Neuromorphic & Quantum Analysis: Event-based transient capture is covered by Event Detector; quantum modeling of noise has no defined observable here.
- Multimodal / Spatial: Synesthetic Measurement Mapper; Synesthetic Haptic Translator; Ultrasonic Acoustic Levitation Calibrator; Holographic/AR Acoustic Mode visualization. Additional hardware and an experiment remain undefined.
- Bio / BCI: Bio-Acoustic Impedance Sonifier; Brain-Computer Interface Audiophile Profiler. Retained as speculative concepts only.
Previously Audited / Rejected / On Hold
Items reviewed and either implemented, conditionally approved, put on hold, or deemed not suitable for the current focus. They remain here for historical context.
- Implemented/Covered: Group/Phase Delay, Frequency-Dependent Crosstalk, Pre-Ringing, True Peak, IMD, AES17, Volterra Kernel, Inter-Channel Phase, Binaural Tones, DAC Filters, Cumulative Spectral.
- Partially Implemented: Continuity/Data-Gap Detection.
- Conditional: Thiele/Small Extraction, Hum AM/FM, Dynamic Burst Linearity, Null Comparator, Dynamics Processor Profiler.
- On Hold / Not Suitable: Bandwidth- and Slew-Limited, Clock/Jitter Attribution, Hardware-Dominated tests, Lossy Codec, Listener Fatigue Index, PEAQ/ODG Estimator, AI Circuit Reverse Engineer, Acoustic Metamaterial Simulator.
- Deferred Reference Topics: ASRC Benchmark, DC Stability, Wow and Flutter, RT60, EQ Designer, AI Anomaly, Plugin System, Multimeter, Cepstrum Analysis.