【语音合成】TensorFlowTTS 中文文本转语音

文章目录

  • 【语音合成】TensorFlowTTS 中文文本转语音
    • 简介
    • 环境配置
      • 1、windows端
      • 2、ubuntu端(可行)
    • 程序运行
      • 1、加载数据
      • 2、加载模型
      • 3、可能存在的问题
    • 测试效果

简介

本项目是一个基于 TensorFlowTTS 的中文语音合成 Demo TensorFlowTTS是一个离线、开源的语音合成(text to speech)模型。它支持多种最前沿的模型选择,具备SOTA级效果。

源项目路径地址为:https://gitee.com/sherlocking_755/tts-demo

项目的参考资料为:一篇文章教你语音合成入门,训练一个中文语音tts

环境配置

1、windows端

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple配置TensorFlowTTS环境

在windows中运行tensorFlowTTS项目会报错:

Traceback (most recent call last):File "D:\programSoftware\python\anaconda\envs\temp_env\lib\tempfile.py", line 258, in _mkstemp_innerfd = _os.open(file, flags, 0o600)
PermissionError: [Errno 13] Permission denied: 'D:\\programSoftware\\python\\anaconda\\envs\\temp_env\\lib\\site-packages\\librosa\\util\\__pycache__\\tmpyrv1bpb4'During handling of the above exception, another exception occurred:

网上说如下修改,但是我改了没效果;

f = tempfile.NamedTemporaryFile(mode='w+', delete=False)

解决方法

以管理员的身份打开pycharm,执行tts_demo.py时就有权限访问librosa了,参考https://www.igiftidea.com/article/11061450093.html

2、ubuntu端(可行)

这里是在WSL2 + docker Desktop下做的环境配置,即在docker云服务器上拉取Anaconda镜像,并实例化anaconda容器

docker run -it --name="anaconda" -p 8888:8888 continuumio/anaconda3 /bin/bash

接着就是在该容器下配置TensorFlowTTS环境了,直接在linux系统中配置应该也大差不差。

直接pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple即可。

在配置时可能存在以下问题,如果遇到了可以参考下面链接:

  • 安装 llvmlite 报错:参考https://blog.csdn.net/qq_41977618/article/details/119572879,https://www.cnblogs.com/kele-dad/p/12955804.html
  • 安装 pyaudio 报错:参考https://www.csdn.net/tags/MtjaYgysNjcxODQtYmxvZwO0O0OO0O0O.html

程序运行

1、加载数据

如果实在windows端,则将解压好后的nltk_data放到C:\Users\用户名\AppData\Roaming

如果是在ubuntu中,则将解压好后的nltk_data放到/root即可

2、加载模型

先将tacotron2.part1.rar几个模型文件解压到项目根目录下,加载tacotron2模型

MelGAN模型文件已经在项目根目录中

接着分别修改tacotron2和MelGAN模型配置文件:tacotron2.baker.v1.yamlTensorFlowTTS/examples/multiband_melgan/conf/multiband_melgan.baker.v1.yaml,这里使用默认配置即可

直接在项目路径下运行python tts-demo.py即可。

3、可能存在的问题

在运行项目时,可能遇到如下问题,可以参考下面链接:

  • 运行项目时,numba报错,参考https://blog.csdn.net/qq_41590635/article/details/112499219

    TypeError: create_target_machine() got an unexpected keyword argument 'jitdebug'
    

    numba建议不要用tsinghua源,下载的包不对,直接用原来的pip源下即可

  • 运行时提示报错,nltk_data/root文件夹下没找到,将项目中的nltk_data复制到/root下即可:

    Resource cmudict not found.Please use the NLTK Downloader to obtain the resource:>>> import nltk>>> nltk.download('cmudict')For more information see: https://www.nltk.org/data.htmlAttempted to load corpora/cmudictSearched in:- '/root/nltk_data'- '/opt/conda/nltk_data'- '/opt/conda/share/nltk_data'- '/opt/conda/lib/nltk_data'- '/usr/share/nltk_data'- '/usr/local/share/nltk_data'- '/usr/lib/nltk_data'- '/usr/local/lib/nltk_data'
    **********************************************************************
    

测试效果

这里用了下面这4条中文句子进行测试

"枯藤老树昏鸦,小桥流水人家,古道西风瘦马。夕阳西下,断肠人在天涯",
"这是一个开源的端到端中文语音合成系统",
"哈登主动降薪2年1450万美金续留76人队",
"吴啊萍还没找到,玄奘寺传真和尚却让我惊呆了"

语音合成平均耗时

phoneme seq: sil k u1 #0 t eng2 #0 l ao3 #0 sh u4 #0 h uen1 #0 ^ ia1 #0 x iao3 #0 q iao2 #0 l iou2 #0 sh uei3 #0 r en2 #0 j ia1 #0 g u3 #0 d ao4 #0 x i1 #0 f eng1 #0 sh ou4 #0 m a3 #0 x i1 #0 ^ iang2 #0 x i1 #0 x ia4 #0 d uan4 #0 ch ang2 #0 r en2 #0 z ai4 #0 t ian1 #0 ^ ia2 sil
index = 0, cost = 2.2670693397521973
phoneme seq: sil zh e4 #0 sh iii4 #0 ^ i2 #0 g e4 #0 k ai1 #0 ^ van2 #0 d e5 #0 d uan1 #0 d ao4 #0 d uan1 #0 zh ong1 #0 ^ uen2 #0 ^ v3 #0 ^ in1 #0 h e2 #0 ch eng2 #0 x i4 #0 t ong3 sil
index = 1, cost = 1.7127163410186768
phoneme seq: sil h a1 #0 d eng1 #0 zh u3 #0 d ong4 #0 j iang4 #0 x in1 #0 n ian2 #0 ^ uan4 #0 m ei3 #0 j in1 #0 x v4 #0 l iou2 #0 r en2 #0 d uei4 sil
index = 2, cost = 1.4303524494171143
phoneme seq: sil ^ u2 #0 ^ a5 #0 p ing2 #0 h ai2 #0 m ei2 #0 zh ao3 #0 d ao4 #0 x van2 #0 z ang4 #0 s ii4 #0 ch uan2 #0 zh en1 #0 h e2 #0 sh ang4 #0 q ve4 #0 r ang4 #0 ^ uo3 #0 j ing1 #0 d ai1 #0 l e5 sil
index = 3, cost = 1.7882094383239746
mean cost = 1.7995868921279907

