Spaces:
Running
Running
|
Download docs/ANALYZER_API.md from Rileypiper/VoxArcade: direct link, hf CLI and curl.
- Browser
- Download file 1.58 kB
-
https://huggingface.co/spaces/Rileypiper/VoxArcade/resolve/main/docs/ANALYZER_API.md
- Command line
-
hf download hf://spaces/Rileypiper/VoxArcade/docs/ANALYZER_API.md
-
curl -L -o ANALYZER_API.md https://huggingface.co/spaces/Rileypiper/VoxArcade/resolve/main/docs/ANALYZER_API.md
1.58 kB
Voice Analyzer Internal API Contract
This document defines the stable interface between the DSP analyzer and UI/game modes.
Analyzer output contract
VoiceAnalyzer.metrics emits normalized values in [0, 1]:
bounce: pitch-variance expressiveness.tempo: transition-rate/tempo variation.vowel: sustained voiced-vowel continuity.articulation: high-frequency consonant clarity (noise-floor normalized).syllable: onset impulse for separated syllables.pitch: user-adaptive pitch position.energy: adaptive energy position (P50/P90 normalized).resonance: smoothed resonance/formant-derived signal.
Confidence contract
Consumers should treat the following analyzer fields as quality indicators:
pitchConfidenceformantConfidencespectralTiltConfidence
Frame reliability is computed with computeFrameReliability() in voice-analyzer-core.js.
UI integration rules
- UI/game logic should read metrics only through
analyzer.metrics. - Do not re-normalize metrics in mode-specific renderers.
- Feature additions that need raw DSP values should be introduced via explicit analyzer fields and documented here.
Module boundary (phase 1)
voice-analyzer-core.js now owns shared normalization/reliability math.
Future extractions should continue this split:
voice-analyzer-core.js: pure math + gating helpers.voice-analyzer-engine.js: WebAudio capture + frame extraction.voice-analyzer-state.js: profile learning and state transitions.- UI/game modes consume only the stable contract above.