Skip to content

Parakeet Backend

Voxtype supports NVIDIA's Parakeet ASR models as an alternative to Whisper. Parakeet uses ONNX Runtime and offers excellent CPU performance without requiring a GPU.

What is Parakeet?

Parakeet is NVIDIA's FastConformer-based speech recognition model. The TDT (Token-and-Duration Transducer) variant provides:

  • Fast CPU inference with AVX-512 optimization
  • Proper punctuation and capitalization
  • Good accuracy for English dictation
  • No GPU required (though CUDA acceleration is available)

Requirements

  • An ONNX-enabled voxtype binary (see below)
  • ~600MB disk space for the model
  • CPU with AVX2 or AVX-512 (AVX-512 recommended for best performance)

Getting a Parakeet Binary

Parakeet support requires an ONNX-enabled binary. Download from the releases page:

BinaryUse Case
voxtype-*-onnx-avx2Most CPUs (Intel Haswell+, AMD Zen+)
voxtype-*-onnx-avx512Modern CPUs with AVX-512 (Intel Ice Lake+, AMD Zen 4+)
voxtype-*-onnx-cudaNVIDIA GPU acceleration with CPU fallback

The AVX2 binary works on most modern x86_64 CPUs. Use AVX-512 if your CPU supports it for better performance.

Downloading the Model

Download the Parakeet TDT 0.6B model:

bash
# Create models directory
mkdir -p ~/.local/share/voxtype/models

# Download and extract the model
cd ~/.local/share/voxtype/models
curl -L https://huggingface.co/istupakov/parakeet-tdt-0.6b-v2-onnx/resolve/main/encoder-model.onnx -o encoder-model.onnx
curl -L https://huggingface.co/istupakov/parakeet-tdt-0.6b-v2-onnx/resolve/main/encoder-model.onnx.data -o encoder-model.onnx.data
curl -L https://huggingface.co/istupakov/parakeet-tdt-0.6b-v2-onnx/resolve/main/decoder_joint-model.onnx -o decoder_joint-model.onnx
curl -L https://huggingface.co/istupakov/parakeet-tdt-0.6b-v2-onnx/resolve/main/vocab.txt -o vocab.txt
curl -L https://huggingface.co/istupakov/parakeet-tdt-0.6b-v2-onnx/resolve/main/config.json -o config.json

# Or download the full directory structure
# The model should be at: ~/.local/share/voxtype/models/parakeet-tdt-0.6b-v2/

Alternatively, use the v3 model (https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx):

bash
mkdir -p ~/.local/share/voxtype/models/parakeet-tdt-0.6b-v3
cd ~/.local/share/voxtype/models/parakeet-tdt-0.6b-v3
# Download encoder-model.onnx, encoder-model.onnx.data, decoder_joint-model.onnx, vocab.txt, config.json

Switching to a Parakeet Binary

The standard voxtype binary does not include Parakeet support. You must switch to an ONNX-enabled binary.

Manual switching (until voxtype setup engine is implemented):

bash
# Download the Parakeet binary for your CPU
# Example: AVX-512 capable CPU
curl -L https://github.com/peteonrails/voxtype/releases/download/v0.6.3/voxtype-0.6.3-linux-x86_64-onnx-avx512 \
  -o /tmp/voxtype-onnx

# Make executable and install
chmod +x /tmp/voxtype-onnx
sudo mv /tmp/voxtype-onnx /usr/local/bin/voxtype

# Restart the daemon
systemctl --user restart voxtype

# Verify
voxtype --version

To switch back to Whisper, download and install the standard binary (avx2, avx512, or vulkan).

Configuration

Edit ~/.config/voxtype/config.toml:

toml
# Select Parakeet as the transcription engine
engine = "parakeet"

[parakeet]
# Model name (looked up in ~/.local/share/voxtype/models/)
model = "parakeet-tdt-0.6b-v3"

# Or use an absolute path
# model_path = "/path/to/parakeet-tdt-0.6b-v3"

Restart the daemon:

bash
systemctl --user restart voxtype

Verify Parakeet is active:

bash
journalctl --user -u voxtype --since "1 minute ago" | grep -i parakeet
# Should show: "Loading Parakeet Tdt model from..."

Performance

Tested on Ryzen 9 9900X3D (AVX-512):

Audio LengthTranscription TimeReal-time Factor
1-2s0.06-0.09s~20x
3-4s0.11-0.13s~30x
5s0.15s~33x

Model load time: ~1.2 seconds (one-time at daemon startup)

Comparison with Whisper

EngineBackendTypical SpeedGPU Required
Whisper smallCPU~3x real-timeNo
Whisper smallVulkan~60x real-timeYes
Parakeet TDTCPU (AVX-512)~30x real-timeNo
Parakeet TDTCUDA~80x real-timeYes (NVIDIA)

Parakeet on CPU is significantly faster than Whisper on CPU, and competitive with Whisper on GPU.

Known Limitations

Repetition Hallucination

Parakeet can hallucinate extra repetitions when you speak repeated words. For example, saying "no no no no no" might transcribe as many more "no"s than you actually said. This is a known issue with many ASR models.

Proper Noun Handling

Uncommon names and technical terms may be substituted with phonetically similar common words. For example:

  • "Krzyzewski" → "Krasiewski"
  • "Nguyen" → "Gwen"

English Only

Parakeet TDT models are English-only. For multilingual support, use Whisper.

Model Size

The Parakeet TDT 0.6B model is ~600MB, compared to Whisper small at ~500MB. Larger Parakeet models are available but not yet tested with voxtype.

Switching Back to Whisper

To switch back to Whisper, edit your config:

toml
engine = "whisper"

[whisper]
model = "small"

Or simply remove the engine line (Whisper is the default).

Troubleshooting

"Parakeet engine requested but voxtype was not compiled with --features parakeet"

You're using a standard voxtype binary without Parakeet support. Download an onnx-* binary from the releases page.

"Parakeet engine selected but [parakeet] config section is missing"

Add the [parakeet] section to your config:

toml
[parakeet]
model = "parakeet-tdt-0.6b-v3"

Model not found

Ensure the model is in the correct location:

bash
ls ~/.local/share/voxtype/models/parakeet-tdt-0.6b-v3/
# Should show: encoder-model.onnx, encoder-model.onnx.data, decoder_joint-model.onnx, vocab.txt, config.json

SIGILL crash on older CPUs

Parakeet binaries include ONNX Runtime, which contains AVX-512 optimized code paths. ONNX Runtime performs CPU feature detection at runtime and should only execute instructions your CPU supports.

If you experience a SIGILL (illegal instruction) crash, this is likely a bug in ONNX Runtime's CPU detection rather than a fundamental incompatibility. As a workaround, switch to a Whisper binary:

  • voxtype-*-avx2 - Works on Intel Haswell+ and AMD Zen+
  • voxtype-*-vulkan - GPU acceleration for AMD/Intel GPUs

Please report the issue at https://github.com/peteonrails/voxtype/issues with:

  • Your CPU model (cat /proc/cpuinfo | grep "model name" | head -1)
  • Which Parakeet binary you were using
  • The full error output

Feedback

Please report issues at: https://github.com/peteonrails/voxtype/issues

Include:

  • Your CPU model
  • Which binary you're using (avx2/avx512/cuda)
  • The Parakeet model version
  • Sample audio if possible (for accuracy issues)

Released under the MIT License