在特定语言上微调Parler TTS
我们已将 Parler TTS mini v0.1 微调为法语版本:parler-français-tts-mini-v0.1。本项目展示了 Parler TTS 如何适应其他语言。
Parler TTS 是什么?
Parler-TTS 是一种轻量级的文本转语音(TTS)模型,能够以给定说话者(性别、语调、说话风格等)的风格生成高质量、自然的声音。它是对 Stability AI 和爱丁堡大学的 Dan Lyth 和 Simon King 提出的论文 用合成注释自然语言指导高保真文本转语音 中工作的再现。
Parler TTS 项目是 Hugging Face 发起的一个开源项目。您可以在此处了解更多信息。
一种创新方法
大多数当前的 TTS 模型需要两个输入:文本提示(要朗读的脚本)和语音提示(模型应模仿的音频样本)。这种方法虽然有效,但存在显著局限性:
- 缺乏精细控制:模型必须根据短语的上下文和提供的音频样本推断文本的发音方式。这使得指定所需的情感、语调或语速变得具有挑战性,甚至不可能。
- 有限的定制:模型本质上是根据对输入的解释来替我们决定如何说话。用户对生成语音的细微差别几乎没有控制权。
- 对音频样本的依赖:为每种所需的语音特征寻找或创建合适的音频样本可能既耗时又受限制。
- 不一致性:生成的语音在不同的文本或语境中可能无法始终与所需风格匹配。
Parler TTS 采用不同的方法。它不使用语音提示,而是使用两个文本提示:要朗读的文本和描述其朗读方式的文本。这种方法具有以下优点:
- 精确控制:用户可以明确指定情感、语调、语速和其他声音特征。
- 灵活性:同一文本可以轻松以多种风格呈现,而无需不同的音频样本。
- 可访问性:这种方法使得生成音频样本可能稀缺或不可用的风格的语音变得更容易。
这种方法的主要挑战在于准备训练数据和生成音频描述。该问题的解决方案在 Hugging Face 的 dataspeech 项目中实现。
Parler TTS 的现状
Parler TTS 是 Hugging Face 开发的一系列模型,包括大型版和迷你版,以及两代:v0.1 和 V1。我们的工作主要集中在微调 Parler TTS v0.1 mini,但如果有更多的计算资源,该方法也可以应用于其他模型。
我们的方法
基础模型的选择
我们选择对 Parler TTS v0.1 mini 进行微调,因为它体积较小,更易于针对新语言进行训练。所使用的方法适用于 FLAN-T5 支持的所有语言。
微调过程
数据集选择:
- 建议最低要求:100 小时音频(为获得最佳效果可达 1000 小时)
- 标准:词汇多样性、长度分布均匀(0.5-30 秒)、性别平衡、音频质量和准确的转录
数据集准备:
- 使用 Hugging Face 的 dataspeech(注意:您需要为目标语言更新音素分析器)。
- 在描述符中添加“french”(例如,“french man”/“french woman”)(注意:我们实际上注意到在推断时没有“French”这个词效果更好。我们将对它的影响进行更多测试,但目前,您可能希望在描述中不提及该语言)。
模型训练:
- 时长:在单个 NVIDIA H100 上不到 40 小时
- 完成 55k 步
- 20k 步时取得显著成果,35k 步时有显著改进
遇到的挑战和解决方案:
- 公共数据集中缺乏标点符号
- 语音质量不一致
- 缺乏性别注释(根据音高推断,但您可以在 Hub 上找到性别分类模型)
结果和局限性
- 性能:生成高质量的法语语音。生成文本的质量与数据集中语音的质量相似。
- 局限性
- 数据集中代表性不足的词语存在困难
- 数据集中女性语音不足(少于 5%)导致模型对女性音频表现不佳
- 失去英语发音能力(模型仅支持法语)
重要提示:我们观察到,当未指定说话者国籍(无“法国男士”)时,模型的性能明显更好。因此,我们建议在训练数据和推理提示中均不包含国籍。在不提及国籍的情况下重新训练模型,以评估对法语模型性能的影响,这将很有趣。
语音合成示例
以下是原始 Parler TTS 模型和我们微调的法语模型生成的音频样本对比表。
文本 | 原始模型 | 微调后的法语模型 |
---|---|---|
维克多·雨果 "人类的声音是所有乐器中最美妙的。" (The human voice is a musical instrument above all others.) |
||
儒勒·凡尔纳 "人类所能想象的一切,其他人都能将其实现。" (Whatever one man is capable of conceiving, other men will be able to achieve.) |
||
安托万·德·圣埃克苏佩里 "机器本身,无论多么完善,也只是一种工具。" (The machine itself, however perfect one might imagine it, is merely a tool.) |
||
伏尔泰 "进步带来的需求多于它所能满足的。" (Progress creates more needs than it satisfies.) |
结论与未来展望
尽管我们已经成功创建了一个功能性的法语版本,但进一步发展的主要限制在于可用开源数据集的质量和数量。
设想的下一步
- 整合多个开源数据集
- 测试一个从多种基础语言训练而来的多语言模型(未微调)
- 鼓励数据集标注(使用 dataspeech 方法)
- 创建其他语言版本
- 微调更大的模型
资源
- 源代码:https://github.com/huggingface/parler-tts
- 模型:https://huggingface.co/PHBJT/french_parler_tts_mini_v0.1
- 训练数据集:https://huggingface.co/datasets/PHBJT/cml-tts-20percent-subset
致谢
我们衷心感谢 Flexai 提供了训练此模型的云服务。我们还要感谢 Hugging Face 社区和 Parler TTS 团队 的基础工作,并特别感谢 ylacombe 的建议。