← Concept library

Vision & Multimodal

Zero-Shot Voice Cloning

Zero-shot voice cloning synthesises speech in the voice of an unseen speaker from a short reference recording, without any fine-tuning at inference time.

advanced · 8 min read · Premium

Three seconds of audio is all VALL-E needs to mimic a speaker it has never heard before. That specific claim, from Microsoft Research's 2023 paper, crystallised a shift: voice cloning had moved from a fine-tuning problem into an in-context learning problem. The distinction matters because it changes the architecture, the training data requirements, and the failure modes entirely.

What "zero-shot" actually means here

Classical multi-speaker TTS requires either re-training a model on the target speaker (speaker adaptation) or enrolling the speaker into a fixed embedding table learned during training. Both require the speaker to be known before inference.

Zero-shot voice cloning removes that constraint. At inference time the model receives:

  1. A reference audio clip from an arbitrary, previously unseen speaker.
  2. A text string to synthesise.

The model must produce speech that sounds like that speaker saying that text, with no weight updates, no fine-tuning, and no explicit speaker registration step. The speaker is "in-context", not "in-weights".

This is analogous to few-shot prompting in language models: the model generalises from its training distribution to handle the new example at runtime. Whether a system is genuinely zero-shot or merely produces plausible-sounding impersonations is measured empirically through speaker similarity scores (typically cosine similarity between speaker embeddings) and word error rate on the output.

Two generations of architecture

Generation 1: Speaker-encoder conditioning

The approach described in Jia et al. (2018) from Google remains the conceptual baseline. Three independently trained components work together:

Component Role
Speaker encoder Maps a reference waveform to a fixed-dim embedding d-vector
Acoustic model (Tacotron 2) Generates mel spectrograms from text, conditioned on the d-vector
Vocoder (WaveNet) Converts mel spectrograms to raw waveform

The speaker encoder is trained on a speaker verification objective (GE2E loss), not on TTS data. The insight is that a model trained to distinguish speakers already learns a compact, speaker-identity-preserving representation. This embedding is concatenated to every decoder step in Tacotron 2.

Training the three components separately is pragmatic but suboptimal: the speaker encoder is not aware of what information the synthesiser actually needs, and the mel-spectrogram intermediate representation is a lossy lossy bridge. Naturalness suffers on speakers far from the training distribution.

Generation 2: Codec language models (VALL-E and descendants)

VALL-E (Wang et al., 2023) reformulates zero-shot TTS as a conditional language modelling problem over discrete audio tokens. The key shift:

Classical TTS:  text -> continuous mel spectrogram -> waveform
VALL-E:         text + ref_audio_tokens -> discrete codec tokens -> waveform

The discrete tokens come from EnCodec (Défossez et al., 2022), a neural audio codec that compresses audio into a residual vector quantisation (RVQ) hierarchy. EnCodec produces 8 codebook levels; VALL-E uses the first codebook autoregressively and the remaining 7 in parallel via a non-autoregressive model.

Keep reading with Pro.

You're reading the preview. Unlock the full concept plus the library, study plans, the AI mentor, and daily emails.

Sign in to save and react.
Share Copied