Overview
ParakeetTDTCTC is a hybrid model that combines both Token-and-Duration Transducer (TDT) and Connectionist Temporal Classification (CTC) decoders. It inherits all functionality from ParakeetTDT but includes an additional CTC decoder for auxiliary training objectives.
The
.generate() method uses the TDT decoder by default. The CTC decoder is available via .ctc_decoder for specialized use cases.Class Definition
parakeet.py:909-918
Inheritance
ParakeetTDTCTC inherits all methods from ParakeetTDT:transcribe()transcribe_stream()generate()decode()
Additional Properties
ctc_decoder
CTC decoder component for auxiliary training objectives. This decoder is separate from the main TDT decoder and is primarily used during training.
Usage
ParakeetTDTCTC models are used identically to ParakeetTDT models:Why use TDT-CTC? The hybrid architecture allows for multi-task learning during training, potentially improving accuracy. At inference time, you get all the benefits of TDT decoding (beam search, duration modeling) with the robustness from CTC auxiliary training.
Architecture
The TDT-CTC model includes:- Shared Conformer Encoder - Processes audio into features
- TDT Decoder (primary) - Autoregressive decoder with duration modeling
- Joint Network - Combines encoder and decoder outputs
- CTC Decoder (auxiliary) - Non-autoregressive CTC head
Model Variants
Check Hugging Face for available TDT-CTC models:Comparison with Other Models
| Feature | TDT-CTC | TDT | CTC |
|---|---|---|---|
| Beam search | ✅ Yes | ✅ Yes | ❌ No |
| Duration modeling | ✅ Yes | ✅ Yes | ❌ No |
| CTC auxiliary | ✅ Yes | ❌ No | N/A |
| Speed | Fast | Fast | Fastest |
| Streaming | ✅ Yes | ✅ Yes | ✅ Yes |
Related
- ParakeetTDT - Parent class with full TDT functionality
- ParakeetCTC - Pure CTC variant
- BaseParakeet - Common interface and methods
- DecodingConfig - Configure beam search and decoding
- Models Concept - Understanding model architectures