Edge-TTS:微软推出的,免费、开源、支持多种中文语音语色的AI工具

项目地址:rany2/edge-tts: Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key (github.com)

Edge-TTS是由微软推出的文本转语音Python库,通过微软Azure Cognitive Services转化文本为自然语音。适合需要语音功能的开发者,GitHub上超3000星。作为国内付费TTS服务的替代品,Edge-TTS支持40多种语言和300种声音,提供优质的语音输出,满足不同开发需求。

 

1.安装部署

首先,你需要通过Python包管理工具pip来安装Edge-TTS库。只需在命令行中输入以下命令(没有python环境的自行配置一下):

pip install edge-tts

如果只想使用edge-tts和edge-playback命令,最好使用 pipx:

pipx install edge-tts

安装完成后,你就可以开始使用Edge-TTS来将文本转换为语音了。Edge-TTS支持多种语言和不同的声音选项,你可以根据需要选择合适的声音。

2.文本转语音

我们先来个hello world,只需要一行代码!

edge-tts --text "hello world" --write-media hello.mp3

执行完毕之后,会在你执行的目录下,生成hello.mp3文件

如果你想立即播放带有字幕的内容,可以使用以下edge-playback命令:

edge-playback --text "Hello, world!"

注意以上需要安装mpv命令行播放器。所有命令也都edge-tts可以工作。edge-playback

3.支持的语言和音色

edge-tts支持英语、汉语、日语、韩语、法语等40多种语言,共300多种可选声音,执行以下命令查询:

edge-tts --list-voices

如下图所示:

 

查询结果中的Gender为声音的性别,Name为声音的名字,如zh-CN-YunjianNeural,其中zh表示语言,CN表示国家或地区,可以根据需求选择不同的声音。

使用--voice参数来指定声音名称,下面我使用zh-CN-YunyangNeural声音来合成一个中文音频。

edge-tts --voice zh-CN-YunyangNeural --text "大家好,欢迎关注语音之家,语音之家是一个助理AI语音开发者的社区。" --write-media hello_in_cn.mp3

4.调整语速、音量和音调

可以对生成的语音进行细微修改。

$ edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3 --write-subtitles hello_with_rate_halved.vtt
$ edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3 --write-subtitles hello_with_volume_halved.vtt
$ edge-tts --pitch=-50Hz --text "Hello, world!" --write-media hello_with_pitch_halved.mp3 --write-subtitles hello_with_pitch_halved.vtt

此外,必须使用 --rate=-50% 而不是 --rate -50%(注意等号的缺失),否则 -50% 将被解释为另一个参数。

5.使用代码转换

上面都是用命令转换,我们也可以写代码调用,开发http接口来提供语音合成服务。

以下是一个代码示例,将代码保存到一个文件中,如tts.py。

