开源的语音合成项目-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

相关文章

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2