Real-Time-Voice-Cloning README

The project's README from github.com/CorentinJ/Real-Time-Voice-Cloning. As one markdown file: README.md.

Real-Time Voice Cloning

This repository is an implementation of Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis (SV2TTS) with a vocoder that works in real-time. This was my master's thesis.

SV2TTS is a deep learning framework in three stages. In the first stage, one creates a digital representation of a voice from a few seconds of audio. In the second and third stages, this representation is used as reference to generate speech given arbitrary text.

Video demonstration (click the picture):

Toolbox demo

Papers implemented

URL Designation Title Implementation source
1806.04558 SV2TTS Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis This repo
1802.08435 WaveRNN (vocoder) Efficient Neural Audio Synthesis fatchord/WaveRNN
1703.10135 Tacotron (synthesizer) Tacotron: Towards End-to-End Speech Synthesis fatchord/WaveRNN
1710.10467 GE2E (encoder) Generalized End-To-End Loss for Speaker Verification This repo

Heads up

Like everything else in Deep Learning, this repo has quickly gotten old. Many SaaS apps (often paying) will give you a better audio quality than this repository will. If you wish for an open-source solution with a high voice quality:

Running the toolbox

Both Windows and Linux are supported.

  1. Install ffmpeg. This is necessary for reading audio files. Check if it's installed by running in a command line
ffmpeg
  1. Install uv for python package management
# On Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# On Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Alternatively, on any platform if you have pip installed you can do
pip install -U uv
  1. Run one of the following commands
# Run the toolbox if you have an NVIDIA GPU
uv run --extra cuda demo_toolbox.py
# Use this if you don't
uv run --extra cpu demo_toolbox.py

# Run in command line if you don't want the GUI
uv run --extra cuda demo_cli.py
uv run --extra cpu demo_cli.py

Uv will automatically create a .venv directory for you with an appropriate python environment. Open an issue if this fails for you

(Optional) Download Pretrained Models

Pretrained models are now downloaded automatically. If this doesn't work for you, you can manually download them from Hugging Face.

(Optional) Download Datasets

For playing with the toolbox alone, I only recommend downloading LibriSpeech/train-clean-100. Extract the contents as <datasets_root>/LibriSpeech/train-clean-100 where <datasets_root> is a directory of your choosing. Other datasets are supported in the toolbox, see here. You're free not to download any dataset, but then you will need your own data as audio files or you will have to record it with the toolbox.

Real-Time-Voice-Cloning (CorentinJ/Real-Time-Voice-Cloning)

Searching Database…

Что это такое?Это реализация SV2TTS, фреймворка глубокого обучения, который позволяет клонировать голос по всего нескольким секундам аудио, а затем в реальном времени генерировать любую речь этим голосом.
Это готовое приложение или исследовательский набор инструментов?Это исследовательский набор инструментов (изначально магистерская диссертация автора), построенный из трёх отдельных этапов глубокого обучения: энкодера диктора, синтезатора Tacotron и вокодера WaveRNN. Он запускается из командной строки, а не устанавливается как самостоятельное приложение.
Как запустить этот набор инструментов?Установите ffmpeg (он нужен для чтения аудиофайлов), установите uv для управления пакетами Python, затем выполните одну из готовых команд. uv автоматически создаст .venv с нужным окружением Python, а предобученные модели скачаются сами.
Что нужно установить перед запуском?Нужны ffmpeg для чтения аудиофайлов и uv для управления пакетами Python. Предобученные модели загружаются автоматически, а в качестве запасного варианта их можно скачать вручную с Hugging Face.
Это до сих пор лучший вариант для клонирования голоса?Нет. По словам автора, репозиторий быстро устарел, и многие платные SaaS-приложения сейчас дают лучшее качество звука. Он указывает на «Chatterbox» как на более современную открытую альтернативу.
Работает ли это и на Windows, и на Linux?Да, и Windows, и Linux прямо поддерживаются для запуска набора инструментов.
С какими наборами данных это работает?Для экспериментов только с самим набором инструментов автор рекомендует скачать LibriSpeech/train-clean-100 и распаковать его локально. Поддерживаются и другие наборы данных, а также можно использовать собственные аудиозаписи или записать голос прямо в самом наборе инструментов.
Почему автор советует сначала посмотреть другие проекты?Потому что исследования в глубоком обучении развиваются быстро, а этот репозиторий уже устарел. Он советует поискать более новые работы по синтезу речи на papers with code или попробовать «Chatterbox» для клонирования голоса на уровне 2025 года.
Какие научные статьи здесь реализованы?Реализованы SV2TTS (перенос обучения от верификации диктора к синтезу речи) и сама функция потерь энкодера диктора GE2E. Для вокодера и синтезатора повторно используются реализации WaveRNN и Tacotron из fatchord/WaveRNN.
Creator
CorentinJ
Size
361.1 MB
Stars
60.2K
Updated
CommitMar 09
Age
7y
Commits · 90 Days