LibreAI / Audio / vall-e
// audio · enhuiz/vall-e

vall-e

Unofficial PyTorch implementation of VALL-E, the neural codec language model for zero-shot TTS

★ 3.0k stars⑂ 399 forksMITupdated 2023-05
▦ visual — this project's README ships no embeddable screenshot,
so here's a placeholder. The guide below is complete regardless.
// project facts

Project facts

vall-e is an open-source audio project by enhuiz (enhuiz/vall-e on GitHub). It has 2,970 GitHub stars and 399 forks, is released under the MIT license, and was last updated on GitHub on 10 May 2023.

Repository
enhuiz/vall-e
GitHub stars
2,970
Forks
399
License
MIT
Last updated on GitHub
10 May 2023
Category
Audio
Listing
Full install guide
// how it works

How it works

  1. Clarify your goal

    Understand this is a research implementation to train yourself: you will need your own audio/text data and a GPU setup DeepSpeed supports.

  2. Clone the repo

    Clone with submodules, or pip install directly from GitHub as the README shows.

  3. Install and prepare data

    Install the package (tested under Python 3.10.7), put .wav + .normalized.txt files in a data folder, quantize them and generate phonemes.

  4. Train and synthesize

    Create AR/NAR configs, train both models, export checkpoints, then run the synthesis CLI with text and a reference audio path.

// features

Why people love it

AR + NAR models

Implements the autoregressive model for the first quantizer and the non-autoregressive model for the remaining quantizers.

EnCodec tokenizer based

Built on Facebook's EnCodec for audio tokenization and decoding from tokens.

Full training pipeline

Data quantization (vall_e.emb.qnt), phoneme generation (vall_e.emb.g2p) and DeepSpeed-based trainers for both models.

Synthesis CLI

After exporting AR and NAR checkpoints, synthesize speech from text plus a reference recording from the command line.

Configurable presets

YAML configs per dataset with different model presets defined in the code.

Colab toy example

A linked Google Colab notebook demonstrates the flow on a single utterance (the README notes it overfits and is not usable as a model).

Advertisement
// run it

Run it yourself

  1. Clone the repo

    Clone VALL-E with submodules as the README instructs.

    git clone https://github.com/enhuiz/vall-e.git
    cd vall-e
  2. Install the package

    Alternatively install directly from GitHub with pip (Python 3.10.7 tested; a DeepSpeed-supported GPU is needed for training).

    pip install git+https://github.com/enhuiz/vall-e
  3. Synthesize after training

    Export your trained AR/NAR checkpoints, then run the synthesis CLI with text, reference and output paths.

    python -m vall_e <text> <ref_path> <out_path> --ar-ckpt zoo/ar.pt --nar-ckpt zoo/nar.pt
// use cases

What you can build

Advertisement
// faq

Questions, answered

Who maintains this VALL-E repo?

enhuiz maintains this unofficial implementation; VALL-E itself is a Microsoft Research model described in the cited arXiv paper.

Is it free?

The code is MIT-licensed. Note the README's notice that EnCodec is CC-BY-NC 4.0, so non-commercial terms apply to the EnCodec parts.

Does it need a paid API key?

No API key — it runs locally with PyTorch. But there is no pretrained checkpoint provided, so you must train the models yourself on GPU hardware.

How does it compare to ready-made TTS tools like gTTS or pyttsx3?

Those synthesize speech immediately. This repo is a research training implementation of a specific paper, with no shipped pretrained model.

How do I get started?

Clone with --recurse-submodules, install, prepare a dataset of .wav and .normalized.txt files, then follow the quantize → phoneme → train → export flow in the README.

// keep exploring

Similar tools

Audio

WaveRNN

WaveRNN vocoder plus Tacotron TTS in PyTorch: train your own neural speech synthesis on LJSpeech.

★ 2.2k starsMIT
View guide →
Audio

metavoice-src

MetaVoice-1B: a 1.2B-parameter foundation model for emotional, zero-shot text-to-speech

★ 4.2k starsApache-2.0
View guide →
Audio

GPT-SoVITS

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

★ 62.3k starsMIT
View guide →
Audio

index-tts

IndexTTS: industrial-level, controllable zero-shot text-to-speech with voice cloning

★ 24.4k starsNOASSERTION
View guide →
Audio

voice-pro

Gradio WebUI for creators and developers, featuring key TTS (Edge-TTS, kokoro) and zero-shot Voice Cloning (E2 & F5-TTS, CosyVoice), with Whisper audio proce…

★ 13.0k starsGPL-3.0
View guide →
Audio

vui

A tiny conversational TTS model with cloning, streaming, and CPU speed.

★ 767 starsCustom
View guide →
// alternatives

Alternatives in Audio

The most-starred other Audio projects in the LibreAI catalogue — the realistic shortlist if vall-e is not the right fit.

Get vall-e

Free and open — grab the source, star the repo, and start creating.