Model support per CrispASR — pure C++ inference with GGUF (no Python/NeMo needed)

#38
by cstr - opened

We've built a complete C++ runtime for Parakeet-TDT in CrispASR, a multi-backend ASR tool based on ggml. One binary, one GGUF file — no Python, no NeMo, no pip install.

What works:

  • Full pipeline: mel → FastConformer encoder → TDT decoder with word timestamps
  • Native word-level timestamps from the TDT duration head (no separate aligner needed)
  • 25 European languages with automatic detection
  • ~1x realtime on CPU (11.3s for 11s audio on a 4-core Xeon)
  • Streaming from mic/stdin (--stream, --mic, --live)
  • Speaker diarisation, language ID, SRT/VTT/JSON output
  • GPU acceleration via CUDA / Metal / Vulkan (ggml backends)
  • Punctuation toggle (-pp to strip punctuation)

Quick start:

git clone https://github.com/CrispStrobe/CrispASR && cd CrispASR
cmake -S . -B build && cmake --build build -j8

# Auto-download and transcribe
./build/bin/crispasr --backend parakeet -m auto -f audio.wav

# With word-level SRT output
./build/bin/crispasr -m parakeet-tdt-0.6b-v3.gguf -f audio.wav -osrt -ml 1

Pre-built GGUF: cstr/parakeet-tdt-0.6b-v3-GGUF

CrispASR supports 11 ASR backends in the same binary — Parakeet is one of the fastest for multilingual use with free word timestamps.

Sign up or log in to comment