Skip to main content

crispasr

Python bindings for CrispASR — lightweight on-device speech recognition via ggml.

Supports the ASR backends compiled into the linked CrispASR library, including Whisper, Qwen3-ASR, FastConformer, Canary, Parakeet, Cohere, Granite-Speech, Voxtral, wav2vec2, GLM-ASR, Kyutai-STT, Moonshine, FireRed, OmniASR, and VibeVoice-ASR.

Install

pip install crispasr

Platform wheels bundle the native libcrispasr — nothing else to install — for Linux (x86_64, arm64), macOS (Apple Silicon, Metal-accelerated), and Windows (x86_64).

GPU wheels

CUDA and Vulkan builds are published to a separate index (llama-cpp-python style — pass --extra-index-url):

# NVIDIA CUDA (Linux + Windows)
pip install crispasr --extra-index-url https://crispstrobe.github.io/CrispASR/whl/cuda/
# Vulkan (Windows)
pip install crispasr --extra-index-url https://crispstrobe.github.io/CrispASR/whl/vulkan/

Other platforms / bring-your-own library

Where no prebuilt wheel matches, pip installs the pure-Python sdist, which loads a libcrispasr you supply. Build/install it from source and, if it lands in a non-standard location, point CRISPASR_LIB_PATH at the file:

git clone https://github.com/CrispStrobe/CrispASR
cd CrispASR && cmake -B build && cmake --build build -j && sudo cmake --install build
export CRISPASR_LIB_PATH=/usr/local/lib/libcrispasr.so   # only if non-standard

Quick start

from crispasr import CrispASR

model = CrispASR("ggml-base.en.bin")
for seg in model.transcribe("audio.wav"):
    print(f"[{seg.start:.1f}s - {seg.end:.1f}s] {seg.text}")
model.close()

Or use the unified Session API for non-Whisper backends (Qwen3-ASR, FastConformer, Parakeet, …):

from crispasr import Session

s = Session("qwen3-asr-0.6b-q4_k.gguf")
for seg in s.transcribe_pcm(pcm_f32, sample_rate=16000):
    print(seg.text)

API

  • CrispASR — Whisper-compatible high-level API
  • Session — unified API across all backends compiled into libcrispasr
  • ChatSession — text → text chat over a GGUF chat model: one-shot and streaming generation, prompt-token counting, and cancellation through an abort predicate
  • align_words(...) — word-level CTC alignment
  • diarize_segments(...) — speaker diarization (energy / xcorr / vad-turns / pyannote)
  • SpeakerEmbedder(spec) — pluggable embedder ("auto"/"titanet", "indextts"/"ecapa", or a .gguf path)
  • PyannoteCache(pcm, model) — pre-computed pyannote-seg posteriors for cross-slice consistency
  • agglomerative_cluster(embeddings, ...) — single-linkage cosine clustering for globally stable speaker IDs
  • TitaNet / SpeakerDB — standalone speaker verification + closed-roster profile matching (consent-gated; requires expected_names + consent=True, see docs/diarization-speakers.md)
  • detect_language_pcm(...) — language ID
  • registry_lookup(...) — auto-download known models from the model hub
  • registry_default_bundle(...) — enumerate the exact primary, companion, and extra files used by -m auto, including licence-acceptance policy

See the main repo for full documentation, model registry, and CLI.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crispasr-0.8.31.tar.gz (53.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

crispasr-0.8.31-py3-none-win_amd64.whl (13.0 MB view details)

Uploaded Python 3Windows x86-64

crispasr-0.8.31-py3-none-manylinux_2_28_x86_64.whl (48.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

crispasr-0.8.31-py3-none-manylinux_2_28_aarch64.whl (40.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

crispasr-0.8.31-py3-none-macosx_11_0_arm64.whl (28.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file crispasr-0.8.31.tar.gz.

File metadata

  • Download URL: crispasr-0.8.31.tar.gz
  • Upload date:
  • Size: 53.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for crispasr-0.8.31.tar.gz
Algorithm Hash digest
SHA256 384dfc346253aca2e2694796090696d03dd5f861a9f7e21feb435bb15051cef5
MD5 1edfe448c8f786d1026b8c1b203500d6
BLAKE2b-256 fd650d00597034d8d5d79b93a3234bd3466330f9880ca3e9b27c3f737e107e20

See more details on using hashes here.

File details

Details for the file crispasr-0.8.31-py3-none-win_amd64.whl.

File metadata

  • Download URL: crispasr-0.8.31-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for crispasr-0.8.31-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4f99e3c512d069a0526e6b53574449872aa1312f0df583cd978b7b5bc6dc71fb
MD5 4b4d69c40c96a03ea204092370c285cd
BLAKE2b-256 c703bdb6217fbacde94c69439053a8a0b099e18fa0956ac0a1706f697f25d6a0

See more details on using hashes here.

File details

Details for the file crispasr-0.8.31-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crispasr-0.8.31-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eed62ed46334a9ea7da7f326f853fdfac3c042a79cd9273317a4bfb74c03aaaf
MD5 b50265d0a0f2057292ba2a71fffd436f
BLAKE2b-256 d97e9009f4ab8c366036fe31c43d477aea3c13546ff390d2a8deb564d684201a

See more details on using hashes here.

File details

Details for the file crispasr-0.8.31-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crispasr-0.8.31-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5734f8e118966e4f454626a424ee4636934b47677c9b138a47c559b3b48fe469
MD5 b4c817ac6ac1b3d04131f2c8d3177a84
BLAKE2b-256 e3e7bc31d58d8684f688dced468f29f762458a0bf431efcc7580139f6d0a6ab2

See more details on using hashes here.

File details

Details for the file crispasr-0.8.31-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crispasr-0.8.31-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d42c705b0bf8e4836bdf3bf5fc1ec9f7beffcc18dab6e3c66429384a1d1f4710
MD5 e9191b015afac5b75fdb36379aec4204
BLAKE2b-256 4103c3af81576c36ddaf2a1634267e239622a209c2e2108700e5e10c896e98ef

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.32

5 files

This release

0.8.31 This release

5 files

0.8.30

5 files

0.8.29

5 files

0.8.28

5 files

0.8.27

5 files

0.8.25

5 files

0.8.24

5 files

0.8.23

2 files

0.8.22

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page