Skip to main content

简体中文 | English

ASRKit

One interface to run any speech-to-text model — local & cloud, any engine.

PyPI Python License CI

ASRKit is Ollama + LiteLLM for speech recognition. Pull an on-device model and run it with one command; call a cloud API by changing one string; snap in a whole new inference engine as a plugin. One contract, everything behind it.

pip install asrkit
asrkit run local/sensevoice audio.wav      # downloads on first run, then transcribes

One interface, swap anything

The model string is the only thing that changes — engine, model, on-device vs cloud, all the same call:

asrkit run local/sensevoice                      audio.wav              # sherpa-onnx (on-device, default)
asrkit run faster-whisper/large-v3               audio.wav              # faster-whisper engine
asrkit run whispercpp/base                       audio.wav              # whisper.cpp engine
asrkit run transformers/openai/whisper-large-v3  audio.wav              # any HuggingFace model
asrkit run siliconflow/sensevoice                audio.wav --api-key …  # cloud, bring your own key
from asrkit import transcribe
print(transcribe("local/sensevoice", "audio.wav").text)

Why ASRKit

  • Curated and open. 47 on-device models work out of the box (asrkit list); anything else drops in via a JSON entry or a plugin — no fork required.
  • Four engines, more via plugins. sherpa-onnx, faster-whisper, whisper.cpp, and transformers (the entire HuggingFace hub, incl. LLM-architecture SOTA). pip install asrkit-<engine> adds your own.
  • Transparent by design. ASRKit doesn't touch your audio or change a model's native behavior by default. Wrong format? An honest error — never silent garbage. Format conversion and long-audio chunking are opt-in flags.
  • Private. Your audio and API keys never leave your machine — ASRKit is a library, not a hosted service.
  • Pull-and-go. Models download on demand and cache locally, Ollama-style. pip install asrkit ships only the default engine; the rest are optional.

Commands

Command What it does
asrkit list list all models (✓ = installed)
asrkit run <model> <audio> download if missing, then transcribe
asrkit transcribe <audio> -m <model> transcribe only (no auto-download)
asrkit pull <model> / rm <model> download / remove an on-device model
asrkit show <model> model details
asrkit engine list / install <name> manage engines

Engines & models

Engine Install Address Covers
sherpa-onnx (default) built-in local/<model> or bare <model> 47 on-device models, 14 architectures
faster-whisper asrkit[faster-whisper] faster-whisper/<model> fast Whisper, native long-audio
whisper.cpp asrkit[whispercpp] whispercpp/<model> ultra-light Whisper (no torch/onnx)
transformers asrkit[transformers] transformers/<any-hf-id> the whole HuggingFace ASR hub + LLM-arch SOTA
cloud (OpenAI-compatible) built-in siliconflow/sensevoice bring your own key

Extend it

Add any sherpa model — drop an entry in ~/.asrkit/models.json:

[{"id": "local/my-model", "download_url": "https://…/model.tar.bz2", "config_type": "senseVoice", "langs": ["zh"]}]

Add an engine — ship a small package that declares an asrkit.adapters entry point; pip install auto-registers it. No fork, no core changes. Recipe: docs/engines-and-addressing.md.

Docs

Usage · Adapter contract · Engines & addressing · Model management


Apache-2.0. Each model's license is its own — verify before commercial use (asrkit show <model> points to the source). Your audio and keys stay on your machine.

Metadata

Release files for asrkit 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asrkit 0.3.1
File Size Uploaded
asrkit-0.3.1.tar.gz 49.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asrkit 0.3.1
File Interpreter ABI Platform
asrkit-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 83.9 kB

Release files / asrkit-0.3.1.tar.gz

Download URL asrkit-0.3.1.tar.gz
Size 49.9 kB
Tags Source
SHA-256 checksum
How to use checksums
24a5d7be04721be216b9ebf59a9661adb43ec9b65b66dbb6b1c1431af8f91315
BLAKE2b-256 checksum
How to use checksums
a6fa6c1f77e73f1be157974f74005ff672cb32475bb15d98157e756fdcb1a47a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / asrkit-0.3.1-py3-none-any.whl

Download URL asrkit-0.3.1-py3-none-any.whl
Size 34.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86f038cf6121778e016093a91915ba83db0490d970a497d6e0ac2d6868d72169
BLAKE2b-256 checksum
How to use checksums
c77ccc7d9a98b28793b0a75cf080846b309910e9b94343b16f4222b8ca2a09a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release 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