audio-cpp's picture
Add CrisperWhisper 2.0 Large BF16, Q8_0, and Q4_K GGUF models
351dbab verified
|
Raw History Blame Contribute Delete
3.83 kB
metadata
license: other
license_name: nyra-health-non-commercial-research
license_link: LICENSE.md
base_model: nyralabs/CrisperWhisper2.0_large
pipeline_tag: automatic-speech-recognition
tags:
  - audio.cpp
  - gguf
  - whisper
  - speech-recognition
  - word-timestamps

CrisperWhisper 2.0 Large GGUF

Use these self-contained models with audio.cpp.

Converted from nyralabs/CrisperWhisper2.0_large at revision f4334f6e8193f2691212d49b20fa12d370e13896. The tokenizer, configuration, and audio.cpp model spec are embedded.

License: the upstream non-commercial research license covers the model weights and generated outputs. See LICENSE.md.

File Storage Size
crisperwhisper-2-large-bf16.gguf Original BF16 weights 2.88 GiB
crisperwhisper-2-large-q8_0.gguf Q8_0 quantized weights 1.60 GiB
crisperwhisper-2-large-q4_k.gguf Q4_K quantized weights 0.91 GiB

CUDA validation

These measurements use an RTX 5090, eight CPU threads, and the default transcription settings. C++ uses a CUDA Debug build; Python uses the official Transformers backend. The sample contains five FLEURS clips from each supported dataset language tested here (en, kk, ru, and uz), for 20 clips and 242.4 seconds of audio. One request warmed each session before measurement. RTF sums inference time for the 20 measured requests and excludes model loading and the warm-up request. Peak VRAM includes the loaded model and inference graphs.

Runtime / storage Peak VRAM RTF Sample WER Exact transcripts vs Python
Official Python, Transformers 4,140 MiB 0.0586 34.50% reference
BF16 4,130 MiB 0.0283 34.50% 19/20
Q8_0 2,822 MiB 0.0236 34.77% 18/20
Q4_K 2,122 MiB 0.0260 34.77% 11/20

The one Python-versus-C++ BF16 mismatch was uz_000. Python emitted fukaralari ... muljallangin, while C++ emitted fukaraları ... mulgallangin. The FLEURS reference is fuqarolari ... moʻljallangan, so both outputs count as the same two word substitutions and have identical WER. The 19/20 result measures exact agreement between implementations, not agreement with the reference text.

Q8_0 is the balanced quantized option in this sample: it reduced peak VRAM by 1,308 MiB and ran 16.6% faster than BF16, with one additional word error. Q4_K reduced peak VRAM by another 700 MiB, but introduced noticeably more transcript wording drift and was slower than Q8_0. Its aggregate WER happened to match Q8_0 on this small sample; that does not make its transcripts equally stable. C++ BF16 was 2.1x faster than the official Python Transformers path; Q8_0 was 2.5x faster and used 1,318 MiB less peak VRAM. These 20 clips are a quantization and implementation check, not a general accuracy benchmark.

Usage

audiocpp_cli --task asr --family crisperwhisper \
  --model crisperwhisper-2-large-q8_0.gguf --backend cuda \
  --audio speech.wav --request-option language=en \
  --text-out transcript.txt --words-out words.json --log
  • transcription_mode=verbatim preserves disfluencies and vocal events.
  • transcription_mode=intended produces cleaned text.
  • transcription_mode=verbatimize uses a clean transcript supplied with --text to restore disfluencies from audio up to 30 seconds long.
  • --task align --text "Known transcript" aligns supplied words in offline mode.
  • Long-form ASR uses overlapping continuation windows. --mode streaming emits committed text per window after receiving the complete recording, not live PCM.

See the model usage guide for request and session options.