❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🎬 “百万播放博主秘密武器!开源AI声优Zonos上线:你的声音能说五国方言,悲伤快乐一键切换”
大家好,我是蚝油菜花。你是否遇到过——
- 🎧 录中文视频想拓展海外市场,重录多语言版累到声带撕裂
- 🎙️ 买商用TTS服务,发现情感语调僵硬得像新闻联播重播
- 💸 想克隆自己声纹,专业工具动不动收费$0.2/秒...
今天要拆解的 ZyphraAI Zonos ,正在用开源力量终结这些痛苦!这个基于20万小时训练的TTS模型,不仅能克隆你的声音说中英日法德,还能通过情感滑块调节喜怒哀乐。更震撼的是——所有代码Apache 2.0开源,接下来就带你看如何免费打造专属AI声优!
🚀 快速阅读
Zonos 是 ZyphraAI 推出的高保真多语言 TTS 模型,支持语音克隆和情感控制。
- 核心功能:零样本 TTS、语音克隆、音频前缀输入、多语言支持。
- 技术原理:基于 eSpeak 工具进行文本预处理,使用 Transformer 或混合骨干网络预测 DAC 标记,通过自编码器生成高质量语音。
Zonos 是什么
Zonos 是 ZyphraAI 推出的一个高保真文本到语音(TTS)模型。它包含两个版本的模型:一个是拥有 16 亿参数的 Transformer 模型,另一个是 SSM 混合模型,均在 Apache 2.0 许可下开源。Zonos 可以根据文本提示和说话人嵌入生成自然、高表达性的语音,支持语音克隆功能,用户可以调节语速、音高、情感等参数,输出采样率为 44kHz。
Zonos 基于约 20 万小时的多语言语音数据训练,主要支持英语,同时对其他语言如日语、中文、法语和德语也有一定的支持。该模型提供了优化的推理引擎,能够快速生成语音,适合实时应用。
Zonos 的主要功能
- 零样本 TTS 与语音克隆:输入文本和 10-30 秒的说话者样本,生成高质量的 TTS 输出。
- 音频前缀输入:基于添加文本和音频前缀,更精确地匹配说话者的声音,实现难以通过说话者嵌入复制的行为,如耳语。
- 多语言支持:支持英语、日语、中文、法语和德语。
- 音频质量和情感控制:支持精细控制语速、音高、最大频率、音频质量和各种情感,如快乐、愤怒、悲伤等。
Zonos 的技术原理
- 文本预处理:基于 eSpeak 工具进行文本归一化和音素化,将输入文本转换为音素序列。
- 特征预测:使用 Transformer 或混合骨干网络(Hybrid Backbone)预测 DAC(Discrete Audio Codec)标记。
- 语音生成:基于预测的 DAC 标记,使用自编码器(Autoencoder)解码生成高质量的语音输出。
如何运行 Zonos
1. 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="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)
AI 代码解读
2. Gradio 界面(推荐)
uv run gradio_interface.py
# 或者
python gradio_interface.py
AI 代码解读
这将生成一个 sample.wav
文件在你的项目根目录中。为了提高效率,建议使用 Gradio 界面进行重复采样,因为最小示例每次运行时都需要重新加载模型。
资源
- GitHub 仓库:https://github.com/Zyphra/Zonos
- 项目主页:https://www.zyphra.com/post/beta-release-of-zonos-v0-1
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