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

新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star

Coqui TTS 项目介绍

Coqui 文本转语音(Text-to-Speech,TTS)是新一代基于深度学习的低资源零样本文本转语音模型,具有合成多种语言语音的能力。该模型能够利用共同学习技术,从各语言的训练资料集转换知识,来有效降低需要的训练资料量。

这个模型库现在已经在GitHub上开源,并有高达 20.5K+ 的star量。似乎和以前讲过的Mozilla 的 TTS 有着千丝万缕的联系,但是如今Mozilla TTS 已经停止更新,而 Coqui TTS 更新稳定,是目前少数几个更新比较稳定的开源语音库。

coqui官网:https://coqui.ai/

开源地址:https://github.com/coqui-ai/TTS/

在这里插入图片描述

Arm架构离线安装 coqui TTS

要在 ARM 架构的设备上离线安装 Coqui TTS,可以按照以下步骤进行操作:

  1. 1. 安装必要的依赖项:Python 3PipGit.

2.克隆CoquiTTS 的Git 仓库.

git clone https://github.com/coqui-ai/TTS

3.安装所需的Python包.

pip install -r requirements.txt

4.下载所需的语音模型和配置文件,并将其放在IIS/tts/mode1s 目录下.可以从 CoquiTTS 的GitHub 页面上下载这些文件.

5.运行测试脚本来验证安装是否成功.

python demo_cli .py

注意,由于 ARM 架构的设备通常性能较低,因此可能需要更长时间才能完成编译和训练等操作。此外,如果您希望在 ARM 架构的设备 上进行 TTS 实时推理,则可能需要使用较小的模型或调整一些模型参数以提高性能。

python 命令行安装及使用

1.安装

pip install tts

注意 TTS 是依赖 torch 的,由于 torch 庞大的体积,所以可能是要等很久。但是我这里由于环境问题,只能用特定版本的 torch,否则用不了 GPU。

2.安装完成后测试

tts --list_models

输出模型的信息,说明OK

Name format: type/language/dataset/model1: tts_models/multilingual/multi-dataset/your_tts2: tts_models/en/ek1/tacotron2....

查看模型信息

tts --model_info_by_name tts_models/tr/common-voice/glow-tts
> model type : tts_models
> language supported : tr
> dataset used : common-voice
> model name : glow-tts
> description : Turkish GlowTTS model using an unknown speaker from the Common-Voice dataset.
> default_vocoder : vocoder_models/tr/common-voice/hifigan

文本生成语音

