MaskGCT,零样本语音克隆,TTS语音合成,多语言支持(WIN/MAC) ...

金歌  金牌会员 | 2024-12-3 05:16:08 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 855|帖子 855|积分 2565

本日给各人分享一个近期比较火热的语音项目——MaskGCT,这是一个完全非自回归的TTS模型,无需文本和语音监视之间的显式对齐信息,也无需音素级别的时长预测。




近期的大规模文本转语音(TTS)系统通常分为自回归和非自回归两类系统。自回归系统以隐式方式建模时长,但在妥当性方面存在一些缺陷,且缺乏时长可控性。非自回归系统在训练过程中需要文本和语音之间的显式对齐信息,并预测语言单元(如音素)的时长,这大概会影响其自然度。




MaskGCT采用了一种优雅的两阶段设计:首先将文本转换为语义标记,再将语义标记转换为声学标记。这种设计不仅简化了模型结构,还通过"掩码并预测"的学习方式提高了生成效率。
研究团队用了10万小时的真实语音数据做测试,结果表现在各项指标上都超过了现有的零样本TTS系统。从技术角度来看,这种设计既解决了效率题目,又包管了合成语音的质量,确实是个不错的思绪。


先来听下结果:

     介绍
  
     maskgct介绍
  
快速上手




上传参考音频,时长10-15S以内。




输入你想要生成的语音文本。

点击生成音频即可。




使用配置

WIN

N卡需12G显存

MAC

MAC Apple Silicon M1/M2/M3/M4 芯片
大约占用12G内存。

本地部署中遇到的题目

此部分记录部署中遇到的题目,使用整合包的话可忽略。
espeak题目


安装完项目依赖文件,执行时会遇到这个题目。

  1. 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




比方:

  1. PHONEMIZER_ESPEAK_LIBRARY="C:\Program Files\eSpeak NG\libespeak-ng.dll"
复制代码

ESPEAK_DATA_PATH需设置espeak-ng-data文件夹的路径。




比方:

  1. ESPEAK_DATA_PATH="C:\Program Files\eSpeak NG\espeak-ng-data"
复制代码

以上两个环境变量设置好后,再次运行程序,可成功执行。


MAC:

Mac上雷同,通过Homebrew安装espeak-ng

  1. brew install espeak-ng
复制代码

设定环境变量,这里比Windows额外多设置一个环境变量,由于espeak-ng需要依赖pcaudiolib库。

Homebrew安装时也会额外安装pcaudiolib。

  1. PHONEMIZER_ESPEAK_LIBRARY="/espeak-ng/1.51/lib/libespeak-ng.dylib"
  2. ESPEAK_DATA_PATH="/espeak-ng/1.51/share/espeak-ng-data"
  3. DYLD_LIBRARY_PATH="/pcaudiolib/1.2/lib"
复制代码



整合包获取


回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金歌

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表