edge-tts 项目介绍
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
自定义SSML
自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-playback
命令仅是对edge-tts
的进一步封装,用于播放已生成的语音。它接受与edge-tts
相同的参数。
Python模块
用户可以直接在Python代码中使用edge-tts
模块。以下是一些应用实例:
通过这些功能,edge-tts
为开发者提供了一个简单而高效的文本转语音解决方案。