【语音合成】TensorFlowTTS 中文文本转语音
【语音合成】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.yaml
和TensorFlowTTS/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 中文文本转语音相关推荐
- 开源(离线)中文文本转语音TTS(语音合成)工具整理
开源(离线)中文文本转语音TTS(语音合成)工具整理 目录 文章目录 目录 PaddleSpeech VoiceVox TensorFlowTTS ttskit OpenTTS eSpeak 微软 T ...
- 腾讯云---语音合成---一段文本合成语音
一.导包 <!--腾讯云 语音识别 语音合成--><dependency><groupId>com.tencentcloudapi</groupId>& ...
- 利用 edge的朗读功能,写一个python文本转语音的代码
下面是一个简单的 Python 代码,可以使用 Microsoft Edge 的朗读功能将文本转换为语音: import win32com.client as wincl speak = wincl. ...
- 语音合成TTS(Text-To-Speech,从文本到语音)
以上内容,来自饭团"AI产品经理大本营",点击这里可关注:http://fantuan.guokr.net/groups/219/ 作者:黄钊,5年AI实战经验(图灵机器人),8年 ...
- 将端到端文本转语音速度提高38倍,全新语音合成系统FastSpeech 梅尔谱的生成速度提升270倍,微软和浙大联合推出
将端到端文本转语音速度提高38倍,全新语音合成系统FastSpeech 梅尔谱的生成速度提升270倍,微软和浙大联合推出 目前,基于神经网络的端到端文本到语音合成技术发展迅速,但仍面临不少问题--合成 ...
- 开源(离线)中文语音识别ASR(语音转文本)工具整理
开源(离线)中文语音识别ASR(语音转文本)工具整理 目录 文章目录 目录 @[toc] open ai 的开源工具:whisper whisper介绍 引用 ASRT语音识别项目 ASRT介绍 引用 ...
- 真实免费易用!推荐一款AI文本转语音工具:一点红语音合成
一 当你寻找工具时会发生什么? 网上充斥着大量的文本转语音工具,但尝试下来大概分为三大类: 第一类,微软官方文本转语音工具Azure,但当你想使用的时候却会发现,目前注册需要提供支持VISA的信用卡. ...
- TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称
微软TTS语音引擎(中文)5.1 "TTS"是"文本到语音(Text To Sound)"的简称,TTS语音引擎为我们提供清晰和标准的美语发音.TTS5.1目前 ...
- cordova语音通话_如何在Cordova中将文本转换为语音(语音合成)
本文概述 语音合成是计算机生成的人类语音模拟.它用于将书面信息转换为更方便的听觉信息, 尤其是对于移动应用程序(如启用语音的电子邮件和统一消息传递).作为使用Javascript创建混合应用程序的开发 ...
最新文章
- BizTalk2006的帮助文件又更新了,对于还没有安装BizTalk环境又想学习的,不妨看看帮助先...
- Centos7环境下etcd集群的搭建
- word break
- 【正一专栏】内马尔请不要把球迷的爱当做你交易的筹码
- 【小白学PyTorch】1.搭建一个超简单的网络
- Eureka-eureka原理分析
- php中is null,php中empty(), is_null(), isset()函数区别
- android去掉titlebar
- 模型增强 | 利用 NLG 增强 QA 任务性能
- Java Script 基本知识点
- 链栈的基本操作和实现
- c语言程序设计辅导资料pdf,第一章 C语言程序设计辅导资料(修订版).pdf
- supervisor 使用文档
- click 简单易用的Python命令行
- 建设内链要注意的事项
- java sql date 时分秒_java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间...
- 【学习】关于网站中图片的各类交互
- 发布订阅模式,在工作中它的能量超乎你的想象
- oracle树结构统计,Oracle树形统计--子节点汇总到父节点
- video-play使用,vue2
热门文章
- 微信公众号教程-注册发布文章
- テクニカルアーティストに必要な資料集めようぜ!
- 用tagcloud插件制作的超炫酷“云标签”(3D旋转和平铺),附前后台代码及标签配置页面
- 快被95后新人整疯:啥都不会,情商低,乱怼人!
- 数据分析 - 跨境电商爬虫成长记 之 第三篇:完整的爬虫工作环节有哪些
- 请问怎么用python画一个轮廓图,,例如中国地图这种,注意是轮廓图,求大佬指点
- L3-015 球队“食物链” (30 分)
- 苹果蓝牙耳机平替哪个好用?苹果蓝牙耳机平替推荐
- Python学习摘录(自用)
- 企业上云,打造数字经济新动能