crispasr
Python bindings for CrispASR — lightweight on-device speech recognition via ggml.
Supports 17 ASR backends 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
This wheel is pure Python and does not bundle the native library — install libcrispasr separately, the same way crispasr's Python bindings work:
macOS
brew install crispasr # once published; until then build from source
Linux / Windows / from source
git clone https://github.com/CrispStrobe/CrispASR
cd CrispASR
cmake -B build && cmake --build build -j
sudo cmake --install build # installs libcrispasr.{so,dylib,dll}
If libcrispasr is in a non-standard location, set CRISPASR_LIB_PATH:
export CRISPASR_LIB_PATH=/path/to/libcrispasr.so
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 APISession— unified API across all 17 backendsalign_words(...)— word-level CTC alignmentdiarize_segments(...)— speaker diarization (energy / xcorr / vad-turns / pyannote)SpeakerEmbedder(spec)— pluggable embedder ("auto"/"titanet", "indextts"/"ecapa", or a.ggufpath)PyannoteCache(pcm, model)— pre-computed pyannote-seg posteriors for cross-slice consistencyagglomerative_cluster(embeddings, ...)— single-linkage cosine clustering for globally stable speaker IDsTitaNet/SpeakerDB— standalone speaker verification + closed-roster profile matching (consent-gated; requiresexpected_names+consent=True, see docs/diarization-speakers.md)detect_language_pcm(...)— language IDregistry_lookup(...)— auto-download known models from the model hubregistry_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crispasr-0.8.22.tar.gz.
File metadata
- Download URL: crispasr-0.8.22.tar.gz
- Upload date:
- Size: 39.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42bfe3257bd0fcee5384ca09dbc5136bbbd1a435324cceb09a249bf07b1f6f07
|
|
| MD5 |
823564ac74fa3004584bdc191ee7ad54
|
|
| BLAKE2b-256 |
7b932a5c820583b68dc17f4768a350f6b05d70b7cef169aa74d0dfa728758b40
|
File details
Details for the file crispasr-0.8.22-py3-none-any.whl.
File metadata
- Download URL: crispasr-0.8.22-py3-none-any.whl
- Upload date:
- Size: 38.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bf5b805bbfc09ff5107e7b62fa6a2f9989f92f0efc7987d11903075b1f450ba
|
|
| MD5 |
04de48ab8a031e3fbcecfbd9c17addbc
|
|
| BLAKE2b-256 |
0ec7947bcba6825cedef71ebeb746b4f23c17a76fbe97a7f16335a02bf14fc1c
|