鱼C论坛

 找回密码
 立即注册
查看: 3144|回复: 9

[技术交流] edge-tts 库的简单使用

[复制链接]
发表于 2023-7-22 20:06:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
edge-tts 库的使用

edge-tts 是一个 Python 库,用来实现文本转语音.

安装 edge-tts:
pip install edge-tts
只需要一行命令,即可实现文本转语音:
edge-tts --text "Hello, world!" --write-media hello.mp3
text 是要转换的文本,write-media 是写入文件的意思。

(暂时不支持中文,一会要加)

输出类似的提示即为成功:
C:\Users\QAQ\Desktop> edge-tts --text "Hello, world!" --write-media hello.mp3

WEBVTT

00:00:00.100 --> 00:00:01.275
Hello world
选择中文语音:
C:\Users\QAQ\Desktop> edge-tts --list-voices

Name: zh-CN-XiaoxiaoNeural
Gender: Female

Name: zh-CN-XiaoyiNeural
Gender: Female

Name: zh-CN-YunjianNeural
Gender: Male

Name: zh-CN-YunxiNeural
Gender: Male

Name: zh-CN-YunxiaNeural
Gender: Male

Name: zh-CN-YunyangNeural
Gender: Male

Name: zh-CN-liaoning-XiaobeiNeural
Gender: Female

以下省略...
随便使用一个使用中文语音:
C:\Users\QAQ\Desktop> edge-tts --voice zh-CN-YunxiNeural --text "你好,我的朋友!" --write-media hello.mp3
(听过电影解说的应该听过这个声音)

除了基础功能,还有 `--rate` 和 `--volume`,分别用来设置调整语速和音量,这段代码会让语速变快:
C:\Users\QAQ\Desktop> edge-tts --rate=+50% --text "Hello, world!" --write-media hello.mp3
你也可以使用 Python 代码的形式来运行:
import edge_tts
import asyncio # 不加这个会报 RuntimeWarning

text = "你好,我是Flowey"
voice = "zh-CN-YunxiNeural"
rate = "+50%"
volume = "+50%"

tts = edge_tts.Communicate(text=text, voice=voice, rate=rate, volume=volume)

asyncio.run(tts.save("hello.mp3"))

求评分,新人想升级!

评分

参与人数 3荣誉 +10 鱼币 +5 贡献 +6 收起 理由
学习编程中的Ben + 5 + 5
cjjJasonchen + 3 感谢楼主无私奉献!
liuhongrun2022 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 20:10:47 | 显示全部楼层
支持!很有用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-22 20:11:56 | 显示全部楼层
力鼎
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-22 20:32:29 | 显示全部楼层
已评价,给你一个千斤顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-22 20:49:13 | 显示全部楼层
给你纠正一下啊,Windows系统里Python要这样用:
import edge_tts
import asyncio  # 不加这个会报 RuntimeWarning

text = "你好,我是Flowey"
voice = "zh-CN-YunxiNeural"
rate = "+50%"
volume = "+50%"

tts = edge_tts.Communicate(text=text, voice=voice, rate=rate, volume=volume)

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(tts.save("hello.mp3"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-22 20:52:29 | 显示全部楼层
知道了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-23 08:47:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-23 08:48:04 | 显示全部楼层
cjjJasonchen 发表于 2023-7-22 20:32
已评价,给你一个千斤顶

谢谢!
千斤顶是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-23 08:49:44 | 显示全部楼层
学习编程中的Ben 发表于 2023-7-22 20:49
给你纠正一下啊,Windows系统里Python要这样用:

我这里直接用也可以啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 09:28:45 | 显示全部楼层
_Flowey_ 发表于 2023-7-23 08:48
谢谢!
千斤顶是什么?

IMG_20230723_092622.jpg

这个就是千斤顶
我昨天对你使用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表