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

Uploaded Python 3Windows x86-64

crispasr-0.8.32-py3-none-manylinux_2_28_x86_64.whl (48.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

crispasr-0.8.32-py3-none-manylinux_2_28_aarch64.whl (41.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

crispasr-0.8.32-py3-none-macosx_11_0_arm64.whl (28.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: crispasr-0.8.32.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.32.tar.gz
Algorithm Hash digest
SHA256 61205338230e013a1cba50f3b7e4d1ffb4fb86db04c6414f47e24268960c71f4
MD5 13b5a1aebfe0f9993281f5bf72d99b78
BLAKE2b-256 ff0a2966f7498ef064e771c8fb0b8fc375c2775d4d9d89195538d92026abc207

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crispasr-0.8.32-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.2 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.32-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a34d46fc4084f5a5ddd782569d1d7a57c5fa8f99e8463e7dc53426149666e8dc
MD5 2d8e7420d4575200e5939aa3155033bb
BLAKE2b-256 bf2cdaedf88b20cce53b57dda305a6c289b526a8d91381c5cf281981e82684c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.32-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73ea8c75d385082f0ef3e04c3b7a262481967c68243a489baa53fecf24c19aaa
MD5 79423c5787773799c11616767fa356bb
BLAKE2b-256 688971e9657adfe65c103f175dd259101aad749f5b4131ef5d3dd0ab4aa5d4b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.32-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 993b0b2ad53ac153c5f6f89cd3c7907e7d47bdac6c3bdd609d7af0af115a06ca
MD5 92ecd22b481611b97e8f2b9ba0e8add5
BLAKE2b-256 0df52f38f31c4c28bf086132681a8e576c21fcfff23eaa32a36a9b8e783b6612

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for crispasr-0.8.32-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20ba22de0214907916fc2b3b473bf5ebe289fa3ae9e06142e08b77e394ac26cc
MD5 293eb93d59eed294f6e279fe4d739bf7
BLAKE2b-256 4f67cbe4ca8950b9e1a64482050b8bdd1caa6ade981e2c1c4432604c5dd15802

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.32 This release

5 files

0.8.31

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