今天给大家分享一个近期比较火热的语音项目——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
brew install 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"
整合包获取
👇🏻👇🏻👇🏻下方下方下方👇🏻👇🏻👇🏻
关注公众号,发送【MaskGCT】关键字获取整合包。
如果发了关键词没回复你!记得看下复制的时候是不是把空格给粘贴进去了!
制作不易,如果本文对您有帮助,还请点个免费的赞或在看!感谢您的阅读!
版权归原作者 嘟嘟实验室 所有, 如有侵权,请联系我们删除。