新一代开源语音库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&…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
文件上传漏洞防御全攻略
要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...
