本日给各人分享一个近期比较火热的语音项目——MaskGCT,这是一个完全非自回归的TTS模型,无需文本和语音监视之间的显式对齐信息,也无需音素级别的时长预测。
近期的大规模文本转语音(TTS)系统通常分为自回归和非自回归两类系统。自回归系统以隐式方式建模时长,但在妥当性方面存在一些缺陷,且缺乏时长可控性。非自回归系统在训练过程中需要文本和语音之间的显式对齐信息,并预测语言单元(如音素)的时长,这大概会影响其自然度。
MaskGCT采用了一种优雅的两阶段设计:首先将文本转换为语义标记,再将语义标记转换为声学标记。这种设计不仅简化了模型结构,还通过"掩码并预测"的学习方式提高了生成效率。
研究团队用了10万小时的真实语音数据做测试,结果表现在各项指标上都超过了现有的零样本TTS系统。从技术角度来看,这种设计既解决了效率题目,又包管了合成语音的质量,确实是个不错的思绪。
先来听下结果:
介绍
maskgct介绍
快速上手
上传参考音频,时长10-15S以内。
输入你想要生成的语音文本。
点击生成音频即可。
使用配置
WIN
N卡需12G显存
MAC
MAC Apple Silicon M1/M2/M3/M4 芯片
大约占用12G内存。
本地部署中遇到的题目
此部分记录部署中遇到的题目,使用整合包的话可忽略。
espeak题目
安装完项目依赖文件,执行时会遇到这个题目。
- RuntimeError: espeak not installed on your system
复制代码
这是由于项目中phonemizer缺少espeak库支持,需要安装espeak。
解决方法
Windows:
安装espeak-ng
espeak-ng 是espeak的一个分支,而原始的espeak项目已根本停止维护。
- espeak-ng增长了更多语言支持
- 改进了语音合成质量
- 增强了对音素的处置处罚本领
- 修复了原始espeak中的很多bug
- 参加了更多新特性和API改进
进入Github页面
https://github.com/espeak-ng/espeak-ng/releases
下载espeak-ng-X64.msi(如果系统是32位的,下载X86)
默认会安装在系统的C:\Program Files\eSpeak NG目录内。
需设置PHONEMIZER_ESPEAK_LIBRARY和ESPEAK_DATA_PATH两个环境变量。
PHONEMIZER_ESPEAK_LIBRARY需设置libespeak-ng.dll
比方:
- PHONEMIZER_ESPEAK_LIBRARY="C:\Program Files\eSpeak NG\libespeak-ng.dll"
复制代码
ESPEAK_DATA_PATH需设置espeak-ng-data文件夹的路径。
比方:
- ESPEAK_DATA_PATH="C:\Program Files\eSpeak NG\espeak-ng-data"
复制代码
以上两个环境变量设置好后,再次运行程序,可成功执行。
MAC:
Mac上雷同,通过Homebrew安装espeak-ng
设定环境变量,这里比Windows额外多设置一个环境变量,由于espeak-ng需要依赖pcaudiolib库。
Homebrew安装时也会额外安装pcaudiolib。
- PHONEMIZER_ESPEAK_LIBRARY="/espeak-ng/1.51/lib/libespeak-ng.dylib"
- ESPEAK_DATA_PATH="/espeak-ng/1.51/share/espeak-ng-data"
- DYLD_LIBRARY_PATH="/pcaudiolib/1.2/lib"
复制代码
整合包获取
|