edge-tts是一个Python模块,可以让用户在Python代码中或者通过提供的edge-tts和edge-playback命令,使用Microsoft Edge的在线文本转语音服务。这个模块的使用简单且功能强大,可以满足多样的文本转语音需求。
用户可以通过以下命令安装edge-tts:
$ pip install edge-tts
如果用户只希望使用edge-tts和edge-playback命令,建议使用pipx来安装:
$ pipx install edge-tts
如需使用edge-tts命令,可以用以下命令行生成语音,并将其保存为音频文件和字幕文件:
$ edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt
如果希望立即播放语音并显示字幕,可以使用edge-playback命令:
$ edge-playback --text "Hello, world!"
需要注意,使用edge-playback命令需要提前安装mpv命令行播放器。此外,所有的edge-tts命令选项也可以用于edge-playback。
用户可以更改语音的语言或选择其他语音类型。首先需查看可用语音:
$ edge-tts --list-voices
例如,选择特定的语音选项来生成阿拉伯语语音:
$ edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media hello_in_arabic.mp3 --write-subtitles hello_in_arabic.vtt
自5.0.0版本起,Microsoft出于安全等原因移除了对自定义SSML的支持,因此用户无法再使用自定义的SSML。
edge-tts允许对生成的语音进行细微调整,包括语速、音量和音高:
$ edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3 --write-subtitles hello_with_rate_halved.vtt $ edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3 --write-subtitles hello_with_volume_halved.vtt $ edge-tts --pitch=-50Hz --text "Hello, world!" --write-media hello_with_pitch_halved.mp3 --write-subtitles hello_with_pitch_halved.vtt
注意,使用这些参数时需要使用等号--rate=-50%,否则可能将参数误解为其他选项。
edge-playback命 令仅是对edge-tts的进一步封装,用于播放已生成的语音。它接受与edge-tts相同的参数。
用户可以直接在Python代码中使用edge-tts模块。以下是一些应用实例:
通过这些功能,edge-tts为开发者提供了一个简单而高效的文本转语音解决方案。