deep-voice-conversion
deep-voice-conversion 是一个基于 TensorFlow 的开源项目,旨在利用深度神经网络实现“语音风格迁移”。简单来说,它能将一个人的声音转换为特定目标人物(如知名演员凯特·温斯莱特)的音色,同时保留原有的说话内容和语调。
该项目核心解决了传统语音转换对“平行数据”的依赖难题。以往训练此类模型需要源说话人和目标说话人朗读完全相同句子的配对录音,数据采集成本极高。而 deep-voice-conversion 创新性地采用“多对一”架构,仅需目标说话人的少量录音以及来自不同人的通用语音数据即可训练,无需严格的句子对应关系。
其技术亮点在于双模块设计:首先通过 Net1 模块将输入语音识别为与说话人无关的音素序列,再由 Net2 模块结合目标说话人特征合成新语音。模型引入了 Tacotron 中的 CBHG 结构,有效捕捉序列数据特征,在无需文本标注的情况下实现了高质量的音色转换。
这款工具非常适合人工智能研究人员、语音技术开发者以及对声音合成感兴趣的技术爱好者使用。虽然项目提供了完整的训练代码和评估脚本,但由于涉及深度学习模型训练及特定环境配置(如 Python 2.7、TensorFlow 等),它更偏向于具备一定编程基础的极客用户,而非普通大众的直接应用产品。
使用场景
一家小型独立游戏工作室正在开发一款叙事驱动的角色扮演游戏,需要为数十个 NPC 生成具有独特声线的语音对白,但预算无法承担聘请多位专业配音演员的费用。
没有 deep-voice-conversion 时
- 成本高昂:必须按句付费聘请大量不同音色的配音演员,导致音频制作预算严重超支。
- 数据依赖强:若想模仿特定明星音色,传统方法需要源说话人和目标说话人朗读完全相同句子的“平行数据”,采集和对齐难度极大。
- 风格单一:受限于现有团队成员的嗓音,游戏内角色声音缺乏辨识度,难以营造丰富的听觉沉浸感。
- 迭代缓慢:每次修改剧本台词都需要重新协调录音档期,严重拖慢开发进度。
使用 deep-voice-conversion 后
- 大幅降本:仅需录制一名基础配音员的干音,即可通过模型将其转换为凯特·温斯莱特等多种目标音色,无需重复聘请多人。
- 突破数据限制:利用其非平行数据训练特性,只需收集目标音色的公开音频(如有声书片段)和少量通用语音数据,即可实现高质量的音色迁移。
- 音色定制灵活:轻松为每个 NPC 赋予独特的“声音面具”,甚至能模拟特定知名演员的声线风格,显著提升角色塑造力。
- 高效迭代:剧本变更后,只需重新输入文本或基础录音,分钟级即可生成新的目标音色语音,极大加速内容生产流程。
deep-voice-conversion 通过解耦内容与音色,让中小团队也能以极低门槛实现电影级的多角色语音合成。
运行环境要求
未说明
未说明

快速开始
基于非平行数据的语音转换
副标题:像凯特·温斯莱特一样说话
样本
https://soundcloud.com/andabi/sets/voice-style-transfer-to-kate-winslet-with-deep-neural-networks
简介
如果你能模仿一位著名明星的声音,或者像一位知名歌手那样歌唱,那该有多酷?本项目旨在将一个人的语音转换为目标特定的语音,也就是所谓的语音风格迁移。我们致力于将某人的声音转换成英国著名女演员凯特·温斯莱特的声音。为此,我们实现了一种深度神经网络,并使用了凯特·温斯莱特朗读的超过2小时有声书语句作为数据集。

模型架构
这是一个多对一的语音转换系统。这项工作的主要创新之处在于,我们仅需目标说话者的波形数据,而无需像“源音频、目标音频”、“音频、文本”或“音频、音素”这样的平行数据集即可生成目标说话者的语音。事实上,构建这些平行数据集通常需要耗费大量精力。而在本项目中,我们只需要目标说话者的一系列语音波形,以及少量匿名说话者的“音频、音素”对。

