Coqui TTS合成语音
工具介绍
Coqui TTS是一个用于语音转文本的高性能深度学习模型库。提供1100种语言的预训练模型,提供训练新模型和微调已有模型的工具,提供数据集分析工具。XTTS-v2版本支持16种语言: English (en), Spanish (es), French (fr), German (de), Italian (it), Portuguese (pt), Polish (pl), Turkish (tr), Russian (ru), Dutch (nl), Czech (cs), Arabic (ar), Chinese (zh-cn), Japanese (ja), Hungarian (hu) and Korean (ko)。
安装步骤
- conda安装参考 python环境搭建
- conda create -n coqui
创建虚拟环境 - conda activate coqui
进入虚拟环境 - conda install python=3.9.20
安装python>= 3.9,< 3.12 - pip install pypinyin
合成中文语音依赖库 - pip install numpy
依赖库 - pip install sounddevice
- pip install TTS
安装Coqui TTS - 如果TTS安装报错
Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools",可用使用它的分支项目安装pip install coqui-tts
体验功能
- 检查支持的语言:
- tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --list_language_idx
- 同意
Otherwise, I agree to the terms of the non-commercial CPML: https://coqui.ai/cpml条款, 输入Y - 输出支持的语言:
Available language ids: (Set --language_idx flag to one of these values to use the multi-lingual model.
['en', 'es', 'fr', 'de', 'it', 'pt', 'pl', 'tr', 'ru', 'nl', 'cs', 'ar', 'zh-cn', 'hu', 'ko', 'ja', 'hi']
- 检查支持的播报员:
- tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --list_speaker_idx
- 合成案例
- 合成中文语音
tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --text "国家粮食和物资储备局29日发布数据显示:截至目前,全国累计收购秋粮1.2亿吨,收购进度快于上年,收购工作进展顺利。" --speaker_idx "Ana Florence" --language_idx zh --use_cuda true
- 指定音色文件合成
tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --text "国家粮食和物资储备局29日发布数据显示:截至目前,全国累计收购秋粮1.2亿吨,收购进度快于上年,收购工作进展顺利。" --speaker_idx "Ana Florence" --language_idx zh --speaker_wav e:/source.mp3 --use_cuda true
- 合成英文语音
tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --text "TTS is a library for advanced Text-to-Speech generation.TTS models that are not released open-source. They are here to show the potential. Models prefixed with a dot (.Jofish .Abe and .Janice) are real human voices." --speaker_idx "Ana Florence" --language_idx en --use_cuda true
程序合成案例
# -*- coding: UTF-8 -*-
import torch
from TTS.api import TTS
import numpy as np
import sounddevice as sd
import soundfile as sf
from datetime import datetime
device = "cuda" if torch.cuda.is_available() else "cpu"
# 列出可用模型
print(TTS().list_models())
print("开始初始化模型:", datetime.now())
# tts_models/multilingual/multi-dataset/xtts_v2是模型标识
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device)
print("初始化模型完成:", datetime.now())
# 从文件中读取文本
with open('demo.txt','r',encoding='utf-8') as source_file:
content = source_file.read()
print("文本读取完成:", datetime.now())
# 参考语音文件,要模仿的音色
source_wav = 'source.mp3'
generated_voide = 'generated_voice.wav'
# 文本生成语音
wav = tts.tts(text=content, speaker_wav=source_wav, language="zh")
# 播放语音
rate = 22050
sd.play(wav, rate)
# 等待播放结果
sd.wait()
# 保存为文件
sf.write(generated_voide, wav, rate)
# 文本转为语音文件直接保存
tts.tts_to_file(text=content, speaker_wav=source_wav, language="zh", file_path="example.wav")
Coqui TTS合成语音的更多相关文章
- 合成语音 TTS
弄了一天的合成语音 感觉好难受,明明这么简单的事情非弄得要这么复杂.... 引入命名空间 或者 导入命名空间 代码: using System; using System.Collections.Ge ...
- 与众不同 windows phone (45) - 8.0 语音: TTS, 语音识别, 语音命令
[源码下载] 与众不同 windows phone (45) - 8.0 语音: TTS, 语音识别, 语音命令 作者:webabcd 介绍与众不同 windows phone 8.0 之 语音 TT ...
- Delphi - OLE类实现TTS方式语音朗读
Delphi调用OLE类实现TTS方式语音朗读 直接看代码: unit uMain; interface uses Windows, Messages, SysUtils, Variants, Cla ...
- Nature重磅:华裔科学家成功解码脑电波,AI直接从大脑中合成语音
[导读]Nature发表华裔作者论文:通过解码大脑活动提升语音的清晰度,使用深度学习方法直接从大脑信号中产生口语句子,达到150个单词,接近正常人水平. 大脑活动能够解码成语音了. 说话似乎是一项毫不 ...
- 教你如何通过CodeArts IDE插件调用API,高效合成语音
摘要:本实验基于华为云自研CodeArts IDE,指导用户通过使用华为云API,来实现一个文字合成语音的应用. 本文分享自华为云社区<通过CodeArts IDE插件调用API,高效合成语音! ...
- 调用ms自带的合成语音TTS
通过import of Component导入封装TTS引擎,然后选择: 最后调用: MyVoce := CoSpVoice.Create; MyVoce.Pause;//暂停 MyVoce.Stat ...
- WT588D播放合成语音时出现某些语句不能正常播报的情况,经过对比其他语句,看似有点不符合逻辑。
现象:某条语句本该播放完循环,实际确实不断循环第一个字,不能正常播放 原因:用语音合成工具合成该语句时,改了里面的默认音量,导致播放时出现液晶显示错误(感觉好像驱动不了的样子,我就是观察到这个现象才想 ...
- 使用讯飞SDK,实现文字在线合成语音
private SpeechSynthesizer mTts; private int isSpeaking = 0; mTts= SpeechSynthesizer.createSynthesize ...
- 微信iOS收款到账语音提醒开发总结
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/yYCaPMxHGT9LyRyAPewVWQ 作者:l ...
- iOS后台唤醒实战:微信收款到账语音提醒技术总结
1.前言 微信为了解决小商户老板们在频繁交易中不方便核对.确认到账的功能痛点,产品MM提出了新版本需要支持收款到账语音提醒功能.本文借此总结了iOS平台上的APP后台唤醒和语音合成.播放等一系列技术开 ...
随机推荐
- 手撸MQ消息队列——循环数组
队列是咱们开发中经常使用到的一种数据结构,它与栈的结构类似.然而栈是后进先出,而队列是先进先出,说的专业一点就是FIFO.在生活中到处都可以找到队列的,最常见的就是排队,吃饭排队,上地铁排队,其他就不 ...
- Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- 树状数组 java模板(纯代码)
public class TrieNums { int n; /*Nums start from 0*/ int[] storage; /*TrieNums index start from 1*/ ...
- C#/.NET/.NET Core技术前沿周刊 | 第 7 期(2024年9.23-9.30)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- Failed to connect to github.com port 443: Connection refused问题解决
解决办法: 1.找到github的ip地址:查找链接 2.找到本地的hosts文件.我的hosts文件路劲为:C:\Windows\System32\drivers\etc 3.在hosts文件最后添 ...
- 2021年9月国产数据库排行榜-墨天轮:达梦奋起直追紧逼OceanBase,openGauss反超PolarDB再升一位
2021年9月国产数据库排行榜已在墨天轮发布,本月参与排名的数据库总数达到了142个. 一.9月国产数据库流行度排行榜前15名 先来看看排行榜前五名,虽然PingCAP的TiDB分数本月下降31.82 ...
- 使用DBeaver连接高斯100数据库 gaussdb100
1. 自定义驱动 参考:DBeaver配置GaussDB 100指导手册-云社区-华为云 (huaweicloud.com) 搜索_华为云 (huaweicloud.com) DBeaver连接华为高 ...
- 区分::after和:before中的单冒号和双冒号的作用
单冒号:一般指的是伪类,如鼠标悬停状态设置样式:选择器:hover {设置样式} 双冒号一般指伪元素,给元素的前面/后面添加内容.内容数据按堆栈数据结构存储.
- kubernetes拉取私有镜像仓库的镜像
kubernetes拉取私有镜像仓库时需要使用镜像仓库的账号密码 方式: apiVersion: v1 kind: Pod metadata: name: private-reg spec: cont ...
- 云原生爱好者周刊:mist.io 开源多云管理平台
开源项目推荐 Mist Mist 是一个开源的多云管理平台,它提供了跨云和内部基础设施的可观测性,以及生命周期管理能力.同时还提供了一些功能更强大的商业组件. rga rga 是一个类似于 grep ...