CrispASR:一个C++二进制文件,支持53个ASR和51个TTS模型

CrispASR是一个基于ggml的统一C++语音引擎,支持53个ASR和51个TTS模型,零Python依赖。通过单个CLI即可运行Cohere Transcribe、Parakeet、Voxtral、Qwen3等模型。

什么是CrispASR?

CrispASR是一个C++语音引擎,最初是whisper.cpp的一个分支,后来发展成为一个更大的项目。它是一个统一的运行时中心,支持53个自动语音识别(ASR)后端和51个文本转语音(TTS)引擎,全部运行在ggml张量库上。核心理念很简单:一个二进制文件,一个一致的CLI,运行时零Python依赖。

# 使用任何后端进行转录
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       # 自动下载

# 文本转语音
crispasr --backend kokoro -m auto --tts "Hello world" --tts-output out.wav

无需Python、PyTorch或单独的每个模型二进制文件。只需要一个C++二进制文件和一个GGUF文件。

为什么这很重要

大多数语音AI工具都是碎片化的。你需要一个库用于Whisper,另一个用于Parakeet,一个Python环境用于Cohere Transcribe,以及另一个设置用于TTS。CrispASR通过为数十个模型提供单一、一致的接口来消除这种碎片化。它还可以编译为WebAssembly(4.3 MB),完全在浏览器客户端运行,并支持带有COOP/COEP头的多线程推理。

支持的后端

ASR(53个后端)

ASR后端列表非常广泛。以下是重点:

后端 模型 架构 语言
whisper 所有OpenAI Whisper变体 编码器-解码器Transformer 99
parakeet NVIDIA Parakeet TDT 0.6b/1.1b FastConformer + TDT 25 EU
canary NVIDIA Canary 1B v2 FastConformer + Transformer解码器 25 EU
cohere Cohere Transcribe 03-2026 Conformer + Transformer 13
voxtral Mistral Voxtral Mini 3B/4B Whisper编码器 + Mistral LLM 8/13
qwen3 Qwen3-ASR 0.6B/1.7B Whisper编码器 + Qwen3 LLM 30 + 22种中文方言
granite IBM Granite Speech 3.2/3.3/4.0 Conformer + Q-Former + Granite LLM 6
wav2vec2 任何Wav2Vec2ForCTC模型 CNN + Transformer + CTC 每个模型
omniasr OmniASR CTC 1B/300M wav2vec2 CNN + Transformer + CTC 1600+
sensevoice FunAudioLLM SenseVoiceSmall SANM编码器 + CTC 50+
gigaam ai-sage/GigaAM-v3 Rotary Conformer + CTC/RNN-T 俄语

TTS(51个引擎)

TTS后端包括Kokoro、Qwen3-TTS、VibeVoice、Orpheus、Chatterbox、IndexTTS、CosyVoice3、CSM、Dia、Zonos、Bark、Piper、MeloTTS等。许多支持通过参考音频进行语音克隆。

入门指南

从源码构建

git clone --recursive https://github.com/CrispStrobe/CrispASR
cd CrispASR
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)

对于GPU加速:

cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_CUDA=ON   # NVIDIA
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=ON  # Apple Silicon
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_VULKAN=ON # 跨供应商

快速ASR示例

Whisper:

./models/download-ggml-model.sh base.en
./build/bin/crispasr -m models/ggml-base.en.bin -f samples/jfk.wav

Parakeet(多语言,快速):

curl -L -o parakeet.gguf https://huggingface.co/cstr/parakeet-tdt-0.6b-v3-GGUF/resolve/main/parakeet-tdt-0.6b-v3-q4_k.gguf
./build/bin/crispasr -m parakeet.gguf -f samples/jfk.wav

Voxtral(语音-LLM,自动下载):

./build/bin/crispasr --backend voxtral -m auto -f samples/jfk.wav

Qwen3-ASR(30种语言 + 中文方言):

./build/bin/crispasr --backend qwen3 -m auto -f audio.zh.wav

文本转语音

# VibeVoice(自动下载约636 MB)
crispasr --backend vibevoice-tts -m auto --tts "Hello world" --tts-output hello.wav

# CosyVoice3在GPU上
crispasr --backend cosyvoice3-tts -m auto --tts "Hello world" --tts-output cosy.wav

关键特性

流式与实时转录

CrispASR支持来自麦克风输入的流式传输、滑动窗口分块以及每个标记的置信度输出。使用--stream--mic--live标志。

HTTP服务器模式

运行一个持久的HTTP服务器,带有OpenAI兼容的API:

crispasr --server -m model.gguf --port 8080
curl -F "[email protected]" http://localhost:8080/v1/audio/transcriptions

强制对齐

CrispASR包含一个通用的强制对齐功能,适用于所有后端。你可以在不运行ASR的情况下将文本与音频对齐:

crispasr -m parakeet.gguf -f audio.wav --align-only -t transcript.txt

语音活动检测(VAD)

有四个VAD后端可用:Silero(默认,约885 KB)、FireRedVAD(推荐)、MarbleNet(439 KB)和Whisper-VAD-EncDec(实验性)。

语言识别

对于没有原生语言检测的后端,CrispASR支持-l auto,并提供多个LID提供者:Whisper(默认,99种语言)、Silero(95种语言)、ECAPA-TDNN(推荐,107种语言)和FireRedLID(120种语言)。

后处理

CrispASR包括标点恢复(FireRedPunc、fullstop-punc、punctuate-all)、真大小写转换(统计、CRF、BiLSTM)和文本语言识别(CLD3、GlotLID-V3、LID-176)。

性能考虑

  • 音频-LLM后端(qwen3、voxtral、granite)运行完整的Transformer解码器堆栈,在CPU上较慢。对于仅CPU的硬件,优先选择moonshine(16× RT)、fc-ctc(10× RT)、parakeet(2.9× RT)或whisper。
  • 量化模型到Q4_K或Q5_K以减少内存和计算。
  • 使用--flush-after 1 以逐步查看结果,而不是等待整个文件处理完成。

架构

CrispASR结构化为一个稳定的C-ABI,位于src/中,供所有语言包装器(Python、Rust、Dart、Go、Java、JavaScript、Ruby)使用。每个模型的运行时位于src/{whisper,parakeet,canary,...}.cpp中,共享来自src/core/的原语(mel、FFN、注意力、GGUF加载器、FastConformer块)。

生态系统

CrispASR是一个更大生态系统的一部分:

  • CrisperWeaver — 基于CrispASR的跨平台Flutter转录应用
  • CrispEmbed — 具有相同理念的文本嵌入引擎
  • Susurrus — 带有9个后端的Python ASR GUI

结论

CrispASR是一个卓越的项目,它将碎片化的语音AI模型领域统一到一个精心设计的C++二进制文件中。凭借53个ASR后端、51个TTS引擎、通用强制对齐和零Python依赖,它是开发人员构建语音应用程序的强大工具。该项目采用MIT许可,并积极维护,在GitHub上有75个版本和490颗星。

来源

CrispStrobe/CrispASR:用于多语言ASR和TTS模型的C++ ggml运行时中心:Cohere Transcribe、Parakeet TDT、Voxtral、Canary 1B v2等,以及通用强制对齐等