前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python解锁微软Edge的文本转语音服务

用Python解锁微软Edge的文本转语音服务

作者头像
Python兴趣圈
发布2024-07-08 18:21:30
1990
发布2024-07-08 18:21:30
举报
文章被收录于专栏:翩翩白衣少年

近来,TTS模型工具给大家也分享了不少,对于一些小白或有需要的人是提供了一个额外的选项。

但作为编程人员/研发人员,或者需要集成TTS服务的人来说,好像又有点麻烦。

今天就为大家分享一个非常有趣的项目—edge-tts

这个项目其实是一个 Python 三方模块,允许你使用 Microsoft Edge 的在线文本转语音服务,可以通过Python 代码进而使用提供的edge-ttsedge-playback命令。

可能你们会问,为什么要用这个模块?

简单来说,这个模块的效果媲美 ChatTTS,并且支持多种方言,比如粤语、陕西话和台湾话等,非常实用。

最主要的是,使用 edge-tts 不需要安装 Microsoft Edge 浏览器 或 借助Windows系统,也不需要 API 密钥。这意味着无论你用什么操作系统,只要有 Python 环境,就可以轻松上手。

项目地址在下方,有兴趣的朋友可以直接去 GitHub 查看项目详情。

https://github.com/rany2/edge-tts

我们生活在一个信息爆炸的时代,每天都有大量的信息涌入我们的视野。如何高效地获取和处理这些信息,成为了每个人都需要面对的问题。

这里,文本转语音技术就派上了用场。从 AI 到人性化,试想一下,当你开车、跑步或者做家务时,能够通过耳朵获取信息,是不是大大提高了效率?这不仅仅是科技的进步,更是生活方式的改变。

edge-tts 更是将这种便捷性提升到了一个新的高度。我们不再需要复杂的配置,不再需要担心平台的兼容性,只需要简单的几行代码,就可以将文字转化为生动的语音。

而且,支持多种方言的特性,更是让它在实际应用中如虎添翼。想象一下,用陕西话给你的亲朋好友读一段文字,或者用粤语播放一则新闻,这种体验是非常独特且贴近生活的。

最开始的时候,可以试着用它来转换一些简单的文本。比如,将一些文章转化为语音,然后在跑步的时候听。这种体验非常新颖,感觉就像是有一个私人播音员随时随地为我们服务。

随着使用的深入,我开始尝试一些更复杂的应用场景。比如,将它集成到我的一些自动化脚本中,帮助我在完成某些任务后,自动播报结果。当然我相信,edge-tts 的潜力远不止于此。

如何在 Python 代码中使用 edge-tts 模块?

1.安装 edge-tts 模块:

代码语言:javascript
复制
pip install edge-tts

2.在代码中导入 edge-tts 模块:

代码语言:javascript
复制
import edge_tts

3.创建 Communicate 对象:

代码语言:javascript
复制
communicate = edge_tts.Communicate()

4.使用 say() 方法将文本转换为语音:

代码语言:javascript
复制
communicate.say("你好,这是一个 edge-tts 的示例。")

5.如果需要将语音保存为音频文件,可以使用 save() 方法:

代码语言:javascript
复制
communicate.save("output.mp3", "你好,这是一个保存为音频文件的示例。")

6.如果需要立即播放语音,可以使用 play() 方法:

代码语言:javascript
复制
communicate.play("你好,这是一个立即播放的示例。")

当然,官方建议我们直接使用edge-ttsedge-playback两种命令行工具。

edge-playback: 将文本转换为语音并立即播放。

edge-tts: 将文本转换为语音并保存为音频文件。

比如使用edge-tts命令保存为MP3音频

代码语言:javascript
复制
$ edge-tts --text "走啊,出去吃火锅吧!" --write-media demo.mp3 --write-subtitles demo.vtt

比如使用edge-playback命令直接生成结果并播放音频

代码语言:javascript
复制
$ edge-playback --text "走啊,出去吃火锅吧!"

个别的参数说明:

--write-media:用于指定将生成的语音音频文件保存到哪个位置。

--write-subtitles:用于生成与语音同步的字幕文件。字幕文件默认为 .vtt 格式,可以用于视频播放器中显示字幕。

--language:指定语音,中文就在后面跟着写"zh-CN"

--gender:可设置男女音色, "female"/"male"。

--pitch:音高,取值范围为 -1.0 到 1.0。

像一些音量高低,速率大小等参数也可以进行自定义设置。

使用VoicesManager的动态语音(完整代码例子):

基础使用例子:

利用 edge-tts,可以做很多场景下的事情,不论做提效,还是做延伸产品,都是OK的。

上手很容易,无论你是技术小白,还是经验丰富的开发者,都可以从中找到乐趣和实用的价值。

写到最后

感谢您的一路陪伴,用代码构建世界,一起探索充满未知且奇妙的魔幻旅程。如果您对Python编程技巧、好玩实用的开源项目、行业新知趣事和各类技术干货等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的探索学习之旅更加丰富多彩,我们一同成长,一同前行!🚀💻📚

求一键三连:点赞、转发、在看

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python兴趣圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何在 Python 代码中使用 edge-tts 模块?
  • 写到最后
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档