← 开源
nyrahealth

CrisperWhisper

Controllable Transcription. Verbatim ( every, filler, pause, stutter, vocal sound) , or intended ( what the speaker meant to say, optimized for readability) with word-level timestamps.

ModelsAudio/Speech modelsPython
在 GitHub 打开
增长势头
+124 小时新增 Star+0.1%
1.45k
Star
94
Fork
+6
本周
5
贡献者
创建于 2024-05-24 · 更新于 2026-10-15 · 今日第 5539 名
主要开发者
LaurinmyRehaBernhardThNyratsmdt

nyrahealth/CrisperWhisper 排名第 5,539,有 1,450 个星标。

同类别比较

nyrahealth/CrisperWhisper 排名第 5,539,此处有 8 个同类条目;MiuLab/Taiwan-LLM 排名第 5,550。

同类别比较
名称排名指标
WenmuZhou/PytorchOCR5,489
语言:
Python
星标数:
1,528
分叉数:
317
简介:
基于Pytorch的OCR工具库,支持常用的文字检测和识别算法
piddnad/DDColor5,501
语言:
Python
星标数:
1,507
分叉数:
169
简介:
[ICCV 2023] DDColor: Towards Photo-Realistic Image Colorization via Dual Decoders
SkyworkAI/Skywork5,507
语言:
Python
星标数:
1,498
分叉数:
148
简介:
Skywork series models are pre-trained on 3.2TB of high-quality multilingual (mainly Chinese and English) and code data. We have open-sourced the model, training data, evaluation data, evaluation methods, etc.
NJU-PCALab/STAR5,509
语言:
Python
星标数:
1,497
分叉数:
87
简介:
[ICCV 2025] STAR: Spatial-Temporal Augmentation with Text-to-Video Models for Real-World Video Super-Resolution
MiuLab/Taiwan-LLM5,550
语言:
Python
星标数:
1,427
分叉数:
121
简介:
Traditional Mandarin LLMs for Taiwan
marl/crepe5,554
语言:
Python
星标数:
1,420
分叉数:
188
dailenson/SDT5,559
语言:
Python
星标数:
1,412
分叉数:
114
简介:
This repository is the official implementation of Disentangling Writer and Character Styles for Handwriting Generation (CVPR 2023)
OpenMOSS/MOSS-TTSD5,563
语言:
Python
星标数:
1,407
分叉数:
140
简介:
A multilingual model for long-form, multi-speaker dialogue synthesis with flexible speaker control and zero-shot voice cloning
关键参数与规格
关键参数与规格
参数值
语言Python
类别Models
子类别Audio/Speech models
关键词Healthcare, Speech-to-text
星标数1,450
分叉数94
贡献者5
创建日期2024-05-24
更新日期2026-10-15
1 天星标数1
7 天星标数6
排名5,539
上次排名5,684
排名变化145
7 天星标排名5,139
上次 7 天星标排名4,756
7 天星标排名变化-383
总星标排名8,319
上次总星标排名8,315
总星标排名变化-4
README 摘录

0 **The most accurate verbatim speech recognition you can run in production: controllable, multilingual, and timed to the word. ** Release post · Paper · Full documentation · Models · Benchmark Most speech-to-text systems never actually decide whether to write down what was *said* or what was *meant*. They inherit that choice from their training data and apply it inconsistently. 0 makes it an explicit, controllable choice. One recording, two transcripts: **Verbatim**, exactly what was said, in one consistent format: **Intended**, the clean

version the speaker meant, with numbers, dates, and emails formatted the way you'd write them: On top of that: **Word-level timings. ** Around 30 ms mean boundary error on read speech and 41 ms on conversational speech, the most precise word timing of any system we benchmarked, on both. ** Upgrade transcripts you already have: given audio plus a trusted clean transcript, the model reproduces your content word-for-word and inserts only the disfluencies and vocal events actually present in

the audio (rare-word recall jumps from 6. This turns the world's abundant clean corpora into verbatim ones, ready for TTS data, clinical speech analysis, and dataset construction. ** Verbatim and intended modes work across most languages Whisper supports. 0 tops the Nyra Verbatim Speech Benchmark leaderboard for disfluency F1 across ten languages, ahead of every closed-source alternative we tested. ** Audio of any length, transcribed without the usual chunk-boundary artifacts: each window continues from the words already transcribed (*conditional

continuation*), so there are no duplicated or dropped words at the seams and no fragile timestamp-token bookkeeping. ** A CTranslate2 runtime with speculative decoding and built-in mitigation of Whisper's looping-hallucination failure mode. Performance The Nyra Verbatim Speech Benchmark scores fillers, repetitions, cut-offs, and vocal sounds as separate, typed metrics. Its headline number is **disfluency F1**: how reliably a system writes down the disfluencies that were actually spoken, without inventing ones that weren't. 0 | | 10 | AssemblyAI Universal-3

Pro | 30. 0 is English/German-only; its average covers those two languages. English and German use human-labeled evaluation sets; the other eight languages use synthetic verbatim sets. Per-language breakdowns and how the metric is computed are in the benchmark post. 6 ms** | | 2 | xAI Grok Speech-to-Text | 37. 5 ms | Scored on exactly the words each system gets right. How the timings are extracted from supervised cross-attention, plus results on conversational speech, are in the

aligner post. Install Quickstart Audio longer than 30 seconds is handled automatically (see longform below). The first load of a model downloads it from HuggingFace and, on the backend, converts it once into a local cache. Loading a directory that already contains a converted CT2 model ( ) never needs them. The **Pro** models are available under commercial license only. Faster inference: speculative decoding (ct2) A small draft model proposes tokens and the main model verifies them. 4x faster: What else is

in the box Everything below works out of the box and is covered in depth in DOCS. what-was-meant

常见问题

记录了多少星标和分叉?

nyrahealth/CrisperWhisper 有 1,450 个星标和 94 个分叉。

仓库排名是多少?

nyrahealth/CrisperWhisper 排名第 5,539。

记录的语言和类别是什么?

nyrahealth/CrisperWhisper 有 1,450 个星标,语言为 Python,类别为 Models。

哪个仓库排名最接近?

nyrahealth/CrisperWhisper 与 MiuLab/Taiwan-LLM 比较,后者排名第 5,550,有 1,427 个星标。

README

CrisperWhisper 2.0

The most accurate verbatim speech recognition you can run in production: controllable, multilingual, and timed to the word.

Release post · Paper · Full documentation · Models · Benchmark

Most speech-to-text systems never actually decide whether to write down what was said or what was meant. They inherit that choice from their training data and apply it inconsistently. CrisperWhisper 2.0 makes it an explicit, controllable choice. One recording, two transcripts:

Verbatim, exactly what was said, in one consistent format: [um] so we we need to, to reschedule the th- thursday meeting to [uh] march third at nine thirty [laughter]

Intended, the clean version the speaker meant, with numbers, dates, and emails formatted the way you'd write them: So we need to reschedule the Thursday meeting to March 3 at 9:30.

On top of that:

  • Word-level timings. Around 30 ms mean boundary error on read speech and 41 ms on conversational speech, the most precise word timing of any system we benchmarked, on both.
  • Verbatimize. Upgrade transcripts you already have: given audio plus a trusted clean transcript, the model reproduces your content word-for-word and inserts only the disfluencies and vocal events actually present in the audio (rare-word recall jumps from 6.8% to 96.1% vs. re-transcribing). This turns the world's abundant clean corpora into verbatim ones, ready for TTS data, clinical speech analysis, and dataset construction.
  • Multilingual. Verbatim and intended modes work across most languages Whisper supports. CrisperWhisper 2.0 tops the Nyra Verbatim Speech Benchmark leaderboard for disfluency F1 across ten languages, ahead of every closed-source alternative we tested.
  • Seamless longform. Audio of any length, transcribed without the usual chunk-boundary artifacts: each window continues from the words already transcribed (conditional continuation), so there are no duplicated or dropped words at the seams and no fragile timestamp-token bookkeeping.
  • Production inference. A CTranslate2 runtime with speculative decoding and built-in mitigation of Whisper's looping-hallucination failure mode.

Performance

The Nyra Verbatim Speech Benchmark scores fillers, repetitions, cut-offs, and vocal sounds as separate, typed metrics. Its headline number is disfluency F1: how reliably a system writes down the disfluencies that were actually spoken, without inventing ones that weren't. Averaged over ten languages:

# System Disfluency F1
1 CrisperWhisper 2.0 Pro 93.5
2 CrisperWhisper 2.0 87.8
3 ElevenLabs Scribe v2 79.2
4 Microsoft MAI-Transcribe-1.5 77.5
5 CrisperWhisper 1.0* 64.8
6 Inworld STT 59.5
7 xAI Grok Speech-to-Text 42.8
8 Deepgram Nova-3 37.8
9 Fish Audio ASR 35.0
10 AssemblyAI Universal-3 Pro 30.5

* CrisperWhisper 1.0 is English/German-only; its average covers those two languages. English and German use human-labeled evaluation sets; the other eight languages use synthetic verbatim sets. Per-language breakdowns and how the metric is computed are in the benchmark post.

Word-timing accuracy

Mean absolute word-boundary error on read speech (TIMIT), lower is better:

