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.0

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.0
File Size Uploaded
asrkit-0.3.0.tar.gz 48.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asrkit 0.3.0
File Interpreter ABI Platform
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

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

0.3.1

2 release files

This release

0.3.0 This release

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