ToucanTTS
🇺🇸 English

ToucanTTS - A Toolkit for State-of-the-Art Speech Synthesis

a massively multilingual model covering over 7,000 languages

Try It Now

Free Online ToucanTTS

Try out ToucanTTS with the following examples.

Voicv

Turn text into natural speech and create voices for your next project.

Try Voicv

Loading demo…

Please wait while the demo prepares.

What is ToucanTTS?

ToucanTTS is a toolkit developed by the Institute for Natural Language Processing (IMS) at the University of Stuttgart, Germany, for teaching, training, and using state-of-the-art speech synthesis models. It is built entirely in Python and PyTorch, aiming to be simple, beginner-friendly, yet powerful.

ToucanTTS Features

Multilingual and Multi-Speaker Support

Supports multilingual speech synthesis covering over 7,000 languages through a massively multilingual pretrained model. Enables multi-speaker speech synthesis and cloning of prosody (rhythm, stress, intonation) across speakers

Human-in-the-Loop Editing

Allows human-in-the-loop editing of synthesized speech, e.g., for poetry reading and literary studies

Interactive Demos

Provides interactive demos for massively multilingual speech synthesis, style cloning across speakers, voice design, and human-edited poetry reading

Architecture and Components

Primarily based on the FastSpeech 2 architecture with modifications like a normalizing flow-based PostNet inspired by PortaSpeech. Includes a self-contained aligner trained with Connectionist Temporal Classification (CTC) and spectrogram reconstruction for various applications.Offers pretrained models for the multilingual model, aligner, embedding function, vocoder, and embedding GAN

Ease of Use

Built entirely in Python and PyTorch, aiming to be simple and beginner-friendly while still powerful

Articulatory Representations

The IMS Toucan system incorporates articulatory representations of phonemes as input, allowing multilingual data to benefit low-resource languages

How to use ToucanTTS?

Let's get started with ToucanTTS in just a few simple steps.

  1. Installation

    Clone the IMS-Toucan repository from GitHub:

    git clone https://github.com/DigitalPhonetics/IMS-Toucan
  2. Preparing Data

    Write a function mapping audio paths to transcripts, create a custom training pipeline script, and ensure text frontend language support.

  3. Download Pretrained Models

    Download pretrained models like the multilingual model, aligner, and vocoder using the provided script.

  4. Apply Patches/Fixes

    Apply any necessary patches or fixes to the codebase.

  5. Model Training

    Run your custom training pipeline script to fine-tune the models on your datas

  6. Inference

    Use provided interactive demos or scripts to generate speech from text using the trained models.

Prepare a listening experiment

Write a small, varied script

Choose a short script that represents the speech you actually want to make. Include a straightforward sentence, a question, a longer passage, and any names or abbreviations that matter to the project. Read it aloud first and remove wording that would sound awkward even with a human speaker.

Keep punctuation consistent so you can tell whether a difference comes from the text or from a changed synthesis setting. For a multilingual experiment, ask a fluent speaker to review the wording and intended pronunciation in each language. A literal translation may preserve the meaning while producing an unnatural spoken sentence. Save the approved scripts with your results, and use the same passages when comparing different voices or configurations.

Define what you are listening for

Decide which qualities matter before listening to a set of samples. An instructional voice may need clear pauses and easily understood terminology, while a story passage may depend more on phrasing and emphasis. Listen for intelligibility, pronunciation, rhythm, and changes in loudness separately.

A sample can sound pleasant while still mispronouncing an important name or joining two sentences too closely. Record specific observations, such as the final word being clipped or a pause appearing in the wrong place. These notes are more useful than a single overall score when you return to adjust the text or configuration. Keep the listening volume similar across samples so loudness alone does not determine your preference.

Connect the toolkit to your project

Separate exploration from integration

Begin with a small example from the project's current documentation and confirm that it runs in your chosen environment before planning a larger workflow. The repository is the source for supported configurations, installation steps, and model instructions. Keep a record of the version and settings used for each experiment so a later change can be investigated.

If you are evaluating a voice for a lesson, prototype, or research task, prepare a few representative passages and review those first. Avoid assuming that one successful sentence establishes quality for every language or speaking style. Expand the experiment only after the initial samples meet the needs of the people who will hear them.

Review the complete spoken passage

Listen to the assembled passage rather than approving every sentence in isolation. Check transitions between segments, consistent pronunciation of repeated terms, and whether the pacing gives the listener enough time to understand. Preview it on the type of device your audience will use, because a laptop speaker and headphones can reveal different problems.

Keep the text, generated audio, and review notes together, and retain a clear way to revise a mispronounced word. For shared or published work, check the applicable model and software licenses as well as any rights associated with source recordings. This page introduces the toolkit and offers a listening framework; repository instructions and the selected service determine the actual generation workflow.

Frequently Asked Questions

Have a question? Check out some of the common queries below.

What is the primary architecture used in ToucanTTS?

ToucanTTS is primarily based on the FastSpeech 2 architecture with modifications like a normalizing flow-based PostNet inspired by PortaSpeech.

How does ToucanTTS support low-resource languages?

ToucanTTS incorporates articulatory representations of phonemes as input, allowing multilingual data to benefit low-resource languages.

Can ToucanTTS be used for multi-speaker speech synthesis?

Yes, ToucanTTS enables multi-speaker speech synthesis and cloning of prosody (rhythm, stress, intonation) across speakers.

What kind of demos are available in ToucanTTS?

ToucanTTS provides interactive demos for massively multilingual speech synthesis, style cloning across speakers, voice design, and human-edited poetry reading.

How many languages are covered by the massively multilingual pretrained model in ToucanTTS?

The massively multilingual pretrained model in ToucanTTS covers over 7,000 languages.

Is ToucanTTS easy to use?

Yes, ToucanTTS is built entirely in Python and PyTorch, aiming to be simple and beginner-friendly while still powerful.