当前位置: 首页 > article >正文

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

今天给大家分享一个近期比较火热的语音项目——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_LIBRARYESPEAK_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文件夹的路径。

例如:

PHONEMIZER_ESPEAK_LIBRARY="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】关键字获取整合包。

如果发了关键词没回复你!记得看下复制的时候是不是把空格给粘贴进去了!

制作不易,如果本文对您有帮助,还请点个免费的赞或在看!感谢您的阅读!


http://www.kler.cn/a/373072.html

相关文章:

  • AcWing 1303:斐波那契前 n 项和 ← 矩阵快速幂加速递推
  • 基于OSS搭建在线教育视频课程分享网站
  • lego-loam mapOptmization 源码注释(一)
  • 【JavaEE】【多线程】进阶知识
  • DGUS屏使用方法
  • Vue3 学习笔记(十三)Vue组件详解
  • mac|maven项目在idea中连接redis
  • 智能合约分享
  • CSS浮雕效果
  • C++: String容器的使用和实现
  • 【MySQL】日志
  • QT中使用图表之QChart概述
  • 排查公网NAT网关中高流量ECS实例
  • 想要分离人声,来试试看这几个方法
  • 使用PE工具箱进行系统安装
  • 企业新闻及产品宣传稿怎么写?有哪些商业财经类报纸杂志或媒体发布?
  • 串口扫盲TTL,TX/TR/GND
  • 统计数据集的TXT、XML及JSON标注文件中各类别/每个标签的数量
  • threejs开源实例-粒子地球
  • ElasticSearch 入门需要了解的概念
  • 【模型学习之路】手写+分析Transformer
  • 2024第二次随堂测验参考答案
  • 【C++】——高效构建与优化二叉搜索树
  • docker容器和宿主机端口映射
  • Linux 命令行学习:数据流控制、文本处理、文件管理与自动化脚本 (第二天)
  • Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景