简体中文 | English
ASRKit
One interface to run any speech-to-text model — local & cloud, any engine.
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 asrkitships 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)
| File | Size | Uploaded | |
|---|---|---|---|
| asrkit-0.3.1.tar.gz | 49.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|