Installation
Core package
pip install standard-asrOr with uv:
uv pip install standard-asr
# or, in a uv project:
uv add standard-asrThe core is intentionally light: only numpy and pydantic. Everything heavy is
an opt-in extra.
Optional extras
| Extra | What it adds | Pulls in |
|---|---|---|
| (core) | The protocol, engine discovery, audio negotiation, and the CLI. Decodes basic 8/16-bit PCM WAV files with the standard library. | numpy, pydantic |
| audio | Battery-included audio loading: MP3, FLAC, OGG, raw bytes, base64. Handles decoding, resampling, and channel mixing. | soundfile, scipy (+ optional system FFmpeg for M4A and more) |
| server | FastAPI server exposing any compliant engine over HTTP and WebSocket. | fastapi, starlette, python-multipart, uvicorn, websockets |
pip install "standard-asr[audio]"
pip install "standard-asr[audio,server]"Install an engine plugin
Standard ASR discovers engines automatically via entry points. Install a plugin
and it appears in standard-asr list. Each engine is its own package;
experimental plugins install from their repo until they publish to PyPI:
pip install "std-faster-whisper @ git+https://github.com/standard-voice/std-faster-whisper.git"Install from source
To try unreleased changes, install the core straight from the repository (this
pulls a snapshot of main, not an editable checkout):
pip install "standard-asr @ git+https://github.com/standard-voice/standard_asr.git"To work on Standard ASR itself, clone the repository and follow CONTRIBUTING.md.
Verify
standard-asr list # discover installed engines
standard-asr compliance entrypoints # verify plugins resolve correctly
standard-asr doctor # diagnose dependency conflicts