Silero 文本转语音神经网络语音合成系统的新公开版本现已推出。 该项目的主要目标是创建一个现代化的、高质量的语音合成系统,该系统不亚于企业的商业解决方案,并且每个人都可以使用而无需使用昂贵的服务器设备。
这些模型是在 GNU AGPL 许可证下分发的,但开发该项目的公司没有透露训练模型的机制。 要运行,您可以使用 PyTorch 和支持 ONNX 格式的框架。 Silero 中的语音合成基于使用经过深度修改的现代神经网络算法和数字信号处理方法。
值得注意的是,现代语音合成神经网络解决方案的主要问题是它们通常只能在付费云解决方案中使用,而公共产品对硬件要求高、质量较低或不完整且可供使用产品。 例如,要在综合模式(即不用于模型训练)下顺利运行一种新流行的端到端综合架构 VITS,需要具有超过 16 GB VRAM 的显卡。
与当前趋势相反,Silero 解决方案甚至可以在具有 AVX1 指令的英特尔处理器的 86 x2 线程上成功运行。 在 4 个处理器线程上,合成允许您在 30 kHz 合成模式下每秒合成 60 到 8 秒,在 24 kHz 模式下合成 - 15-20 秒,在 48 kHz 模式下合成 - 大约 10 秒。
新 Silero 版本的主要特点:
- 模型大小减少了 2 倍,达到 50 MB;
- 模特知道如何暂停;
- 提供 4 种高质量俄语语音(以及无限数量的随机语音)。 发音示例;
- 这些模型的速度提高了 10 倍,例如,在 24 kHz 模式下,它们允许您在 20 个处理器线程上每秒合成长达 4 秒的音频;
- 一种语言的所有语音选项都打包到一个模型中;
- 模型可以接受整段文本作为输入,支持 SSML 标签;
- 合成同时以三种采样频率进行工作,可供选择 - 8、24 和 48 kHz;
- “孩子的问题”解决了:不稳定、漏词;
- 添加了标志来控制重音符号的自动放置和字母“е”的放置。
目前,对于合成的最新版本,公开了 4 个俄语语音,但在不久的将来,将发布下一个版本,并进行以下更改:
- 合成率将再提高2-4倍;
- 将更新独联体语言的综合模型:卡尔梅克语、鞑靼语、乌兹别克语和乌克兰语;
- 将添加欧洲语言的模型;
- 将添加印度语言的模型;
- 将添加英语模型。
Silero 合成中固有的一些系统故障:
- 与 RHVoice 等更传统的合成解决方案不同,Silero 合成没有 SAPI 集成、易于安装的客户端或 Windows 和 Android 集成;
- 虽然速度对于此类解决方案来说是前所未有的高,但可能不足以在弱处理器上进行高质量的即时合成;
- 自动重音解决方案不处理同形异义词(如 castle 和 castle 之类的单词),并且仍然会出错,但这将在未来的版本中得到纠正;
- 当前版本的综合不适用于没有 AVX2 指令的处理器(或者您需要专门更改 PyTorch 设置),因为模型内的模块之一是量化的;
- 当前版本的综合本质上只有一个 PyTorch 依赖项;所有填充都是“硬连线”在模型和 JIT 包内。 模型的源代码以及从其他语言的 PyTorch 客户端运行模型的代码未公开;
- 适用于移动平台的 Libtorch 比 ONNX 运行时体积大得多,但该模型的 ONNX 版本尚不可用。
来源: opennet.ru