新一代开源语音库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. 安装必要的依赖项:
Python 3
、Pip
和Git
.
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 文本转语音(Text-to-Speech,TTS)是新一代基于深度学习的低资源零样本文本转语音模型,具有合成多种语言语音的能力。该模型能够利用共同学习技术,从各语言的训练资料集转换知识,来…...

CSS 效果:多列文字,第一行对齐,flex方式元素被挤压
如图效果:2列,第一列只有一行,第二列多行。要求第一行对齐 实现:使用flex 如果不配置flex-shrink的话,第一列会被挤压 给第一列:备注配置压缩属性: flex-shrink:0。 <!DOCTYPE…...

优维低代码实践:片段
优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…...
【计算机网络】第一章、计算机网络体系结构
1.1计算机网络的组成与分类 1.计算机网络的组成 从不同的角度来看内容从组成上看硬件、软件、协议从工作方式上岸边缘部分、核心部分从功能上看通信子网、资源子网 2.计算机网络的分类 角度内容分布范围广域网、城域网、局域网、个域网传输技术广播式网络、点对点网络拓扑结…...
vr火灾逃生安全科普软件开展消防突击教育安全有效
VR火灾逃生自救虚拟体验是一种利用虚拟现实技术来模拟火灾逃生自救场景的教育工具。以下是这个体验的几个优点:VR消防安全体验馆的出现,为城市的安全教育开辟了新的途径。这种创新的体验方式,能够让市民在模拟的火灾场景中学习并掌握消防安全…...

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 中根据不同的业务表示,分类打印到不同的文件夹、时区动态设置 logback-spring.xml 完整配置 <?xml version"1.0" encoding"UTF-8"?> <configuration debug"false" scan"true" scanPeriod&…...
linux系统编程之一
1)fcntl的使用方法 fcntl作用:可以用fcntl函数改变一个已打开的文件属性而不必重新打开文件; 堆排序是完全二叉树,但不是排序二叉树; 排序二叉树要求兄弟节点之间有大小关系,比如说左小右大; 堆排序仅要求…...

【LeetCode】《LeetCode 101》第十三章:链表
文章目录 13.1 数据结构介绍13.2 链表的基本操作206. 反转链表(简单)21. 合并两个有序链表(简单)24.两两交换链表中的节点(中等) 13.3 其它链表技巧160. 相交链表(简单)234. 回文链表…...

Electron webview 内网页 与 preload、 渲染进程、主进程的常规通信 以及企业级开发终极简化通信方式汇总
Electron 嵌入的页面中注入的是 preload.js 通过在标签中给 prelaod赋值,这里提到了 file://前缀,以及静态目录 static 怎么获取 实际代码,其中__static就是我们存放静态文件的地方,这个 static 是 electron 源代码根目录下的文件…...
AI人工训练师,提升外呼机器人的运营效果
外呼机器人是企业客服和营销的重要工具,外呼机器人可以通过语音识别和语音合成技术,自动拨打电话并进行客户服务和营销推广等工作。由于外呼机器人错误识别和理解偏差容易影响外呼效果,许多外呼机器人厂商选择通过AI人工训练师的技术手段来提…...

nginx正向代理、反向代理、负载均衡(重中之重)
nginx中有两种代理方式: 七层代理(http协议) 四层代理(基于tcp或udp的流量转发) 一、七层代理 原理:客户端请求代理服务器,由代理服务器转发客户端的http请求,转发到内部的服务器…...

MySQl_2
目录 函数 一.字符串函数 二.数值函数 三.日期函数 四.流程控制函数 约束 多表查询 多表关系 一.内连接 二.外连接 三.自连接 四.联合查询 五.子查询 标量子查询 列子查询 行子查询 表子查询 函数 一.字符串函数 二.数值函数 SELECT LPAD(FLOOR(RAND()*1000000),…...
使用Filter AND Interceptor校验等录(全网独一份,机不可失)
说明:基于spring boot进行的校验 1.熟悉如何使用jwt令牌。(不会的看这里:带你领略JWTl令牌的魅力!!!-CSDN博客) Filter和Interceptor共用文件:(可以仿照,根据…...

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 语句,阻止恶意的全表更新和全表删除。 实现方式 配置BlockAttackInnerInterceptor拦截器 代码 package com.example.core.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.p…...

14.9 Socket 高效文件传输
网络上的文件传输功能也是很有必要实现一下的,网络传输文件的过程通常分为客户端和服务器端两部分。客户端可以选择上传或下载文件,将文件分块并逐块发送到服务器,或者从服务器分块地接收文件。服务器端接收来自客户端的请求,根据…...
第二节 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服务器的服务器名称,如果是在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&…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...