onnxvoice
onnxvoice manages, verifies, stores, and executes ONNX voice-model assets through shared catalogs, a content-addressed cache, and a common Python API.
It is a model asset and runtime layer, not a complete text-to-speech frontend. Text normalization, G2P/phonemization, sentence planning, and higher-level voice policy belong to producer packages.
Install
The base package does not install ONNX Runtime. Install the provider extra for the target system:
python -m pip install onnxvoice
python -m pip install "onnxvoice[cpu]"
python -m pip install "onnxvoice[gpu]"
python -m pip install "onnxvoice[directml]"
python -m pip install "onnxvoice[openvino]"
For Pocket's optional Hugging Face voice-state downloads, add the pocket extra. See Pocket download setup.
Voicefolio owns cataloging, discovery, and download of reference WAVs. OnnxVoice's Pocket support is for ONNX bundles and predefined runtime voice states. See Pocket download setup.
Quick start
CLI
onnxvoice list --kind voice --lang en-US
onnxvoice install piper:en_US-lessac-medium
onnxvoice installed
onnxvoice cache info
Python
from onnxvoice import OnnxVoice
voice = OnnxVoice()
installation = voice.install("piper:en_US-lessac-medium")
runtime = voice.open(installation, provider="cpu")
try:
# Supply model-ready token IDs from your frontend.
result = runtime.infer([1, 20, 14, 5, 2])
print(result.audio.shape, result.sample_rate)
finally:
runtime.close()
install() acquires catalog assets. open() uses an existing managed installation and does not download assets. open_local() opens explicit files without copying or registering them.
Supported systems
| System | Built-in adapter | Catalog | Named voices |
|---|---|---|---|
| Piper | Yes | Yes | Yes |
| Kokoro | Yes | Yes | Yes |
| Yes | Yes | Catalog-dependent | |
| Supertonic | Yes | Yes | Yes |
| Kitten | Yes | Yes | Yes |
| Inflect | Yes | Yes | Fixed default voice |
| Sopro | Yes (partial) | Yes | Zero-shot reference audio |
Sopro currently provides bundle management, graph inspection, tokenization, and reference preparation only. End-to-end Python synthesis remains capability-gated pending the real native-runtime and parity gate; see Sopro support. Catalog contents determine which named voices are available. Discovery does not depend on a separate capability list. Adapters execute system-specific model contracts and do not imply text normalization or phonemization support.
Documentation
The full documentation includes task-oriented CLI and Python guides, storage and update behavior, provider setup, local-model workflows, per-system runtime contracts, and the API reference.
Development
python -m pip install -e ".[dev,cpu]"
pytest -q
python docs/make.py html
License
The source code is Apache-2.0. Downloaded models, voices, and model cards retain their own licenses and terms. Installing an asset through onnxvoice does not relicense it.
Metadata
Release files for onnxvoice 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onnxvoice-0.2.7.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onnxvoice-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / onnxvoice-0.2.7.tar.gz
| Download URL | onnxvoice-0.2.7.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0c2a8acf4d8304ca328c64880d3ba1829134678be0af942b08034b3863b4c4e
|
|
BLAKE2b-256 checksum How to use checksums |
33b2c73919bddbc05836e9d8723cc2bd25546ad0f57de45c5a684e6081a1d328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / onnxvoice-0.2.7-py3-none-any.whl
| Download URL | onnxvoice-0.2.7-py3-none-any.whl |
|---|---|
| Size | 186.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47a79fa6eca022ee349e32a8326d51040dc287b057b126b8191a41e198762f42
|
|
BLAKE2b-256 checksum How to use checksums |
91f35fcd724bb637c7549378a743a8e101e3197ff7a82713baa165379c3f28cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|