Skip to main content

This is a light version of chatterbox that removes:

  • librosa and all its required dependencies and instead uses torchaudio and scipy
  • perth because who the heck needs watermarking anyways
  • omegaconf and 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)

Source distribution for chatterbox-light 1.0.2
File Size Uploaded Provenance
chatterbox_light-1.0.2.tar.gz 55.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for chatterbox-light 1.0.2
File Interpreter ABI Platform
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 log

Release 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 log

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

Select from 2 files

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 log

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

1.0.2 This release

2 release files Full 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