How mozilla/deepspeech works
DeepSpeech is a speech-to-text engine with a training workflow that prepares audio/transcripts, builds training batches, trains and checkpoints an acoustic model, then evaluates or exports it for inference. Runtime recognition is exposed through native bindings, including a .NET client; CTC beam search and optional language-model scoring support decoding. Dataset import, audio augmentation, and language-model preparation are distinct supporting capabilities. Edges use the supplied excerpts and SOURCE INDEX references; unsampled runtime relationships are omitted where the evidence does not establish them.
Main entry points: train.py Model trainer · feeding.py Feature feeding · sample_collections.py Dataset collections · config.py Training config
Components 18
Data preparation
- Dataset collections
training/deepspeech_training/util/sample_collections.py - Dataset importers
training/deepspeech_training/util/importers.py - Audio processing
training/deepspeech_training/util/audio.py - Augmentations
training/deepspeech_training/util/augmentations.py - Feature feeding
training/deepspeech_training/util/feeding.py
Model training
- Training config
training/deepspeech_training/util/config.py - Run options
training/deepspeech_training/util/flags.py - Model trainer
training/deepspeech_training/train.py - Checkpoint handling
training/deepspeech_training/util/checkpoints.py - Evaluation
training/deepspeech_training/evaluate.py
Recognition runtime
- File transcription
transcribe.py - Language model tools
data/lm/generate_lm.py - Native speech API
native_client/deepspeech.cc - CTC beam decoder
native_client/ctcdecode/ctc_beam_search_decoder.cpp - C API
native_client/deepspeech.h
Client interfaces
- .NET client
native_client/dotnet/DeepSpeechClient/DeepSpeech.cs - .NET console
native_client/dotnet/DeepSpeechConsole/Program.cs
Other components
- Speech user
Connections 19
- Dataset importers → Dataset collections: adds datasets
training/deepspeech_training/util/importers.py - Dataset collections → Audio processing: uses audio
training/deepspeech_training/util/sample_collections.py - Dataset collections → Feature feeding: supplies samples
training/deepspeech_training/util/feeding.py - Feature feeding → Audio processing: extracts features
training/deepspeech_training/util/feeding.py - Feature feeding → Augmentations: applies transforms
training/deepspeech_training/util/feeding.py - Model trainer → Feature feeding: loads batches
training/deepspeech_training/train.py - Model trainer → Training config: uses settings
training/deepspeech_training/train.py - Training config → Run options: reads options
training/deepspeech_training/util/config.py - Training config → Augmentations: configures transforms
training/deepspeech_training/util/config.py - Model trainer → Checkpoint handling: saves checkpoints
training/deepspeech_training/train.py - Model trainer → Evaluation: runs evaluation
training/deepspeech_training/train.py - Speech user → File transcription: requests transcription
transcribe.py - File transcription → Audio processing: loads audio
transcribe.py - File transcription → Checkpoint handling: loads model state
transcribe.py - Speech user → .NET console: runs recognition
native_client/dotnet/DeepSpeechConsole/Program.cs - .NET console → .NET client: calls client
native_client/dotnet/DeepSpeechConsole/Program.cs - .NET client → C API: invokes native API
native_client/dotnet/DeepSpeechClient/DeepSpeech.cs - Native speech API → CTC beam decoder: decodes outputs
- Language model tools → CTC beam decoder: prepares scorer