📦CrispStrobe / 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
⚖️ MIT#cohere-transcribe#cohere-transcribe-03-2026#ggml#speech-recognition#speech-to-text📅 创建于 2026-03-29🔄 更新于 2026-10-29

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

CrispASR

One C++ binary, 119 backends — 62 of them TTS engines — plus 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. 119 backends (62 TTS), 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


Start here

Everything below this section is a catalogue — 100+ backends, browse it when you need one. If you just want CrispASR working, this is the whole path. No repo clone, no Python, no model hunting.

New to the project? docs/getting-started.md walks the same path step by step, with the expected output and the three usual first-run failures.

1. Get the binary

Download one file from Releases and unzip it:

Platform Download Notes
Windows crispasr-windows-x86_64-cpu.zip Needs AVX2 (2013+ Intel / 2015+ AMD). Older CPU → …-cpu-legacy.zip
Windows + NVIDIA crispasr-windows-x86_64-cuda.zip Self-contained; a CUDA Toolkit install is not required. CUDA 12.6 legacy build: …-cuda126.zip (Pascal/Volta and newer, through Hopper); CUDA-13-native build: …-cuda13.zip (Turing+)
macOS, Apple Silicon crispasr-macos-arm64.tar.gz Metal GPU + Accelerate; crispasr-macos.tar.gz is the arm64 compatibility alias
macOS, Intel crispasr-macos-x86_64.tar.gz CPU + Accelerate; requires AVX2/FMA/F16C (Haswell or newer). Older Intel Mac → crispasr-macos-x86_64-cpu-legacy.tar.gz
Linux crispasr-linux-x86_64.tar.gz …-cuda.tar.gz / …-vulkan.tar.gz for GPU

Prefer to build it yourself? See Install & build. The -hip and -vulkan builds require the matching driver and do not fall back to CPU; the Linux -cuda tarballs do fall back.

Check it runs — this should print a version banner and exit:

crispasr --version          # Windows: .\crispasr.exe --version

CUDA builds also print cuda toolkit and cuda runtime ABI, so this command distinguishes the CUDA 12 and CUDA 13 packages without inspecting DLLs.

Windows CUDA packages bundle the runtime they were built against. The CUDA 12.6 legacy CLI and library assets use the -cuda126 suffix; their split packages require cuda126-runtime.zip from the same release. Use the included SHA-256 manifest when reusing runtime DLLs. Do not mix CUDA 12.8 binaries with CUDA 12.6 DLLs. The standard -cuda build retains CUDA 12.8 and native Blackwell support. CUDA 12.8 also supports Pascal and Volta in CrispASR; PyTorch's wheel architecture selection is a separate policy (NVIDIA architecture support).

2. Make it speak

-m auto downloads the model on first use (~135 MB here) and reuses it afterwards — nothing to find or install. It lands in ~/.cache/crispasr/ (%USERPROFILE%\.cache\crispasr on Windows).

crispasr --backend kokoro -m auto --tts "The quick brown fox jumps over the lazy dog." --tts-output hello.wav
# crispasr: TTS output written to 'hello.wav' (78000 samples @ 24000 Hz, 3.25 sec)

Play hello.wav. That is the TTS half working.

3. Transcribe it back

crispasr --backend parakeet -m auto -f hello.wav -l en
# crispasr: transcribed 3.2s audio in 0.32s (10.1x realtime)
# The quick brown fox jumps over the lazy dog.

(~467 MB on first run. -l en skips language auto-detection, which would otherwise fetch a small extra model.) Both halves now work — swap in your own .wav and you are running.

Where to go next

You want to… Go to
Clone a voice from a recording docs/tts.md — and read the consent rules first; cloning requires --i-have-rights
Pick a better ASR model Which backend should I pick?
Transcribe with word timestamps, SRT/VTT docs/cli.md
Live mic / streaming docs/streaming.md
Run it as an HTTP server docs/server.md
See every backend this binary has crispasr --list-backends

If nothing happened

Add -v to any command for verbose progress, and --dry-run-resolve to print which model files it would open (and whether they're on disk) without loading anything.

If a command printed its banner and then simply stopped — no error, no output file — that is a crash, not a refusal, and the exit code identifies it in one step. See docs/troubleshooting.md.


Supported backends

CrispASR sh

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR