简体中文 | 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.0
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.0.tar.gz | 48.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asrkit-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.4 kB
Release files / asrkit-0.3.0.tar.gz
| Download URL | asrkit-0.3.0.tar.gz |
|---|---|
| Size | 48.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a852caa64a6b548f02c2c457021cd91afdca2064c867082831793178ec94eaf
|
|
BLAKE2b-256 checksum How to use checksums |
f44c5f10a91cb951d481d8613a190061871ea58140219a15fbacae3757a09ba2
|
| 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.0-py3-none-any.whl
| Download URL | asrkit-0.3.0-py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45d553ea09215328d29f87002650555511dc7158f135bfd3f667b9fa5e4a80a4
|
|
BLAKE2b-256 checksum How to use checksums |
8aee3c97c7995a998c39a6fbdff7a68d658f217b48f7693ec50ba0b69e81d52d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|