Skip to main content

Module pipeline

Module pipeline 

Source
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§

AudioPipelineCoordinator
Audio pipeline coordinator.
ProcessingResult
Result of processing audio through the complete pipeline.
StageLatencies
Latency measurements for each pipeline stage.