CrispASR
C++ ggml runtime hub for multilingual ASR and TTS models: Cohere Transcribe, Parakeet TDT, Voxtral, Canary 1B v2, etc, plus universal forced alignment, and more
Install / Use
npx skills add CrispStrobe/CrispASRInstalls into whichever agent you are using.
README
CrispASR
One C++ binary, 54 ASR backends + 52 TTS engines + multilingual text translation, zero Python dependencies.
CrispASR started as a fork of whisper.cpp and extends that base into a unified speech engine called crispasr, backed by full ggml C++ runtimes for major open-weights ASR and TTS architectures. One build, one binary, one consistent CLI — pick the backend at the command line or let CrispASR auto-detect it from your GGUF file. See Text-to-Speech for the TTS side.
$ crispasr -m ggml-base.en.bin -f samples/jfk.wav # OpenAI Whisper
$ crispasr -m parakeet-tdt-0.6b.gguf -f samples/jfk.wav # NVIDIA Parakeet
$ crispasr -m canary-1b-v2.gguf -f samples/jfk.wav # NVIDIA Canary
$ crispasr -m voxtral-mini-3b-2507.gguf -f samples/jfk.wav # Mistral Voxtral
$ crispasr --backend qwen3 -m auto -f samples/jfk.wav # -m auto downloads
$ crispasr --backend kokoro -m auto --tts "Hello world" --tts-output out.wav # TTS
No Python. No PyTorch. No separate per-model binary. No pip install. Just one C++ binary and a GGUF file.
Browser: All backends compile to WebAssembly (4.3 MB) via build-wasm.sh.
Multithreaded, runs entirely client-side with COOP/COEP headers.
Demo: HuggingFace Space —
live transcription + TTS + language detection, auto-deployed from hf-space/.
Ecosystem
| Project | What it does | |---|---| | CrispASR | This repo — C++ speech engine. 54 ASR + 52 TTS backends, CLI + HTTP server + C-ABI + Python/Rust/Dart/Go/Ruby/Java bindings. | | CrisperWeaver | Cross-platform Flutter transcription app built on CrispASR. Desktop + mobile, model browser with download queue, mic capture, SRT/VTT/JSON export, diarization, batch processing. Fully offline. | | CrispEmbed | Text-related engine via ggml — same philosophy as CrispASR but for embeddings, retrieval, OCR and OMR, Math and Music Notation. Numerous architectures (XLM-R, Qwen3-Embed, Gemma3, ModernBERT, ...), dense + sparse + ColBERT + reranking. PP-OCR, Tesseract, EasyOCR, InternVL2, etc. Python/Rust/Dart bindings. | | Susurrus | Python ASR GUI with 9 backends (faster-whisper, mlx-whisper, voxtral, insanely-fast-whisper, ...). The Python counterpart to CrispASR's C++ approach. |
Table of contents
- Supported backends — ASR + TTS + translation + post-processing + music & audio analysis
- Feature matrix
- Install & build — quick install (full guide in docs/install.md)
- Quick start — ASR
- Text-to-Speech (TTS) — 51 engines: Kokoro, Qwen3-TTS, VibeVoice, dots.tts, Orpheus, Chatterbox, IndexTTS, Irodori, VoxCPM2, CosyVoice3, CSM, Dia, Zonos, Bark, Piper, MeloTTS, and more
- Streaming & live transcription
- Server mode (HTTP API)
- Concurrency, parallelism & scaling — how one transcription uses multiple cores, concurrent server requests (
--server-workers), bulk offline transcription, replicas behind a load balancer - CLI reference — flags, VAD, CTC alignment, output formats, auto-download, audio formats
- Environment variables — the
CRISPASR_<BACKEND>_<FEATURE>convention, global knobs, and every per-backend variable - Language bindings — Python / Rust / Dart / Go / Java / JavaScript / Ruby / mobile
- Benchmarking CrispASR — how to measure transcribe time (not cold start): server/in-process reps, proof-of-work rules, phase-timing env vars
- Architecture — layered layout,
src/core/primitives, regression discipline - Contributing — adding a new backend — 5-file recipe, ground-truth diff workflow
- Regression matrix —
tools/test-all-backends.pycapability tiers - EU AI Act — synthetic-audio marking (watermark + C2PA + spoken disclaimer), what counts as a voice clone, the speaker-biometrics boundary, why there is no emotion recognition, and what stays your duty as deployer
- Quantize models —
crispasr-quantizefor all backends - GPU backend selection
- Debugging & profiling
- Credits
Supported backends
CrispASR ships 54 ASR backends for transcription/translation and
51 TTS engines for synthesis. It also ships audio-to-audio S2S backends,
including Sidon restoration and the VoxCPM2 AudioVAE speech upscaler; see the feature matrix
for the complete capability list.
Pick at the CLI with --backend NAME, or omit it to let the binary auto-detect
from the GGUF metadata. Jump to the TTS table for the synthesis side.
ASR backends
| Backend | Model | Architecture | Languages | License |
|---|---|---|---|---|
| whisper | ggml-base.en.bin and all OpenAI Whisper variants | Encoder-decoder transformer | 99 | MIT |
| whisper | distil-whisper/distil-large-v3 | Distilled Whisper: 32L encoder + 2L decoder (6.3x faster) | English | MIT |
| parakeet | nvidia/parakeet-tdt-0.6b-v3 | FastConformer + TDT | 25 EU (auto-detect) | CC-BY-4.0 |
| parakeet | nvidia/parakeet-tdt-0.6b-v2 | FastConformer + TDT, original Open ASR Leaderboard topper | en (mixed-case + punct) | CC-BY-4.0 |
| parakeet | nvidia/parakeet-tdt-1.1b | 42L FastConformer + TDT, larger English variant | en (lowercase) | CC-BY-4.0 |
| parakeet | nvidia/parakeet-tdt_ctc-110m | 17L FastConformer + TDT+CTC hybrid; smallest variant, auto-CTC decode | en | CC-BY-4.0 |
| parakeet | nvidia/parakeet-tdt_ctc-1.1b | 42L FastConformer + TDT+CTC hybrid; largest, mixed-case + punct | en | CC-BY-4.0 |
| parakeet | nvidia/parakeet-tdt_ctc-0.6b-ja | FastConformer-TDT-CTC, xscaling, 80 mels | Japanese | CC-BY-4.0 |
| reazonspeech | reazon-research/reazonspeech-nemo-v2 | FastConformer-RNNT, local attn (w=256), 80 mels, 619M params | Japanese | Apache-2.0 |
| fastconformer-ctc | nvidia/parakeet-ctc-0.6b | 24L FastConformer + CTC, 80 mels (same arch as fc-ctc-xlarge) | en | CC-BY-4.0 |
| fastconformer-ctc | nvidia/parakeet-ctc-1.1b | 42L FastConformer + CTC, 80 mels | en | CC-BY-4.0 |
| fastconformer-ctc | grider-transwithai/parakeet-ctc-1.1b-ja | 42L FastConformer + CTC, 80 mels, Japanese fine-tune | Japanese | Apache-2.0 |
| canary | nvidia/canary-1b-v2 | FastConformer + Transformer decoder | 25 EU (explicit -sl/-tl) | CC-BY-4.0 |
| canary-qwen | nvidia/canary-qwen-2.5b | FastConformer + Qwen3-1.7B SALM | en | CC-BY-4.0 |
| lfm2-audio | LiquidAI/LFM2.5-Audio-1.5B | FastConformer + LFM2 hybrid conv+attention backbone (ASR+TTS) | en | LFM Open v1.0 |
| lfm2-audio | LiquidAI/LFM2.5-Audio-1.5B-JP | FastConformer + LFM2 hybrid conv+attention backbone (ASR+TTS) | ja | LFM Open v1.0 |
| mini-omni2 | gpt-omni/mini-omni2 | Whisper-small + Qwen2-0.5B (ASR+TTS+S2S) | en | MIT |
| cohere | CohereLabs/cohere-transcribe-03-2026 | Conformer + Transformer | 13 | Apache-2.0 |
| cohere | efwkjn/cohere-asr-ja-v0.1 | Japanese fine-tune of cohere-transcribe-03-2026 (TedX/JSUT-tuned) | Japanese | Apache-2.0 |
| granite | ibm-granite/granite-speech-{3.2-8b,3.3-2b,3.3-8b}, granite-4.0-1b-speech | Conformer + Q-Former + Granite LLM (μP) (more) | en fr de es pt ja | Apache-2.0 |
| granite-4.1 | ibm-granite/granite-speech-4.1-2b | 16L Conformer + Q-Former + Granite LLM; single ggml graph (more) | en fr de es pt ja | Apache-2.0 |
| granite-4.1-plus | ibm-granite/granite-speech-4.1-2b-plus | 4.1 + hidden-state concat; punctuated output (more) | en fr de es pt | Apache-2.0 |
| granite-4.1-nar | ibm-granite/granite-speech-4.1-2b-nar | Non-autoregressive: single LLM forw
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.6kCommit, push, and open a PR