#!/usr/bin/env python3"""
Basic example of edge_tts usage.
"""import asyncioimport edge_ttsTEXT = "大家好,欢迎关注语音之家,语音之家是一个助理AI语音开发者的社区。"
VOICE = "zh-CN-YunyangNeural"
OUTPUT_FILE = "d:/test.mp3"async def amain() -> None:"""Main function"""communicate = edge_tts.Communicate(TEXT, VOICE)await communicate.save(OUTPUT_FILE)if __name__ == "__main__":loop = asyncio.get_event_loop_policy().get_event_loop()try:loop.run_until_complete(amain())finally:loop.close()

运行python tts.py,稍等即可在d盘生成合成后的音频test.mp3。

关于 edge-playback 命令的说明

edge-playback 实际上是 edge-tts 的一个封装,用于播放生成的语音。它接受与 edge-tts 选项相同的参数。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/539566.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

upload-labs靶机学习

第一关: 在第一关中,我们可以看到界面上让上传一个图片,在尝试上传一句话木马后,界面出现如图弹窗,可以猜测是前端界面做了检测,但是后端有没有规则并不清楚。 我们在此界面右键后查看源码可以发现检测后缀…

水泵房远程监控物联网系统

随着物联网技术的快速发展,越来越多的行业开始利用物联网技术实现设备的远程监控与管理。水泵房作为城市供水系统的重要组成部分,其运行状态的监控与管理至关重要。HiWoo Cloud作为专业的物联网云服务平台,为水泵房远程监控提供了高效、稳定、…

网上商城购物系统|基于springboot框架+ Mysql+Java+B/S架构的网上商城购物系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 系统功能设计 数据库E-R图设计 lunwen参…

【idea】正则表达式去除项目中的各种注释

【ctrlshiftr】 整个项目全局选择正则表达式Regex 【ctrlr】当前页面 分别输入以下命令 ^\s*\n #去除空行 ^\s*\n# 去除 <!--xxx--> 注释 <!--.*?--># 删除 java 注释 // xxx //[\s\S]*?\n# 删除 java 注释 /* */ /\*{1,2}[\s\S]*?\*/替换全部 Replace all 为…

基于JAVA的教务系统小程序的设计与实现【附项目源码】分享

基于JAVA的教务系统小程序的设计与实现: 源码地址&#xff1a;https://download.csdn.net/download/qq_41810183/88842782 一、引言 随着信息技术的不断发展&#xff0c;教务管理工作逐渐走向数字化、智能化。为了提高教务管理效率&#xff0c;方便师生查询教务信息&#xff…

PHP极简网盘系统源码 轻量级文件管理与共享系统网站源码

PHP极简网盘系统源码 轻量级文件管理与共享系统网站源码 极简网盘是一个轻量级文件管理与共享系统&#xff0c;支持多用户&#xff0c;可充当网盘程序&#xff0c;程序无需数据库 安装步骤&#xff1a; 1.建议安装在apache环境下&#xff0c;并确保.htaccess可用 2.解压文件…

【爬虫开发】爬虫从0到1全知识md笔记第1篇:爬虫概述【附代码文档】

爬虫开发从0到1全知识教程完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;爬虫概述。selenium的其它使用方法。Selenium课程概要。常见的反爬手段和解决思路。验证码处理。chrome浏览器使用方法介绍。JS的解析。Mongodb的介绍和安装,小结。mongodb的简单使…

中创ET4410台式电桥固件升级工具(修复了列表扫描的BUG)

中创ET4410台式LCR数字电桥固件升级工具和最新版固件&#xff08;修复了列表扫描的BUG&#xff09; 中创ET4410 台式LCR数字电桥 简单开箱测评&#xff1a;https://blog.zeruns.tech/archives/763.html 之前买的中创ET4410台式LCR数字电桥固件有BUG&#xff08;胜利的VC4090C…

opencv中的图像高斯模糊—GaussianBlur

高斯模糊&#xff08;Gaussian Blur&#xff09;是一种广泛应用于图像处理的平滑技术&#xff0c;其通过对图像应用高斯函数来减少图像噪声和细节。与简单平均模糊&#xff08;均值滤波&#xff09;不同&#xff0c;高斯模糊给予中心像素更高的权重&#xff0c;而远离中心的像素…

【C++算法模板】字典树,超详细注释带例题讲解

文章目录 0&#xff09;概述1&#xff09;数据结构2&#xff09;插入操作3&#xff09;查询操作4&#xff09;完整代码1. 字符数组2. 字符串 视频链接&#xff1a;F06 字典树(Trie) 0&#xff09;概述 是快速插入和查询字符串的多叉树结构&#xff0c;根节点编号为0&#xff0…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Badge)

可以附加在单个组件上用于信息标记的容器组件。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明&#xff1a; 子组件类型&#xff1a;系统组件和自定义组件&#xf…

SQLiteC/C++接口详细介绍之sqlite3类(七)

上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;六&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍之sqlite3类&#xff08;八&#xff09;&#xff08;未发表&#xff09; 22.sqlite3_create_collation、sqlite3_create_collation16和sqlite3_creat…