嗨,大家好!今天,我将与你分享一项令人兴奋的技术,那就是如何玩转Microsoft Edge的在线文字转语音服务,通过Python编程轻松实现文本转语音的功能。无需多言,让我们立刻进入这个充满创意和实用价值的教程吧!
引言
在数字时代,文字转语音技术正变得越来越重要。它可以用于创建有声读物、自动化助手、多媒体内容的生成,以及许多其他应用。而今,我们将探索一种强大的工具——edge-tts
,它允许你在Python代码中或使用提供的命令行工具轻松访问Microsoft Edge的在线文字转语音服务。
安装
首先,让我们来看看如何安装edge-tts
。
使用pip安装
如果你想使用Python模块或edge-tts
和edge-playback
命令行工具,你可以使用pip进行安装。打开终端并运行以下命令:
$ pip install edge-tts
使用pipx更便捷
如果你只想使用edge-tts
和edge-playback
命令行工具,使用pipx可能更方便。运行以下命令:
$ pipx install edge-tts
基本用法
现在,让我们来看看如何使用edge-tts
命令行工具进行基本的文字转语音操作。
使用edge-tts
命令
如果你想使用edge-tts
命令,只需运行以下命令:
$ edge-tts --text "你好,世界!" --write-media hello.mp3 --write-subtitles hello.vtt
如果你希望立即播放带字幕的语音,你可以使用edge-playback
命令:
$ edge-playback --text "你好,世界!"
请注意,上述命令需要安装命令行播放器mpv
。
更改语音
如果你想更改语音的语言或更一般地说,更改语音,你需要先使用--list-voices
选项来查看可用的语音列表:
$ edge-tts --list-voices
然后,选择你喜欢的语音,例如:
$ edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media hello_in_arabic.mp3 --write-subtitles hello_in_arabic.vtt
自定义SSML(已不再支持)
值得注意的是,自从5.0.0版本以后,自定义SSML支持已被移除,因为Microsoft采取了措施阻止其工作。你不能再使用自定义SSML。
更改语速、音量和音调
你可以对生成的语音进行微小的更改,比如改变语速、音量和音调。
$ edge-tts --rate=-50% --text "你好,世界!" --write-media hello_with_rate_halved.mp3 --write-subtitles hello_with_rate_halved.vtt
$ edge-tts --volume=-50% --text "你好,世界!" --write-media hello_with_volume_halved.mp3 --write-subtitles hello_with_volume_halved.vtt
$ edge-tts --pitch=-50Hz --text "你好,世界!" --write-media hello_with_pitch_halved.mp3 --write-subtitles hello_with_pitch_halved.vtt
请注意,为了改变语速,应使用--rate=-50%
而不是--rate -50%
(注意等号的缺失),否则-50%
会被解释为另一个参数。
关于edge-playback
命令
值得一提的是,edge-playback
只是edge-tts
的一个包装器,用于播放生成的语音。它接受与edge-tts
相同的参数选项。
Python模块
除了命令行工具,你还可以直接从Python中使用edge-tts
模块。以下是一些示例应用程序:
结论
在这篇教程中,我们深入了解了如何使用edge-tts
模块和命令行工具,将文字转化为语音,并进行各种定制。这一技术可以应用于许多领域,包括语音助手、有声书制作和多媒体内容创作等。希望这个教程对你有所帮助,开启你在文本转语音领域的探索之旅!
现在,你已经掌握了如何使用edge-tts
进行文字转语音,快去尝试吧!如果你有任何问题或想要了解更多,请随时联系我。