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.29.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.29-py3-none-win_amd64.whl (12.7 MB view details)

Uploaded Python 3Windows x86-64

crispasr-0.8.29-py3-none-manylinux_2_28_x86_64.whl (47.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

crispasr-0.8.29-py3-none-manylinux_2_28_aarch64.whl (40.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

crispasr-0.8.29-py3-none-macosx_11_0_arm64.whl (27.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: crispasr-0.8.29.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.29.tar.gz
Algorithm Hash digest
SHA256 b075d7edd7ec1846952fd4834cfabc55f5994bf947b5cf3ca86108abebc4e7a1
MD5 c3fdec58b5324e419874732f34f6c4cb
BLAKE2b-256 42e45fe4ca04c075ab6bff66d3b4fede8eb644232aaf9163bd0df1f99bddfe04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crispasr-0.8.29-py3-none-win_amd64.whl
  • Upload date:
  • Size: 12.7 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.29-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b4ee85e559d81d567bafdcac3225cc08e9ee292d7eed3344ddddd7aa7dd31aeb
MD5 5991f6b2e18976c6aab4b7882b85b34b
BLAKE2b-256 d810f1f039f642ba4e0a3b8033352e8dd1952a86ccf8078a4e4afb3a5e923957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.29-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7bfc7f1accda40711a8011bd24f843418a82d6e3a6af0cf8248272d23ab24a5
MD5 d42152e80dc9bb01ef02a4524e2d8865
BLAKE2b-256 ed37519ecd5c7e7492539ad0f57a7fa050a7bf22565e3a60838c6446c32c335e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.29-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ef5f2de3312227afb6687de1bf8f2810e57941266978d16e44ccefd92340e28
MD5 9d7edc053ce3a58cb24df3b1677f9cd9
BLAKE2b-256 26660f4f4fdef38d7d59e94bae48913c1c9cab650d3779a551263f88bb41ab3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.29-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5b9763a2bf5fc05cc5dc55adc4d142c81882895e91023661639faf5e68fce04
MD5 9728173a10959d31d6e2b51a618202ff
BLAKE2b-256 4f4fb34b82da07f05a0df616dcc7724eeabfb2a7bb77ab92cc3d178cea8b66b2

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.32

5 files

0.8.31

5 files

0.8.30

5 files

This release

0.8.29 This release

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