VietVoice-TTS
nguyenvulebinh/VietVoice-TTS加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你正在开发一款面向越南市场的有声书应用,需要将大量越南语文本转换为自然流畅的语音。传统的 TTS(Text-to-Speech,文字转语音)系统输出的越南语听起来生硬、机械,方言口音更是一塌糊涂——南部、北部、中部的语调差异完全无法区分。这时,如果你手里有一个工具,只需要一段几秒钟的参考音频,就能克隆出任意越南语说话者的声音,并且可以自由调节性别、地区口音、情感风格,你会怎么想?
VietVoice-TTS 正是为解决这个痛点而生的开源项目。它是一个专注于越南语的文字转语音库,提供了高质量的语音合成能力和语音克隆功能,支持北部、南部、中部三种方言,以及开心、悲伤、愤怒、惊讶等七种情感风格。对于需要在越南市场落地语音类 AI 产品的开发者来说,这是一个不可多得的工具。
VietVoice-TTS 由越南开发者 Thai-Binh Nguyen(GitHub @nguyenvulebinh)创建并维护,仓库地址为 nguyenvulebinh/VietVoice-TTS。作为一个越南语母语者,Nguyen 深知越南语的语音合成有多难——越南语有六声调(类似汉语但更复杂),方言差异显著,传统 TTS 系统很难生成自然的地道发音。
项目采用 MIT 开源许可证,代码完全免费可用。GitHub 页面显示该项目目前获得约 105 颗星,虽然社区规模不大,但代码质量扎实,功能完整度较高。VietVoice-TTS 的核心模型托管在 Hugging Face 上(nguyenvulebinh/VietVoice-TTS),模型文件约数百 MB,首次安装运行时会自动下载。
VietVoice-TTS 的技术实现值得深入了解。项目采用纯 Python 开发,推理引擎选择了 ONNX Runtime,而不是常见的 PyTorch 或 TensorFlow 直接推理。这一选择非常聪明:ONNX Runtime 是微软开源的高性能推理框架,支持 CUDA GPU 加速,同时可以在 CPU 上高效运行,部署友好性远胜于直接调用 PyTorch。
模型架构为三阶段 Pipeline:
对于语音克隆功能,VietVoice-TTS 的工作流程是:用户提供一段参考音频及其对应文本,模型从中提取说话者的声音特征向量,然后将这些特征注入 Transformer 模型,使合成语音带有参考音频的音色。这一机制属于 zero-shot 风格的说话人适应,不需要对目标说话人进行额外训练。
VietVoice-TTS 提供了丰富的语音参数控制,这是它区别于一般 TTS 工具的核心优势。
性别控制:male / female 二选一,决定基础音色。
地区口音:northern(北部)、southern(南部)、central(中部)。越南语三个地区的语调差异非常明显——北部的河内音相对标准,南部的西贡音更柔和,中部地区则有独特的声调变化。这个参数对于需要精准匹配目标用户的应用场景至关重要,比如为特定地区的播客或有声书配音。
语音风格/场景:story(故事讲述)、news(新闻播报)、audiobook(有声书)、interview(访谈对话)、review(评论解说)五种风格,不同风格在语速、语调、断句上有明显差异。
情感控制:neutral(中性,默认)、serious(严肃)、monotone(平板)、sad(悲伤)、surprised(惊讶)、happy(开心)、angry(愤怒)七种情感。这一功能在同行产品中较为罕见,对于游戏配音、情感对话机器人等场景非常有价值。
语音克隆:用户只需提供一段 WAV/M4A 参考音频和对应的文本,即可克隆出该说话人的音色用于新文本合成。这个功能对于品牌定制音色、企业语音助手等场景非常有吸引力。
VietVoice-TTS 提供了两套使用接口,满足不同技术背景用户的需求。
CLI 命令行模式适合快速测试和脚本集成:
pip install -e ".[gpu]" # GPU 用户
pip install -e ".[cpu]" # CPU 用户
python -m vietvoicetts "Xin chào các bạn!" output.wav --gender female --area northern --emotion happy
Python API 则适合集成到应用程序中:
from vietvoicetts import synthesize
duration = synthesize(
"Xin chào các bạn! Đây là ví dụ cơ bản về tổng hợp giọng nói tiếng Việt.",
"greeting.wav",
gender="female",
area="northern",
emotion="surprised"
)
项目还提供了 Gradio 在线演示,用户可以直接在浏览器中体验不同参数组合的效果,无需任何本地安装。不过 README 中也坦言在线 demo "temporary and may change or be disabled at any time"——开发者优先保证 Colab notebook 的稳定性,更推荐通过 Google Colab 来试用。
作为一个 0.1.0 版本的 Beta 项目,VietVoice-TTS 有几个不容忽视的局限:
长文本处理:虽然代码中实现了 chunk 分块处理(默认每块最大 15 秒)和 cross-fade 淡入淡出拼接,但超长文本(如整章有声书)的合成质量和流畅度仍有待验证。从 tts_engine.py 的实现来看,分块拼接处可能会出现轻微的语调断层。
情感控制的真实性:七种情感听起来很美好,但实测中部分情感的区分度可能有限——尤其是 monotone(平板)和 serious(严肃)之间、sad(悲伤)和 neutral(中性)之间的差异可能并不明显。情感控制依赖于模型的条件注入能力,而这类控制在非 GPT-SoVITS 等高质量语音模型面前仍有差距。
越南语以外的文本:虽然项目名称是 VietVoice-TTS,但文本处理器(text_processor.py)的黑名单字符集中包含了完整的英文字母和数字,理论上支持越南语+英语混合文本合成,但英语发音质量无法保证——模型本质上是为越南语训练的。
合规风险:README 中用了大量篇幅讲免责声明,特别强调了语音克隆的伦理问题:用户必须确保拥有参考音频的使用权限,不能克隆他人声音用于未经授权的用途。这一点在当前 AI 语音合成监管趋严的背景下值得重视。
从更宏观的视角看,VietVoice-TTS 填补了开源社区在东南亚语言 TTS 领域的一个空白。主流开源 TTS 项目(如 Coqui TTS、VITS、F5-TTS)通常以英语、中文、日语为主要支持语言,对越南语、泰语、印尼语等东南亚语言的支持非常有限。越南有近一亿人口,是东南亚重要的互联网市场,但越南语语音 AI 的开源资源相对匮乏。VietVoice-TTS 以 MIT 许可证完全开放,为越南本土开发者和企业提供了可用的技术底座。
项目目前的 Stars 数为 105,在 GitHub 上属于中小型项目,但其技术选型(ONNX Runtime、三阶段 Pipeline)和功能完整性(方言+情感+克隆)已经达到了可用的生产级别。对于面向越南市场的语音应用开发者,VietVoice-TTS 值得纳入技术选型的评估范围——尤其是考虑到它完全免费、无需调用商业 API 服务的优势。
# 克隆仓库
git clone https://github.com/nguyenvulebinh/VietVoice-TTS.git
cd VietVoice-TTS
# 安装(GPU 推荐)
pip install -e ".[gpu]"
# 快速测试
python -m vietvoicetts "Xin chào! Đây là bài thử nghiệm TTS tiếng Việt." test.wav
# 语音克隆
python -m vietvoicetts "Nội dung cần đọc." output.wav --reference-audio examples/sample.m4a --reference-text "Văn bản gốc của audio tham chiếu."
作者:Thai-Binh Nguyen (nguyenvulebinh@gmail.com)
许可证:MIT License
模型托管:Hugging Face (nguyenvulebinh/VietVoice-TTS)