综合介绍
Zonos 是由 Zyphra 开发的一款开源语音合成与语音克隆工具。Zonos-v0.1 版本采用了先进的 Transformer 和混合模型,能够生成高质量的语音输出。该工具支持多种语言,包括英语、日语、中文、法语和德语,并提供细致的音频质量和情感控制。Zonos 的语音克隆功能可以在提供短短几秒钟的参考音频后,生成高度自然的语音。用户可以通过 GitHub 获取模型权重和示例代码,并在 Huggingface 上进行试用。
功能列表
- 零样本 TTS 语音克隆:输入文本和10-30秒的说话者样本,即可生成高质量的语音输出。
- 音频前缀输入:添加文本和音频前缀,以实现更丰富的说话者匹配。
- 多语言支持:支持英语、日语、中文、法语和德语。
- 音频质量和情感控制:提供对生成音频的多方面细致控制,包括说话速度、音高变化、音频质量和情感(如快乐、恐惧、悲伤和愤怒)。
- 实时语音生成:支持实时生成高保真语音。
使用帮助
安装流程
- 克隆项目:在终端中运行以下命令以克隆 Zonos 项目:
bash
git clone https://github.com/Zyphra/Zonos.git
cd Zonos
- 安装依赖:使用以下命令安装所需的 Python 依赖:
bash
pip install -r requirements.txt
- 下载模型权重:从 Huggingface 下载所需的模型权重,并将其放置在项目目录中。
使用方法
- 加载模型:在 Python 环境中加载 Zonos 模型:
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")
- 生成语音:提供文本和说话者样本,生成语音输出:
python
wav, sampling_rate = torchaudio.load("assets/exampleaudio.mp3")
speaker = model.make_speaker_embedding(wav, sampling_rate)
cond_dict = make_cond_dict(text="Hello, world!", speaker=speaker, language="en-us")
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 接口:推荐使用 Gradio 接口进行语音生成:
bash
这将生成一个
uv run gradio_interface.py
# 或者
python gradio_interface.py
sample.wav
文件,保存在项目根目录中。
详细功能操作流程
- 零样本 TTS 语音克隆:
- 输入所需文本和10-30秒的说话者样本,模型将生成高质量的语音输出。
- 音频前缀输入:
- 添加文本和音频前缀,以实现更丰富的说话者匹配。例如,可以使用低语音频前缀来生成低语效果。
- 多语言支持:
- 选择所需语言(如英语、日语、中文、法语或德语),模型将生成相应语言的语音输出。
- 音频质量和情感控制:
- 使用模型的条件设置功能,细致控制生成音频的各个方面,包括说话速度、音高变化、音频质量和情感(如快乐、恐惧、悲伤和愤怒)。
- 实时语音生成:
- 使用 Gradio 接口或其他实时生成方法,快速生成高保真语音。