模型架构由两个模块组成:
- Net1(音素分类)在每个时间步将输入语音分类为对应的音素类别。
- 音素是与说话人无关的,而语音波形则具有说话人特异性。
- Net2(语音合成)根据音素序列合成目标说话者的语音。
我们采用了Tacotron中提到的CBHG模块(一维卷积银行 + 高速网络 + 双向GRU)。CBHG以其在处理序列数据时捕捉特征的能力而闻名。
Net1是一个分类器。
- 流程:音频 → 频谱图 → MFCC特征 → 音素分布。
- Net1在每个时间步将频谱图分类为60个英语音素之一。
- 对于每个时间步,输入是对数幅度频谱图,目标是音素分布。
- 目标函数为交叉熵损失。
- 使用了TIMIT数据集。
- 该数据集包含630位说话者的语音及其对应的音素标注,且所有说话者都朗读了相似的句子。
- 测试准确率超过70%。
Net2是一个合成器。
Net2内部嵌套了Net1子网络。
- 流程:net1(音频 → 频谱图 → MFCC特征 → 音素分布)→ 频谱图 → 音频。
- Net2负责合成目标说话者的语音。
- 输入和输出都是目标说话者的一系列语音。
- 由于Net1已在前一步训练完毕,因此这一步只需训练剩余部分。
- 损失函数为输入与目标之间的重构误差(L2距离)。
- 数据集:
- 目标1(匿名女性):Arctic数据集(公开)
- 目标2(凯特·温斯莱特):她朗读的超过2小时有声书语句(私有)
- 在从频谱图还原音频时,使用Griffin-Lim算法进行重建。
实现细节
要求
- Python 2.7
- TensorFlow ≥ 1.1
- NumPy ≥ 1.11.1
- Librosa == 0.5.1
设置
- 采样率:16,000 Hz
- 窗长:25 ms
- 步长:5 ms
流程
- 训练阶段:Net1和Net2需依次训练。
- 训练1(训练Net1):
- 运行
train1.py进行训练,运行eval1.py进行测试。
- 运行
- 训练2(训练Net2):
- 运行
train2.py进行训练,运行eval2.py进行测试。- 训练2必须在训练1完成后进行!
- 运行
- 训练1(训练Net1):
- 转换阶段:将数据前向传播至Net2。
- 运行
convert.py以获取结果样本。 - 在TensorBoard的音频标签页中聆听这些样本。
- 查看TensorBoard图像标签页中的音素分布可视化。
- 横轴表示音素类别,纵轴表示时间步。
- 横轴的第一个类别代表静音。
- 运行

小贴士(项目经验总结)
- 窗长和步长必须足够小,以便每个窗口只包含一个音素。
- 显然,Net1和Net2的采样率、窗长和步长必须保持一致。
- 在进行ISTFT(频谱图转波形)之前,对预测的频谱图施加1.0到2.0次幂的增强,有助于去除噪声。
- 在Net1中对softmax应用温度参数似乎作用不大。
- 我个人认为,Net1(音素分类)的准确性不必过于完美。
- 只要Net1的分类准确率达到一定水平,Net2就能接近最优效果。
参考文献
- "无平行数据训练下的多对一语音转换中的音素后验图",2016年IEEE多媒体与展览国际会议(ICME)
- "TACOTRON:迈向端到端语音合成",提交至2017年Interspeech会议
常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
GPT-SoVITS
GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。
ChatTTS
ChatTTS 是一款专为日常对话场景打造的生成式语音模型,特别适用于大语言模型助手等交互式应用。它主要解决了传统文本转语音(TTS)技术在对话中缺乏自然感、情感表达单一以及难以处理停顿、笑声等细微语气的问题,让机器生成的语音听起来更像真人在聊天。 这款工具非常适合开发者、研究人员以及希望为应用增添自然语音交互功能的设计师使用。普通用户也可以通过社区开发的衍生产品体验其能力。ChatTTS 的核心亮点在于其对对话任务的深度优化:它不仅支持中英文双语,还能精准控制韵律细节,自动生成自然的 laughter(笑声)、pauses(停顿)和 interjections(插入语),从而实现多说话人的互动对话效果。在韵律表现上,ChatTTS 超越了大多数开源 TTS 模型。目前开源版本基于 4 万小时数据预训练而成,虽主要用于学术研究与教育目的,但已展现出强大的潜力,并支持流式音频生成与零样本推理,为后续的多情绪控制等进阶功能奠定了基础。