ASR Pipeline Architecture
This guide provides a comprehensive overview of NeMo Curator’s Automatic Speech Recognition (ASR) pipeline architecture, covering audio input processing through transcription generation and quality assessment.
Pipeline Overview
The ASR pipeline in NeMo Curator follows a systematic approach to speech processing:
Core Components
1. Audio Input Management
AudioBatch Structure: The foundation for audio processing
- Contains audio file paths and associated metadata
- Validates file existence and accessibility automatically
- Supports efficient batch processing for scalability
Input Validation: Ensures data integrity before processing
- File path existence checks using
AudioBatch.validate()andvalidate_item() - Optional metadata validation added by downstream stages (such as duration and format checks)
2. ASR Model Integration
NeMo Framework Integration: Leverages state-of-the-art ASR models
- Automatic model downloading and caching for convenience
- GPU-accelerated inference when hardware is available
- Support for multilingual and domain-specific model variants
Model Management: Efficient resource usage
- Lazy loading of models to conserve system memory
- Automatic GPU or CPU device selection based on available resources
- Model-level batching handled within NeMo framework
3. Inference Processing
Batch Processing: Supports processing audio files together
- Audio files are processed together in a single call to the NeMo ASR model
- Batch size configuration controls task grouping for processing using
.with_(batch_size=..., resources=Resources(...)) - Internal batching and optimization handled by the NeMo framework
Output Generation: Structured transcription results
- Clean predicted text extraction from NeMo model outputs
- Complete metadata preservation throughout the processing pipeline
Processing Stages
Stage 1: Data Loading
Stage 2: ASR Model Setup
Stage 3: Transcription Generation
Stage 4: Quality Assessment Integration
Data Flow Architecture
Input Data Flow
- Audio Files → File system
- Manifest Files → JSONL format with metadata
- AudioBatch Objects → Validated, structured data containers
Processing Data Flow
- Model Loading → NeMo ASR model initialization
- Batch Creation → Group audio files for efficient processing
- GPU Processing → Transcription generation
- Result Aggregation → Combine transcriptions with metadata
Output Data Flow
- Transcription Results → Predicted text for each audio file
- Quality Metrics → WER, CER, duration, and custom scores
- Filtered Datasets → High-quality audio-text pairs
- Export Formats → JSONL manifests for training workflows
Performance Characteristics
Scalability Factors
Model Selection Impact:
- Larger models provide better accuracy but require more processing time
- NeMo models support streaming capabilities, though this stage performs offline transcription
- Language-specific models improve accuracy for target languages
Hardware Usage:
- GPU acceleration typically outperforms CPU processing for larger workloads
- Memory requirements scale proportionally with model size and audio input lengths
Optimization Strategies
Memory Management:
Resource Configuration:
Error Handling and Recovery
Audio Processing Errors
Pipeline Recovery
For guidance on resumable processing and recovery at the executor and backend level, refer to Resumable Processing.
Integration Points
Text Processing Integration
The ASR pipeline seamlessly integrates with text processing workflows: