Expand description
End-to-end audio processing coordinator.
Integrates format conversion, VAD, chunking, and preprocessing into a synchronous pipeline for one input stream at a time.
§Architecture
The coordinator follows a simple synchronous design optimized for CPU-bound audio processing:
Raw Audio Bytes
↓
Format Conversion → StandardAudio (16kHz mono PCM)
↓
VAD Detection → Speech Segments
↓
Chunking → ProcessedChunks (500ms aligned)
↓
Preprocessing → Clean Audio
↓
Processed Output§Performance Contract
- Audio processing latency: <60ms P95 (all 4 stages)
- Per-stage tracking: Individual latency metrics exported
- Stage reporting: Per-stage latency metrics are returned
§Example
use speech_prep::pipeline::AudioPipelineCoordinator;
let coordinator = AudioPipelineCoordinator::new_with_defaults()?;
let audio_bytes = std::fs::read("sample.wav")?;
let result = coordinator.process_frame(&audio_bytes)?;
assert!(result.total_latency < std::time::Duration::from_secs(1));
assert!(result.chunks_processed <= 16);Structs§
- Audio
Pipeline Coordinator - Audio pipeline coordinator.
- Processing
Result - Result of processing audio through the complete pipeline.
- Stage
Latencies - Latency measurements for each pipeline stage.