# System Boundary error
1 CrisperWhisper 2.0 29.6 ms
2 xAI Grok Speech-to-Text 37.1 ms
3 CTC-seg 49.3 ms
4 ElevenLabs Scribe v2 51.3 ms
5 NeMo-FA 60.0 ms
6 Deepgram Nova-3 63.3 ms
7 WhisperX 64.8 ms
8 Cartesia Ink-Whisper 69.4 ms
9 Canary 85.5 ms

Scored on exactly the words each system gets right. How the timings are extracted from supervised cross-attention, plus results on conversational speech, are in the aligner post.

Install

# NVIDIA GPU (Linux): fastest, includes speculative decoding.
# An NVIDIA driver is all you need; CUDA libraries arrive via pip.
pip install "crisperwhisper[ct2]"

# Pure PyTorch: runs anywhere torch does (macOS, Windows, CPU)
pip install "crisperwhisper[transformers]"

Quickstart

from crisperwhisper import CrisperWhisperModel

model = CrisperWhisperModel()          # nyralabs/CrisperWhisper2.0_large
# or pick a size: CrisperWhisperModel("turbo")  # turbo / medium / small

# Verbatim transcription (default): every filler, repetition, stutter,
# false start, and vocal event
result = model.transcribe("meeting.wav", language="en")
print(result.text)

# Intended: the clean, readable version
clean = model.transcribe("meeting.wav", language="en", mode="intended")

# Word-level timestamps
result = model.transcribe("meeting.wav", language="en", word_timestamps=True)
for w in result.words:
    print(f"{w.start:6.2f}-{w.end:6.2f}  {w.word}")

# Verbatimize: upgrade an existing clean transcript with the
# disfluencies that are actually in the audio
result = model.verbatimize("clip.wav", "I think we should ship it Friday.")

Audio longer than 30 seconds is handled automatically (see longform below). The first load of a model downloads it from HuggingFace and, on the ct2 backend, converts it once into a local cache. That one-time conversion needs torch and transformers, which the lean [ct2] extra does not install -- add them once with:

pip install "crisperwhisper[ct2,convert]"   # or add [convert] later

A CPU-only torch is enough for the conversion, and the dependencies can be uninstalled once the converted model is cached. Loading a directory that already contains a converted CT2 model (model.bin) never needs them.

Models

Shorthand HuggingFace ID Notes
"large" (default) nyralabs/CrisperWhisper2.0_large Best open quality
"turbo" nyralabs/CrisperWhisper2.0_turbo Fastest, with some quality degradation; recommended as the speculative draft
"medium" nyralabs/CrisperWhisper2.0_medium Near-large quality; best tradeoff between size and quality
"small" nyralabs/CrisperWhisper2.0_small Smallest
"large_pro" / "turbo_pro" / "medium_pro" / "small_pro" nyralabs/CrisperWhisper2.0__pro Pro: our best models, with improved performance, hotword boosting, trained on additional proprietary data

The standard models are released under a non-commercial research license and are available for commercial licensing. The Pro models are available under commercial license only. For both, get in touch.

Faster inference: speculative decoding (ct2)

A small draft model proposes tokens and the main model verifies them. Same output, 1.3 to 1.4x faster:

model = CrisperWhisperModel("large", draft_model="turbo")
result = model.transcribe("meeting.wav", language="en",
                          speculative_decoding=True)

What else is in the box

Everything below works out of the box and is covered in depth in DOCS.md:

Option What it does
mode="verbatim" / "intended" Choose what-was-said vs. what-was-meant per call
word_timestamps=True Per-word start/end times from supervised cross-attention alignment
hotwords=[...] Bias recognition toward names and rare terms (Pro models only)
model.transcribe_dual(...) Verbatim and intended in one pass (ct2)
model.verbatimize(audio, transcript) Insert real disfluencies into a trusted clean transcript
model.forced_align(audio, text) Timings for a transcript you already have
Longform Audio >30s transcribed seamlessly via conditional continuation, with no chunk-boundary duplicates, drops, or stitching
Hallucination mitigation On by default: detects and suppresses Whisper's looping-repetition failure mode during decoding
compute_type="float16" / "int8_float16" Quantization

How it works

Each mechanism has a deep-dive post:

Documentation

DOCS.md covers the full API: backends and their trade-offs, every transcribe() option, dual-mode transcription, forced alignment, longform strategies, speculative-K tuning, hallucination-repair thresholds, quantization, model conversion, and the result object.

License

The inference code in this repository is MIT-licensed (see LICENSE): use it freely, commercially or otherwise. crisperwhisper/features.py is vendored from faster-whisper (MIT, SYSTRAN).

The model weights are not MIT. They are released under the Nyra Health Non-Commercial Research License: free for research and other non-commercial use; any commercial use requires a commercial license. The Pro models are available under commercial license only. For commercial licensing of either, contact Nyra.

排名相邻
同类项目