Skip to content

Generating Speech ​

The Generate tab is where you load a model and turn text into speech. Its controls change to match the loaded model: you only see options that model supports.

Loading a model ​

  1. Model family: choose one of the supported models. The text below it summarises what the model can do and its license.
  2. Checkpoint: choose a size or variant, or paste a Hugging Face repo id or local folder.
  3. Device: auto picks CUDA, then Apple Silicon (MPS), then CPU. Choose cpu to keep a model off the GPU.
  4. LoRA adapter (VibeVoice only): optionally pick a fine-tuned adapter from a training run.
  5. Click Load model.

If the model isn't installed yet, Load model installs its environment first, which takes a few minutes. Weights are downloaded from Hugging Face on first use.

Only one model is loaded at a time. Loading a new one, or clicking Unload, stops the previous model's worker process, which frees all of its memory.

Writing text ​

Type into Text. Punctuation drives the pacing: commas give short pauses and full stops give longer ones. Long text is fine. Models with a length limit split it into chunks at sentence boundaries and join the audio back together.

Some models understand inline tags:

ModelExamples
Chatterbox Turbo / Nano[laugh], [chuckle], [cough], [sigh]
OmniVoice[laughter], [sigh]
MOSS-TTS v1.5[pause 1.5s]

Language appears for multilingual models. Auto lets the model detect the language. For best results, pick the language explicitly when you know it.

Style instruction appears for models that accept one, such as Qwen3-TTS 1.7B CustomVoice and VoxCPM2. For example: Speak warmly and slowly, with a hint of excitement.

Choosing a voice ​

Under Voice, pick how the model gets its voice. Only the options the model supports are listed.

  • Preset voice: a voice built into the model.
  • Voice library: a clip from your voice library. Its saved transcript is used automatically.
  • Upload clip: a one-off reference clip. Models that use a transcript show Transcript of the clip. If you leave it empty, the clip is transcribed with Whisper.
  • Describe a voice: write a description, e.g. A deep, gravelly male voice with a slight Scottish accent. OmniVoice takes comma-separated attributes instead; see OmniVoice.
  • Default voice: let the model choose.

For cloning, use 5-20 seconds of clean speech from a single speaker, with no music or background noise.

Multi-speaker dialogue ​

Models that support several speakers show a Speakers slider. Set the number of speakers and give each one a voice, then write the script with speaker labels:

Speaker 1: Hello everyone! Welcome to the show.
Speaker 2: Thanks for having me!
Speaker 1: Let's dive right in.
  • Labels can start at 0 or 1. Speakers are numbered in order of first appearance and get voices 1, 2, 3, and so on.
  • A line without a label continues with the previous speaker.
  • A script with no labels at all rotates through the speakers line by line.

VibeVoice and MOSS-TTSD generate the whole dialogue in one pass. For Qwen3-TTS, Chatterbox and Pocket TTS, each line is generated separately with its speaker's voice, and the lines are joined with short gaps.

Advanced settings ​

The Advanced settings panel holds the loaded model's own parameters, such as temperature, CFG and guidance scale, or the number of diffusion steps. Each setting has a short hint, and the defaults follow the model authors' recommendations.

Seed: -1 picks a random seed each time. Set a fixed number to make a result reproducible, or to compare settings fairly.

Output ​

Click Generate, or Stop to cancel. When the clip is done it plays automatically, followed by a summary such as 5.2s of audio in 2.1s (2.5× realtime).

  • Clips are saved to outputs/<model>_<timestamp>.wav.
  • History lists the clips from this session; click a row to play it again.
  • Worker log shows the model process's output. Check it first when something fails.

Tips ​

  • If one generation sounds off, generate again. Most models are random, so a different seed often fixes it.
  • Cloning quality depends mostly on the reference clip. Try a cleaner or longer one.
  • If a cloning model offers a transcript field, filling it in usually improves quality.
  • For long-form audio, VibeVoice 1.5B handles up to 90 minutes in one go.

Released under the BSD-3-Clause License.