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.30.tar.gz (53.5 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.30-py3-none-win_amd64.whl (13.0 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ x86-64

crispasr-0.8.30-py3-none-manylinux_2_28_aarch64.whl (40.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

crispasr-0.8.30-py3-none-macosx_11_0_arm64.whl (28.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: crispasr-0.8.30.tar.gz
  • Upload date:
  • Size: 53.5 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.30.tar.gz
Algorithm Hash digest
SHA256 c34366c8d4ff81039c4af535ae4e8d9930cb99be03503e5ae031afdcd2133946
MD5 63fcccb981c358dd228f610be0e6b30d
BLAKE2b-256 70dd791779dc49be2125262a57d673a581b0dc73a5361d37e6f3cda1c4c86c47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crispasr-0.8.30-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.30-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 96f85d7d5b5e5e3db316be51f0ecc1ef2e9f31e59074741060e488e036373de7
MD5 9fe0cc1c7148b866b997d8dfed1ced18
BLAKE2b-256 755153da73421857b8ca67ff33ca78b326abd56500327df96d676532173c5406

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.30-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1bb4db6ee7755d23b5b558721ae11f79f427861b92936312542a3c8416a8e6a
MD5 cd0af245f69147ecf3cd06bbcf32d5b2
BLAKE2b-256 264c0ec10fc25a2a7e07be360f4c64a6668717db095e29829b20c8e2483800ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.30-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2bf9b2300e862dfc091602e2ae2aad0d1e9c05ce183c956d1f8316e4535ee291
MD5 cafa69b3a1f87c68b68a1b94ac863443
BLAKE2b-256 3cff4194ece7791eab1c3f2c3ea9130eebc441cb3838bb7ab4471326cb33d3e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.30-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4534beb3a30c88487a5feca9e8a77b7f594bebcd01a2050f37620c578e7005f
MD5 166a9d5afbcfe04bfcfa4b3397730efc
BLAKE2b-256 c5faa8c4fcfd00d132298095cfce889d8182b843d9abc03784b6db9f15d41942

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.32

5 files

0.8.31

5 files

This release

0.8.30 This release

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