用途
Parler-TTS 是一个轻量级文本转语音(TTS)模型的推理和训练库,可以生成高质量、自然流畅的语音,并且能够模仿特定说话人的风格(包括性别、音高、说话风格等)。它是对 Stability AI 的 Dan Lyth 和爱丁堡大学的 Simon King 所发表论文《Natural language guidance of high-fidelity text-to-speech with synthetic annotations》的复现。与其他 TTS 模型不同,Parler-TTS 是完全开源的发布,所有数据集、预处理、训练代码和权重均在宽松许可证下公开,便于社区在其基础上构建自己的 TTS 模型。本仓库包含 Parler-TTS 的推理和训练代码,并设计为与 Data-Speech 仓库配合进行数据集标注。
主要能力
- 支持通过简单的文本提示(prompt)控制生成语音的特征,如性别、语速、音高和混响等。
- 支持随机音色以及指定说话人。模型在 34 位以名字标识的说话人上训练,包括 Laura、Gary、Jon、Lea、Karen、Rick、Brenda、David、Eileen、Jordan、Mike、Yann、Joy、James、Eric、Lauren、Rose、Will、Jason、Aaron、Naomie、Alisa、Patrick、Jerry、Tina、Jenna、Bill、Tom、Carol、Barbara、Rebecca、Anna、Bruce、Emily。通过替换描述中的名字即可使用不同说话人的声音特征。
- 在文本描述中加入 "very clear audio" 可生成最高质量的音频,加入 "very noisy audio" 可生成高背景噪声的音频。
- 标点符号可用于控制生成语音的韵律,例如使用逗号在语音中添加短暂停顿。
- 2024 年 8 月 8 日发布两个新检查点:Parler-TTS Mini(880M 参数)和 Parler-TTS Large(2.3B 参数),二者均在 45k 小时的音频书数据上训练。代码针对更快的生成进行了优化,新增 SDPA 和 Flash Attention 2 兼容性,并支持编译模型。
- 推理速度优化:提供推理指南,涵盖 SDPA、torch.compile 和流式生成。
- 训练与微调:training 文件夹包含训练或微调自己的 Parler-TTS 模型所需的所有信息,包括架构介绍、起步步骤和训练指南。官方提供了复现 Parler-TTS Mini v1 训练配方的命令行方式,以及面向单说话人数据集的微调指南。
使用方式
Parler-TTS 依赖轻量,可通过一行命令安装。Apple Silicon 用户需要额外运行一条命令以使用 nightly PyTorch(2.4)构建来获得 bfloat16 支持。安装后,可以像说 "bonjour" 一样简单地使用 Parler-TTS。官方提供了交互式演示可直接试用。生成语音时,通过文本提示控制特征,例如指定说话人:"Jon's voice is monotone yet slightly fast in delivery, with a very close recording that almost has no background noise." 将 "Jon" 替换为上述名单中的任意名字即可利用不同说话人的特征。更多关于说话人表现与声音一致性的详细信息,请参阅推理指南。 训练方面,官方提供了训练指南和微调指南;要复现 Parler-TTS Mini v1 训练配方,可在完成安装步骤后使用指定的命令行。
适用场景
- 需要高质量、自然语音合成的应用,尤其是希望用简单文本提示控制说话人风格和语音特征的场景。
- 研究人员和开发者希望基于完全开源的 TTS 模型进行二次开发、训练或微调自己的 TTS 模型。
- 需要多说话人语音生成,并能通过名字选择特定说话人的场景。
- 数据集标注场景,可配合 Data-Speech 仓库使用。
限制
- 资料中未说明支持的平台范围、语言支持(训练提及探索多语言,但未确认已支持的语言)、具体的硬件要求、许可证具体名称、收费或价格信息。
- 模型权重和数据集的具体下载方式、大小等细节,资料中仅提及公开,未提供具体链接或说明。
- 尚未提供的功能:PEFT 兼容性(用于 LoRA 微调)、不带 description 列的训练、notebook 训练、多语言训练、单说话人微调、更多架构等,均处于待探索状态。
- 评测方面,计划增加更多评测指标,目前具体指标未提供。
致谢与贡献
该库基于众多开源项目构建,特别感谢 Dan Lyth 和 Simon King 的研究论文、🤗 datasets、🤗 accelerate、jiwer、wandb、🤗 transformers、Descript 的 DAC 编解码模型以及 Hugging Face 提供的计算资源。项目欢迎贡献,在数据集、训练和优化等方面仍有诸多改进空间。