Expand description
High-level audio format conversion pipeline.
This module provides a unified API for detecting common audio formats and converting WAV/PCM input to the crate’s standard format: mono, 16kHz, normalized f32 samples.
§Pipeline Stages
- Format Detection: Identify audio container format (WAV, MP3, FLAC, etc.)
- Decoding: Extract PCM samples from WAV input (supports 16/24-bit)
- Resampling: Convert to 16kHz standard rate (linear interpolation)
- Channel Mixing: Downmix to mono (simple averaging)
§Performance Contract
- Target Latency: <10ms for 3-second audio clip
- Memory: Streaming-friendly, minimal allocations
- Quality: RMS error <0.01, zero clipping
§Example
use speech_prep::converter::AudioFormatConverter;
let audio_bytes = std::fs::read("recording.wav")?;
let standard = AudioFormatConverter::convert_to_standard(&audio_bytes)?;
assert!(!standard.samples.is_empty());Structs§
- Audio
Format Converter - High-level audio format converter.
- Conversion
Metadata - Metadata tracking the complete conversion pipeline journey.
- Standard
Audio - Standardized audio output: mono, 16kHz, normalized samples.