tts --text "text for TTS" --out_path ./test_speech.wav
100%|████████████████████████████                                                                                                                                                    █████████████████████████████████                                                                                                                                                          █████████████████████████████████                                                                                                                                                          █████████████████████████████████                                                                                                                                                          ████████████████████| 113M/113M [                                                                                                                                                          05:58<00:00, 315kiB/s]
> Model's license - apache 2.0
> Check https://choosealicense.c                                                                                                                                                          om/licenses/apache-2.0/ for more                                                                                                                                                           info.
> Downloading model to /root/.lo                                                                                                                                                          cal/share/tts/vocoder_models--en-                                                                                                                                                          -ljspeech--hifigan_v2
100%|█| 3.80M/3.80M [00:01<00:00,
> Model's license - apache 2.0
......
Removing weight norm...
> Text: text for TTS
> Text splitted to sentences.
['text for TTS']
> Processing time: 0.78575992584                                                                                                                                                          22852
> Real-time factor: 0.4602105388                                                                                                                                                          021246
> Saving output to ./test_speech                                                                                                                                                          .wav

离线安装TTS

以下是在Linux系统上离线安装CoquiTTS的步骤:

1.下载CoquiTTS的代码.

git clone https://github.com/coqui-ai/TTS

2.安装依赖项.

sudo apt-get install python3-pip libsndfile1
pip3 install -r requirements.txt

3.下载所需的模型,例如英文的Tacotron2模型.

wget https://github.com/coqui-ai/TTS/releases/download/tts_models/tts_models_tacotron2_anon.tar.bz2
tar xvf tts_models_tacotron2_anon.tar.bz2

4.设置环境变量.

export PYTHONPATH=$PYTHONPATH: /path/to/TTS

5.启动TTS服务器.

python3 server.py --model_path /path/to/tacotron2 --config_path /path/to/tacotron2/config.json --port 8000

其中/path/to/tacotron2 为第3步中下载的Tacotron2模型的路径,/path/to/tacotron2/config. json 为Tacotron2模型的配置文件的路径。

6.连接到TTS服务器并进行语音合成.

import requests
import ison
r = requests.post('http://localhost:8000/api/tts', data=json.dumps({"text": "hello", "model_name": "ntacotron2"}
))
with open ("output .wav", "wb") as f:f.write(r.content)

这将生成一个名为 output .wav 的WAV文件,其中包含语音合成的结果。

有兴趣的有条件的同学可以下载体验一番,试一试!欢迎关注公粽号:Python兴趣圈,学习更多Python技能、开源项目推荐。

相关文章:

新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star

Coqui TTS 项目介绍 Coqui 文本转语音&#xff08;Text-to-Speech&#xff0c;TTS&#xff09;是新一代基于深度学习的低资源零样本文本转语音模型&#xff0c;具有合成多种语言语音的能力。该模型能够利用共同学习技术&#xff0c;从各语言的训练资料集转换知识&#xff0c;来…...

CSS 效果:多列文字,第一行对齐,flex方式元素被挤压

如图效果&#xff1a;2列&#xff0c;第一列只有一行&#xff0c;第二列多行。要求第一行对齐 实现&#xff1a;使用flex 如果不配置flex-shrink的话&#xff0c;第一列会被挤压 给第一列&#xff1a;备注配置压缩属性&#xff1a; flex-shrink&#xff1a;0。 <!DOCTYPE…...

优维低代码实践:片段

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…...

【计算机网络】第一章、计算机网络体系结构

1.1计算机网络的组成与分类 1.计算机网络的组成 从不同的角度来看内容从组成上看硬件、软件、协议从工作方式上岸边缘部分、核心部分从功能上看通信子网、资源子网 2.计算机网络的分类 角度内容分布范围广域网、城域网、局域网、个域网传输技术广播式网络、点对点网络拓扑结…...

vr火灾逃生安全科普软件开展消防突击教育安全有效

VR火灾逃生自救虚拟体验是一种利用虚拟现实技术来模拟火灾逃生自救场景的教育工具。以下是这个体验的几个优点&#xff1a;VR消防安全体验馆的出现&#xff0c;为城市的安全教育开辟了新的途径。这种创新的体验方式&#xff0c;能够让市民在模拟的火灾场景中学习并掌握消防安全…...

Kafka SASL认证授权(五)ACL源码解析

Kafka SASL认证授权(五)ACL源码解析。 官网地址:https://kafka.apache.org/ 一、ACL检查流程解析 一起看一下kafka server的启动与监听流程: Kafka -> KafkaServer -> SocketServer、KafkaRequestHandler 其中KafkaServer做相关的初始化,包括SocketServer 与 han…...

logback-spring.xml 中根据不同的业务表示,分类打印到不同的文件夹、时区动态设置

logback-spring.xml 中根据不同的业务表示&#xff0c;分类打印到不同的文件夹、时区动态设置 logback-spring.xml 完整配置 <?xml version"1.0" encoding"UTF-8"?> <configuration debug"false" scan"true" scanPeriod&…...

linux系统编程之一

1&#xff09;fcntl的使用方法 fcntl作用:可以用fcntl函数改变一个已打开的文件属性而不必重新打开文件&#xff1b; 堆排序是完全二叉树&#xff0c;但不是排序二叉树&#xff1b; 排序二叉树要求兄弟节点之间有大小关系&#xff0c;比如说左小右大&#xff1b; 堆排序仅要求…...

【LeetCode】《LeetCode 101》第十三章:链表

文章目录 13.1 数据结构介绍13.2 链表的基本操作206. 反转链表&#xff08;简单&#xff09;21. 合并两个有序链表&#xff08;简单&#xff09;24.两两交换链表中的节点&#xff08;中等&#xff09; 13.3 其它链表技巧160. 相交链表&#xff08;简单&#xff09;234. 回文链表…...

Electron webview 内网页 与 preload、 渲染进程、主进程的常规通信 以及企业级开发终极简化通信方式汇总

Electron 嵌入的页面中注入的是 preload.js 通过在标签中给 prelaod赋值&#xff0c;这里提到了 file://前缀&#xff0c;以及静态目录 static 怎么获取 实际代码&#xff0c;其中__static就是我们存放静态文件的地方&#xff0c;这个 static 是 electron 源代码根目录下的文件…...

AI人工训练师,提升外呼机器人的运营效果

外呼机器人是企业客服和营销的重要工具&#xff0c;外呼机器人可以通过语音识别和语音合成技术&#xff0c;自动拨打电话并进行客户服务和营销推广等工作。由于外呼机器人错误识别和理解偏差容易影响外呼效果&#xff0c;许多外呼机器人厂商选择通过AI人工训练师的技术手段来提…...

nginx正向代理、反向代理、负载均衡(重中之重)

nginx中有两种代理方式&#xff1a; 七层代理&#xff08;http协议&#xff09; 四层代理&#xff08;基于tcp或udp的流量转发&#xff09; 一、七层代理 原理&#xff1a;客户端请求代理服务器&#xff0c;由代理服务器转发客户端的http请求&#xff0c;转发到内部的服务器…...

MySQl_2

目录 函数 一.字符串函数 二.数值函数 三.日期函数 四.流程控制函数 约束 多表查询 多表关系 一.内连接 二.外连接 三.自连接 四.联合查询 五.子查询 标量子查询 列子查询 行子查询 表子查询 函数 一.字符串函数 二.数值函数 SELECT LPAD(FLOOR(RAND()*1000000),…...

使用Filter AND Interceptor校验等录(全网独一份,机不可失)

说明&#xff1a;基于spring boot进行的校验 1.熟悉如何使用jwt令牌。&#xff08;不会的看这里&#xff1a;带你领略JWTl令牌的魅力&#xff01;&#xff01;&#xff01;-CSDN博客&#xff09; Filter和Interceptor共用文件&#xff1a;&#xff08;可以仿照&#xff0c;根据…...

ubuntu20.04安装FTP服务

安装 sudo apt-get install vsftpd# 设置开机启动并启动ftp服务 systemctl enable vsftpd systemctl start vsftpd#查看其运行状态 systemctl status vsftpd #重启服务 systemctl restart vsftpdftp用户 sudo useradd -d /home/ftp/ftptest -m ftptest sudo passwd ftptest…...

MyBatisPlus(二十)防全表更新与删除

说明 针对 update 和 delete 语句&#xff0c;阻止恶意的全表更新和全表删除。 实现方式 配置BlockAttackInnerInterceptor拦截器 代码 package com.example.core.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.p…...

14.9 Socket 高效文件传输

网络上的文件传输功能也是很有必要实现一下的&#xff0c;网络传输文件的过程通常分为客户端和服务器端两部分。客户端可以选择上传或下载文件&#xff0c;将文件分块并逐块发送到服务器&#xff0c;或者从服务器分块地接收文件。服务器端接收来自客户端的请求&#xff0c;根据…...

第二节 threejs简单案例

1. 创建3D场景 // 创建3D场景对象Scene const scene new THREE.Scene();// 更改场景背景颜色 scene.background new THREE.Color(#F5F5F5);2. 创建透视投影相机 // 实例化一个透视投影相机对象 const camera new THREE.PerspectiveCamera();相机位置 // 根据需要设置相机…...

PowerShell批量修改DNS域名解析

批量添加DNS A记录 $dnsServerName"" # DNS服务器的服务器名称&#xff0c;如果是在DNS服务器本机执行则可留空 $containerName"test.com" # 域名的后缀也就是DNS Zone Name $mydns[WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_resourceRecord"…...

uniapp(uncloud) 使用生态开发接口详情3(新增产品分类,产品列表,新闻列表)

我的想法是有产品分类,产品列表,新闻咨询,新闻列表 项目中, uniCloud > database 目录下新建 sy_product_nav.schema.json // 代码如下 {"bsonType": "object","required": ["classname"],"permission": {"read&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...