存在问题:无法识别数字,只能识别中文

【语音合成】TensorFlowTTS 中文文本转语音相关推荐

  1. 开源(离线)中文文本转语音TTS(语音合成)工具整理

    开源(离线)中文文本转语音TTS(语音合成)工具整理 目录 文章目录 目录 PaddleSpeech VoiceVox TensorFlowTTS ttskit OpenTTS eSpeak 微软 T ...

  2. 腾讯云---语音合成---一段文本合成语音

    一.导包 <!--腾讯云 语音识别 语音合成--><dependency><groupId>com.tencentcloudapi</groupId>& ...

  3. 利用 edge的朗读功能,写一个python文本转语音的代码

    下面是一个简单的 Python 代码,可以使用 Microsoft Edge 的朗读功能将文本转换为语音: import win32com.client as wincl speak = wincl. ...

  4. 语音合成TTS(Text-To-Speech,从文本到语音)

    以上内容,来自饭团"AI产品经理大本营",点击这里可关注:http://fantuan.guokr.net/groups/219/ 作者:黄钊,5年AI实战经验(图灵机器人),8年 ...

  5. 将端到端文本转语音速度提高38倍,全新语音合成系统FastSpeech 梅尔谱的生成速度提升270倍,微软和浙大联合推出

    将端到端文本转语音速度提高38倍,全新语音合成系统FastSpeech 梅尔谱的生成速度提升270倍,微软和浙大联合推出 目前,基于神经网络的端到端文本到语音合成技术发展迅速,但仍面临不少问题--合成 ...

  6. 开源(离线)中文语音识别ASR(语音转文本)工具整理

    开源(离线)中文语音识别ASR(语音转文本)工具整理 目录 文章目录 目录 @[toc] open ai 的开源工具:whisper whisper介绍 引用 ASRT语音识别项目 ASRT介绍 引用 ...

  7. 真实免费易用!推荐一款AI文本转语音工具:一点红语音合成

    一 当你寻找工具时会发生什么? 网上充斥着大量的文本转语音工具,但尝试下来大概分为三大类: 第一类,微软官方文本转语音工具Azure,但当你想使用的时候却会发现,目前注册需要提供支持VISA的信用卡. ...

  8. TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称

    微软TTS语音引擎(中文)5.1 "TTS"是"文本到语音(Text To Sound)"的简称,TTS语音引擎为我们提供清晰和标准的美语发音.TTS5.1目前 ...

  9. cordova语音通话_如何在Cordova中将文本转换为语音(语音合成)

    本文概述 语音合成是计算机生成的人类语音模拟.它用于将书面信息转换为更方便的听觉信息, 尤其是对于移动应用程序(如启用语音的电子邮件和统一消息传递).作为使用Javascript创建混合应用程序的开发 ...

最新文章

  1. BizTalk2006的帮助文件又更新了,对于还没有安装BizTalk环境又想学习的,不妨看看帮助先...
  2. Centos7环境下etcd集群的搭建
  3. word break
  4. 【正一专栏】内马尔请不要把球迷的爱当做你交易的筹码
  5. 【小白学PyTorch】1.搭建一个超简单的网络
  6. Eureka-eureka原理分析
  7. php中is null,php中empty(), is_null(), isset()函数区别
  8. android去掉titlebar
  9. 模型增强 | 利用 NLG 增强 QA 任务性能
  10. Java Script 基本知识点
  11. 链栈的基本操作和实现
  12. c语言程序设计辅导资料pdf,第一章 C语言程序设计辅导资料(修订版).pdf
  13. supervisor 使用文档
  14. click 简单易用的Python命令行
  15. 建设内链要注意的事项
  16. java sql date 时分秒_java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间...
  17. 【学习】关于网站中图片的各类交互
  18. 发布订阅模式,在工作中它的能量超乎你的想象
  19. oracle树结构统计,Oracle树形统计--子节点汇总到父节点
  20. video-play使用,vue2

热门文章

  1. 微信公众号教程-注册发布文章
  2. テクニカルアーティストに必要な資料集めようぜ!
  3. 用tagcloud插件制作的超炫酷“云标签”(3D旋转和平铺),附前后台代码及标签配置页面
  4. 快被95后新人整疯:啥都不会,情商低,乱怼人!
  5. 数据分析 - 跨境电商爬虫成长记 之 第三篇:完整的爬虫工作环节有哪些
  6. 请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图,求大佬指点
  7. L3-015 球队“食物链” (30 分)
  8. 苹果蓝牙耳机平替哪个好用?苹果蓝牙耳机平替推荐
  9. Python学习摘录(自用)
  10. 企业上云,打造数字经济新动能