edge-tts语音转换工具简介¶
在数字时代,文字转语音技术正变得越来越重要。它可以用于创建有声读物、自动化助手、多媒体内容的生成,以及许多其他应用。而今,我们将探索一种强大的工具——edge-tts,它允许你在Python代码中或使用提供的命令行工具轻松访问Microsoft Edge的在线文字转语音服务。
安装edge-tts¶
使用pip安装
$ pip3 install edge-tts
基本用法¶
1、使用edge-tts命令,只需运行以下命令
$ edge-tts --text "你好,世界!" --write-media hello.mp3 --write-subtitles hello.vtt
2、如果你希望立即播放带字幕的语音,你可以使用edge-playback命令:
$ edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media hello_in_arabic.mp3 --write-subtitles hello_in_arabic.vtt
3、帮助
edge-tts -h
Microsoft Edge TTS
optional arguments:
-h, --help show this help message and exit
-t TEXT, --text TEXT what TTS will say
-f FILE, --file FILE same as --text but read from file
-v VOICE, --voice VOICE
voice for TTS. Default: en-US-AriaNeural
-l, --list-voices lists available voices and exits
--rate RATE set TTS rate. Default +0%.
--volume VOLUME set TTS volume. Default +0%.
--pitch PITCH set TTS pitch. Default +0Hz.
--words-in-cue WORDS_IN_CUE
number of words in a subtitle cue. Default: 10.
--write-media WRITE_MEDIA
send media output to file instead of stdout
--write-subtitles WRITE_SUBTITLES
send subtitle output to provided file instead of
stderr
--proxy PROXY use a proxy for TTS and voice list.
4、查看所支持的语言语音
edge-tts -l
edge-tts --list-voices
全书动画图解
"A picture is worth a thousand words."
“一图胜千言”
自定义SSML(已不再支持)¶
值得注意的是,自从5.0.0版本以后,自定义SSML支持已被移除,因为Microsoft采取了措施阻止其工作。你不能再使用自定义SSML。
Information about the SSML format can be found here on Microsoft's own website: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-synthesis-markup
更改语速、音量和音调¶
你可以对生成的语音进行微小的更改,比如改变语速、音量和音调。
$ 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%会被解释为另一个参数。
Python模块¶
除了命令行工具,你还可以直接从Python中使用edge-tts模块。以下是一些示例应用程序:
基本生成示例
动态语音选择示例
基本音频流示例
带字幕的音频流示例
实用工具模块
Home Assistant的自定义组件示例
结论¶
在这篇教程中,我们深入了解了如何使用edge-tts模块和命令行工具,将文字转化为语音,并进行各种定制。这一技术可以应用于许多领域,包括语音助手、有声书制作和多媒体内容创作等。希望这个教程对你有所帮助,开启你在文本转语音领域的探索之旅!
5 参考
Edge-tts在Python官方项目上的连接:
edge-tts · PyPI:https://pypi.org/project/edge-tts/
相关参考示例可以在github上查看:
edge-tts/examples:https://github.com/rany2/edge-tts/tree/master/examples
