开源的语音合成项目-EdgeTTS,无需部署无需Key

2024-06-19 12:28

本文主要是介绍开源的语音合成项目-EdgeTTS,无需部署无需Key,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前几天和大家分享了:全网爆火的AI语音合成工具-ChatTTS。

有很多小伙伴反应模型下载还有点麻烦~

今天再给大家带来一款开源的语音合成 TTS 项目-EdgeTTS,相比ChatTTS,操作起来对小白更友好。

因为其底层是使用微软 Edge 的在线语音合成服务,所以不需要下载任何模型,甚至连 api_key 都给你省了,简直不要太良心~

关键是,除了支持普通话外,还支持很多地方口音(比如: 粤语、台湾口音、陕西话、辽宁东北话等),就凭这, 吊打 ChatTTS 有没有!

太香了,赶紧开始实操!

EdgeTTS 简介

GitHub 仓库地址:https://github.com/rany2/edge-tts

EdgeTTS 是一个文本转语音的开源项目,截至目前,在 GitHub 上已经斩获了 4k 的 Star,作者一直在更新,该项目核心就是调用微软 Edge 的在线语音合成服务,支持40多种语言,318种声音,中英文通吃,简直是我等 AI 应用开发者的福音。

在这里插入图片描述

EdgeTTS 使用教程

1.安装环境

最基本的环境安装,只需要两个 pip 包:

pip install edge-tts
pip install torchaudio

2. 命令行使用

安装好包后,命令行一键调用,主要有如下指令:

2.1 查看支持的音色

查看支持的所有音色:

edge-tts  --list-voices

如果想查看支持的粤语 or 台湾语

edge-tts  --list-voices| grep HK # TW

类似的,查看支持哪些地方方言:

edge-tts  --list-voices |grep CN
Name: zh-CN-XiaoxiaoNeural
Name: zh-CN-XiaoyiNeural
Name: zh-CN-YunjianNeural
Name: zh-CN-YunxiNeural
Name: zh-CN-YunxiaNeural
Name: zh-CN-YunyangNeural
Name: zh-CN-liaoning-XiaobeiNeural
Name: zh-CN-shaanxi-XiaoniNeural

2.2 一键生成语音

不多说了,直接上代码:

edge-tts --voice zh-HK-WanLungNeural \
--text "曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。\
如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。\
如果非要在这份爱上加上一个期限,我希望是……一万年" --write-media test.wav

速度超快,终端还会返回 SRT 格式的字幕文本:
在这里插入图片描述

2.3 更多参数使用

为了实现更个性化的语音,除了音色,还有以下参数可以调用:

调整合成语音的语速–rate参数

-30%表示语速变慢30%,+30%表示语速增加30%。

edge-tts  --rate=-30%  --voice  zh-HK-WanLungNeural  \
--text "xxx" --write-media test.mp3

调整合成语音的音量–volume

通过–volume参数来设置播放的语速快慢,-60%表示语速变慢60%,+60%表示语速增加60%。

edge-tts --volume=-50%  --voice  zh-HK-WanLungNeural  \
--text "xxx" --write-media test.mp3

调整合成语音的频率–pitch

通过pitch参数来调整合成语音的频率,-50Hz表示降低频率50Hz,+50Hz则相反

edge-tts --pitch=-50Hz  --voice  zh-HK-WanLungNeural  \
--text "xxx" --write-media test.mp3

3. python 代码调用

如果需要在python脚本中调用 EdgeTTS,来实现语音合成,也是没问题的,示例代码如下:

import edge_ttstext = """曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。
如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。如果非要在这份爱上加上一个期限,我希望是……一万年"""communicate = edge_tts.Communicate(text=text,voice="zh-HK-HiuGaaiNeural",rate='+0%',volume= '+0%',pitch= '+0Hz')communicate.save_sync("test.wav")

写在最后

不得不说,AI 语音界真是人才辈出,除了 ChatTTS 之外,希望这款支持多种方言的TTS项目,在帮你打造个性化 AI 语音助手时,提供另外一种选择。

如果本文对你有帮助,欢迎 点赞收藏 备用!

这篇关于开源的语音合成项目-EdgeTTS,无需部署无需Key的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075026

相关文章

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

ITMS-90339: Deprecated Info.plist Key

The Info.plist contains a key 'UIApplicationExitsOnSuspend' in bundle 在info.plist中找到这个key——UIApplicationExitsOnSuspend,然后删掉就可以了。确保没问题的话也跑一下看是否可以能在后台运行。 需要先转换一下,才能找到对应的key

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db: