Skip to main content

Inno Clone Tuner

CI codecov PyPI

Python License Weights

Zero-shot voice tuner for Kokoro-82M.

A 5-30 second reference clip in, a stock-shaped [510, 1, 256] voice pack out in about 0.3 seconds.

Usage

pip install inno-kokoro
inno-kokoro --fetch /models # -> /models/model.safetensors, e.g. in a Dockerfile; skips if present
inno-kokoro my_ref.wav am_me # -> voices/am_me.pt + voices/am_me_test.wav
inno-kokoro my_ref.wav am_me --fmax 300 # override pitch ceiling

Currently only available for English; prefixes work like the stock packs e.g: af_, am_, bf_, bm_.

from inno_kokoro.enroll import Tuner, enroll, read
from kokoro import KPipeline

tuner = Tuner()  # huggingface cache; or Tuner("/models/model.safetensors") for a path of your own
pack, _ = enroll(*read("my_ref.wav"), tuner)
pipe = KPipeline(lang_code="a")
wav = next(pipe("Hello from a tuned voice.", voice=pack)).audio

For best results, the reference audio should be:

  • 3-second minimum, up to the first 30-seconds
  • Single speaker (english).
  • Reasonably clear of audio artifacts

Voice pack generation time:

  • about 0.05 s per second of reference on CPU
  • 0.1 to 0.3 s total on a GPU (after the model is loaded).

Identity benchmarking

LibriSpeech test-clean, F5-TTS cross-sentence split: 1127 utterances, 39 held-out speakers.

Reference in, new sentence out, scored against the speaker's real recording. Normalized scores compare the render between sounding like a stranger (0) and a second sample of the same benchmark speaker (1).

RTF on an RTX 4060 Ti.

system SIM-o normalized UTMOS RTF
ground truth (second recording) 0.695 1.00 4.10
F5-TTS v1 base 0.650 0.94 3.86 0.48
StyleTTS2 (LibriTTS zero-shot) 0.386 0.46 4.40 0.06
Inno v0.2 0.288 0.32 4.45 0.07
OpenVoice v2 0.227 0.23 3.80 0.12
Kokoro, nearest stock pack 0.167 0.15 4.25 0.06

UTMOS scoring stays high which reflects the priority placed on maintaining Kokoro's voice quality.

Inno can match about a third of the way to most identities, and avoids copying recording artifacts etc.

License and Attributions

Apache-2.0. The speaker encoder is CC BY-SA 3.0.

Full model card available on HuggingFace: remsky/kokoro-inno-clone-tuner.

Only clone voices you have permission to clone, even the shallow cloning provided by this model and technique.

Metadata

Release files for inno-kokoro 0.2.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 inno-kokoro 0.2.0
File Size Uploaded Provenance
inno_kokoro-0.2.0.tar.gz 21.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for inno-kokoro 0.2.0
File Interpreter ABI Platform
inno_kokoro-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 39.5 kB

Release files / inno_kokoro-0.2.0.tar.gz

Download URL inno_kokoro-0.2.0.tar.gz
Size 21.2 kB
Tags Source
SHA-256 checksum
How to use checksums
913cf4244d836fe4be8db9ad15ba1940a1780b65d834a6fe3da88b8dcecb8223
BLAKE2b-256 checksum
How to use checksums
4c25fc62c06761866e9e645556b942cf49daf62fb5801b340ae775ded3e45a33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / inno_kokoro-0.2.0-py3-none-any.whl

Download URL inno_kokoro-0.2.0-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
faebd4006d939f99cf3a8b30c6bdc280f74309c42b88887362e4d28995601664
BLAKE2b-256 checksum
How to use checksums
d57e6dcee78130103f41c7e8a0143aa040a8ce330e5553bf5719642a174ad1d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for inno-kokoro 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

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