This is a light version of chatterbox that removes:
librosaand all its required dependencies and instead usestorchaudioandscipyperthbecause who the heck needs watermarking anywaysomegaconfand instead use standard python- others I forget, but everything works
However, I did add soundfile because I like it.
Installation
Go through these steps in order.
python -m venv .
.\Scripts\activate
python.exe -m pip install --upgrade pip
pip install uv
Next, make sure appropriate versions of torch, torchaudio, and CUDA are installed. Use torch 2.6 or newer, because transformers 5.20 and later won't use older versions.
uv pip install chatterbox-light
To install the latest code from GitHub instead:
uv pip install -r requirements.txt
pip install git+https://github.com/BBC-Esq/chatterbox-light.git --no-deps
This package installs the chatterbox module, just like Resemble AI's chatterbox-tts, so don't install both in one environment. Installs of this fork made from GitHub before version 1.0.1 are also named chatterbox-tts; run pip uninstall chatterbox-tts before installing this.
Optional: if you'll use the multilingual model with Japanese or Chinese text, also install these (or install "chatterbox-light[multilingual]"). Without them, Japanese kanji are dropped and Chinese text isn't split into words. The first time Chinese text is used, spacy-pkuseg downloads a ~35 MB model to ~/.pkuseg.
uv pip install pykakasi spacy-pkuseg
Usage
Each model's generate() returns a (1, samples) tensor at model.sr (24 kHz). Models download from Hugging Face the first time they're used. Save the audio with soundfile:
import soundfile as sf
sf.write("output.wav", wav.squeeze(0).numpy(), model.sr)
Chatterbox (English)
from chatterbox.tts import ChatterboxTTS
model = ChatterboxTTS.from_pretrained(device="cuda") # or "cpu" / "mps"
wav = model.generate("Hello there, this is Chatterbox.")
# clone a voice from a reference clip
wav = model.generate("Hello there, this is Chatterbox.", audio_prompt_path="reference.wav")
# more expressive: raise exaggeration (default 0.5) and lower cfg_weight (default 0.5) for slower pacing
wav = model.generate("Hello there, this is Chatterbox.", exaggeration=0.7, cfg_weight=0.3)
Chatterbox Turbo (English)
Faster, and understands paralinguistic tags such as [laugh], [chuckle] and [cough]. A reference clip must be longer than 5 seconds. cfg_weight, exaggeration and min_p are ignored.
from chatterbox.tts_turbo import ChatterboxTurboTTS
model = ChatterboxTurboTTS.from_pretrained(device="cuda")
wav = model.generate("Hi there [chuckle], have you got a minute to chat?", audio_prompt_path="reference.wav")
Chatterbox Nano (English)
A smaller version of Turbo for CPU and tight memory budgets, loaded through the same class with nano=True:
from chatterbox.tts_turbo import ChatterboxTurboTTS
model = ChatterboxTurboTTS.from_pretrained(device="cpu", nano=True)
wav = model.generate("Hi there [chuckle], have you got a minute to chat?")
Chatterbox Multilingual (23 languages)
The v2 checkpoint loads by default. Pass t3_model="v3" for the newer v3 checkpoint, which upstream recommends (fewer hallucinations, better speaker similarity). For Japanese or Chinese text, install the optional packages above.
from chatterbox.mtl_tts import ChatterboxMultilingualTTS, SUPPORTED_LANGUAGES
print(SUPPORTED_LANGUAGES) # language codes such as "fr", "de", "ja", "zh"
model = ChatterboxMultilingualTTS.from_pretrained(device="cuda", t3_model="v3")
wav = model.generate("Bonjour, comment ça va ?", language_id="fr")
wav = model.generate("Hola, ¿cómo estás?", language_id="es", audio_prompt_path="reference.wav")
Voice conversion
from chatterbox.vc import ChatterboxVC
model = ChatterboxVC.from_pretrained(device="cuda")
wav = model.generate("input.wav", target_voice_path="target_voice.wav")
See the example_*.py scripts for complete runs.
Enjoy!
Metadata
Release files for chatterbox-light 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chatterbox_light-1.0.2.tar.gz | 55.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chatterbox_light-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 130.2 kB
Release files / chatterbox_light-1.0.2.tar.gz
| Download URL | chatterbox_light-1.0.2.tar.gz |
|---|---|
| Size | 55.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9bbd7eb856feb33f3e7de6e1cc973dfcc20fc27c94ebf626fdb732d713043c9
|
|
BLAKE2b-256 checksum How to use checksums |
b18f90d194f88fc5eec6a9708d5d6f5d18d80a32271c41a134ebde4859d66510
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / chatterbox_light-1.0.2-py3-none-any.whl
| Download URL | chatterbox_light-1.0.2-py3-none-any.whl |
|---|---|
| Size | 74.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52e091da8c0d245e4e1f6c79bf2d2ba688156b274b1d7c1c8802f238686edce8
|
|
BLAKE2b-256 checksum How to use checksums |
6c27e4af9d46d42f229d05adf8382e697150d526e2fd179c9bd0568539854843
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logSecurity for chatterbox-light 1.0.2
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for chatterbox_light-1.0.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logA 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.