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后台唤醒和语音合成.播放等一系列技术开 ...
随机推荐
- JavaScript – Rest Parameters & Spread Operator
介绍 Rest 和 Spread 的共同点是语法都是 ... (点点点). 但它们的概念是相反的. 看例子体会: Rest Parameters 参考: 阮一峰 – rest 参数 rest para ...
- SQL Server 中的 NUL 设备/NIL设备
SQL Server 中的 NUL 设备/NIL设备 在 SQL Server 中,有一个特殊的设备叫做 NUL(注意,不是 NULL),它类似于文件系统中的"黑洞".NUL 设备 ...
- 理解IO多路复用
I/O 多路复用是什么? I/O 多路复用是用户程序通过复用一个线程来服务多个 I/O 事件的机制,我们也可以将他说成是一个线程服务多个文件描述符 fd,而 I/O 多路复用是在操作系统层面实现提供的 ...
- Windows Terminal3.1
其实就是为了把之前写的东西集成起来所以搞了一个终端. 下载 集成功能 Wordle ABCG RandTool cmd 便捷功能 FastFile (快速打开目标文件夹) show 文件说明 Term ...
- 关于 CLOI 头像&博客主题征集
是这样的,开了一个新号准备做一个官号,当作一个公告栏(?),大家访问博客或者看消息也方便 现在苦于脑袋比较笨,想不出头像来,有意者可以帮设计下 此外,还(选择性地)需要一个博客主题,主要是简洁,打开会 ...
- 2022年6月中国数据库排行榜:TiDB卷土重来摘桂冠,达梦蛰伏五月夺探花
排行榜风云又起,各产品墨坛论剑.2022年6月的 中国数据库流行度排行榜 再掀风云,6月排行榜共有231个数据库参与排名,两名新成员的加入,注入了新活力.本月排行榜用一句话可以概括为:TiDB卷土重来 ...
- Android复习(六)核心组件—>Activity 任何和返回栈、进程和应用生命周期、Parcelable和Bundle
了解任务和返回堆栈 任务是用户在执行某项工作时与之互动的一系列 Activity 的集合.这些 Activity 按照每个 Activity 打开的顺序排列在一个返回堆栈中.例如,电子邮件应用可能有一 ...
- Android复习(二)应用资源——>字体
字体资源定义了可在应用中使用的自定义字体.字体可以是单独的字体文件或字体文件的集合,称为字体系列,并在 XML 中定义. 另请参阅如何定义 XML 中的字体,或改用可下载字体. 捆绑式字体 您可以将字 ...
- find命令,查找文件
find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限.大小.时间.inode 号等来搜索文件. [root@localhost ~]#find 搜索路径 [选项] 搜 ...
- rabbitmq 新下载链接🔗
Linux下安装RabbitMQ需要依赖socat和erlang插件环境 1 插件下载 1.1 RabbitMQ下载 下载地址一:https://www.rabbitmq.com/download. ...