近来,TTS模型工具给大家也分享了不少,对于一些小白或有需要的人是提供了一个额外的选项。
但作为编程人员/研发人员,或者需要集成TTS服务的人来说,好像又有点麻烦。
今天就为大家分享一个非常有趣的项目—edge-tts。
这个项目其实是一个 Python 三方模块,允许你使用 Microsoft Edge 的在线文本转语音服务,可以通过Python 代码进而使用提供的edge-tts和edge-playback命令。
可能你们会问,为什么要用这个模块?
简单来说,这个模块的效果媲美 ChatTTS,并且支持多种方言,比如粤语、陕西话和台湾话等,非常实用。
最主要的是,使用 edge-tts 不需要安装 Microsoft Edge 浏览器 或 借助Windows系统,也不需要 API 密钥。这意味着无论你用什么操作系统,只要有 Python 环境,就可以轻松上手。
项目地址在下方,有兴趣的朋友可以直接去 GitHub 查看项目详情。
GitHub项目地址:https://github.com/rany2/edge-tts
我们生活在一个信息爆炸的时代,每天都有大量的信息涌入我们的视野。如何高效地获取和处理这些信息,成为了每个人都需要面对的问题。
这里,文本转语音技术就派上了用场。从 AI 到人性化,试想一下,当你开车、跑步或者做家务时,能够通过耳朵获取信息,是不是大大提高了效率?这不仅仅是科技的进步,更是生活方式的改变。
而 edge-tts 更是将这种便捷性提升到了一个新的高度。我们不再需要复杂的配置,不再需要担心平台的兼容性,只需要简单的几行代码,就可以将文字转化为生动的语音。
而且,支持多种方言的特性,更是让它在实际应用中如虎添翼。想象一下,用陕西话给你的亲朋好友读一段文字,或者用粤语播放一则新闻,这种体验是非常独特且贴近生活的。
最开始的时候,可以试着用它来转换一些简单的文本。比如,将一些文章转化为语音,然后在跑步的时候听。这种体验非常新颖,感觉就像是有一个私人播音员随时随地为我们服务。
随着使用的深入,我开始尝试一些更复杂的应用场景。比如,将它集成到我的一些自动化脚本中,帮助我在完成某些任务后,自动播报结果。当然我相信,edge-tts 的潜力远不止于此。
如何在 Python 代码中使用 edge-tts 模块?
1.安装 edge-tts 模块:
pip install edge-tts
2.在代码中导入 edge-tts 模块:
import edge_tts
3.创建 Communicate 对象:
communicate = edge_tts.Communicate()
4.使用 say() 方法将文本转换为语音:
communicate.say("你好,这是一个 edge-tts 的示例。")
5.如果需要将语音保存为音频文件,可以使用 save() 方法:
communicate.save("output.mp3", "你好,这是一个保存为音频文件的示例。")
6.如果需要立即播放语音,可以使用 play() 方法:
communicate.play("你好,这是一个立即播放的示例。")
当然,官方建议我们直接使用edge-tts和edge-playback两种命令行工具。
edge-playback: 将文本转换为语音并立即播放。
edge-tts: 将文本转换为语音并保存为音频文件。
比如使用edge-tts命令保存为MP3音频
$ edge-tts --text "走啊,出去吃火锅吧!" --write-media demo.mp3 --write-subtitles demo.vtt
比如使用edge-playback命令直接生成结果并播放音频
$ edge-playback --text "走啊,出去吃火锅吧!"
个别的参数说明:
- --write-media:用于指定将生成的语音音频文件保存到哪个位置。
- --write-subtitles:用于生成与语音同步的字幕文件。字幕文件默认为 .vtt 格式,可以用于视频播放器中显示字幕。
- --language:指定语音,中文就在后面跟着写"zh-CN"
- --gender:可设置男女音色, "female"/"male"。
- --pitch:音高,取值范围为 -1.0 到 1.0。
像一些音量高低,速率大小等参数也可以进行自定义设置。
使用VoicesManager的动态语音(完整代码例子):
基础使用例子:
利用 edge-tts,可以做很多场景下的事情,不论做提效,还是做延伸产品,都是OK的。
上手很容易,无论你是技术小白,还是经验丰富的开发者,都可以从中找到乐趣和实用的价值。
作者:梓羽玩Python
链接:https://juejin.cn/post/7389440983802380315