license: apache-2.0
pipeline_tag: text-to-speech
Zonos-v0.1
Zonos-v0.1 是一款领先的开源权重文本转语音模型,基于超过20万小时的多语言语音数据训练而成,其表现力和质量可与顶级TTS服务商媲美,甚至更胜一筹。
本模型在给定说话人嵌入或音频前缀时,能够从文本提示生成高度自然的语音;仅需几秒的参考音频片段即可精准实现语音克隆。其条件设置还支持精细调控语速、音高变化、音频质量以及快乐、恐惧、悲伤、愤怒等情感。模型原生输出44kHz采样率的语音。
更多详情与语音样本请访问我们的博客
Zonos采用简洁架构:通过eSpeak进行文本归一化与音素化,再经由Transformer或混合骨干网络预测DAC标记。架构概览如下图所示。
使用指南
Python
import torch
import torchaudio
from zonos.model import Zonos
from zonos.conditioning import make_cond_dict
model = Zonos.from_pretrained("Zyphra/Zonos-v0.1-transformer", device="cuda")
wav, sampling_rate = torchaudio.load("assets/exampleaudio.mp3")
speaker = model.make_speaker_embedding(wav, sampling_rate)
cond_dict = make_cond_dict(text="你好,世界!", speaker=speaker, language="zh-cn")
conditioning = model.prepare_conditioning(cond_dict)
codes = model.generate(conditioning)
wavs = model.autoencoder.decode(codes).cpu()
torchaudio.save("sample.wav", wavs[0], model.autoencoder.sampling_rate)
Gradio界面(推荐)
uv run gradio_interface.py
执行后将生成sample.wav
文件至项目根目录。
建议重复采样时使用gradio界面,因基础示例每次运行都需重新加载模型。
核心功能
- 零样本语音克隆:输入目标文本与10-30秒说话人样本,即可生成高质量语音
- 音频前缀输入:结合文本与音频前缀可实现更精准的音色匹配,还能复现耳语等特殊发音模式
- 多语言支持:支持英语、日语、中文、法语、德语
- 音质与情感调控:可精细调节语速、音高、最高频率、音质及快乐/愤怒/悲伤/恐惧等情感
- 高效推理:RTX 4090显卡上实时因子达2倍速
- 可视化界面:内置易用的gradio网页交互界面
- 便捷部署:提供Dockerfile实现一键部署
安装说明
当前仅支持Linux系统(推荐Ubuntu 22.04/24.04)及NVIDIA 3000系以上显卡(显存6GB+)。
另见Docker安装
系统依赖
需安装eSpeak音素化库,Ubuntu系统执行:
apt install -y espeak-ng
Python依赖
强烈推荐使用uv进行安装。未安装uv时可执行:pip install -U uv
新建uv虚拟环境安装(推荐)
uv sync
uv sync --extra compile
使用uv安装至当前环境
uv pip install -e .
uv pip install -e .[compile]
使用pip安装至当前环境
pip install -e .
pip install --no-build-isolation -e .[compile]
验证安装
提供快速验证脚本:
uv run sample.py
Docker安装
git clone https://github.com/Zyphra/Zonos.git
cd Zonos
docker compose up
docker build -t Zonos .
docker run -it --gpus=all --net=host -v /path/to/Zonos:/Zonos -t Zonos
cd /Zonos
python sample.py