Edge-tts是一个利用微软 Azure Cognitive Services 的在线文本转语音服务的 Python 库。
它允许开发者在 Python 代码中使用该服务,而无需安装 Microsoft Edge 浏览器、Windows 操作系统或使用 API 密钥。
这个Edge-tts库通过调用微软 Edge 浏览器的文本朗读相关 API 实现文本转语音功能,不需要本地部署模型,使用简单,声音效果好。
github项目地址:https://github.com/rany2/edge-tts。
一、环境安装
1、python环境:建议安装python版本在3.8以上。
2、pip包安装命令:
pip install edge-tts -i https://mirror.baidu.com/pypi/simple
二、功能测试
1、命令行测试
安装成功后,我们通过命令行edge-tts来验证
我们只需要通过edge-tts的一行指令来实现基本的文本转语音的功能。
比如将“hello,everyone!"转化为mp3音频,命令如下:
edge-tts --text "hello,everyone!" --write-media hello.mp3
如果想播放带有字幕的内容,需注意要安装mpv命令行播放器,可以通过edge-playback命令执行:
edge-playback --text "hello,everyone!"
edge-tts可以选择300多种声音,支持中文、英语、法语、日语等40多种语言。
如果我们还想使用不同的声音来合成音频,通过命令行edge-tts --list-voices
根据上面的查询结果,我们可以看到Name表示声音的名字,其中zh表示中文,CN表示中国地区,en表示英文,EG表示埃及地区。
我们可以用一个中国的中文女音来合成一个音频,下面是运行命令:
edge-tts --voice zh-CN-shaanxi-XiaoniNeural --text "你好,这是中文语音库的测试案例。" --write-media test-female-ch-1.mp3 --write-subtitles test-female-ch-1.vtt
如果我们还想调整音量、语速和音调,我们可以通过下面的命令进行调试,比如,降低50%的音量,命令如下:
edge-tts --volume=-50% --voice zh-CN-shaanxi-XiaoniNeural --text "你好,这是中文语音库的测试案例。" --write-media test-female-ch-2.mp3 --write-subtitles test-female-ch-2.vtt
降低50%的语速,命令如下:
edge-tts --rate=-50% --voice zh-CN-shaanxi-XiaoniNeural --text "你好,这是中文语音库的测试案例。" --write-media test-female-ch-3.mp3 --write-subtitles test-female-ch-3.vtt
降低50%的音调,命令如下:
edge-tts --pitch=-50Hz --voice zh-CN-shaanxi-XiaoniNeural --text "你好,这是中文语音库的测试案例。" --write-media test-female-ch-4.mp3 --write-subtitles test-female-ch-4.vtt
2、python接口调用方式:
我们除了命令,还可以通过python接口进行读取文件内容转语音。
import edge_tts
import asyncio
text= ""
with open('test-ch.txt', 'rb') as f:
data = f.read()
text = data.decode('utf-8')
print(“text: ”, text)
voice = 'zh-CN-shaanxi-XiaoniNeural'
output_result = 'test.mp3'
rate = '-50%'
volume = '-50%'
pitch = '-50Hz'
async def my_function():
tts = edge_tts.Communicate(text=TEXT, voice=voice, rate=rate, volume=volume, pitch=pitch )
await tts.save(output_result )
if __name__ == "__main__":
asyncio.run(my_function())
三、总结
Edge-tts作为一个便捷高效的文本转语音解决方案,打破了传统TTS服务的限制,以零成本的方式为开发者提供了强大且易用的语音合成工具。
无论是进行快速原型验证、构建多语言应用,还是提升用户体验的多媒体内容创作,Edge-TTS都展现了其独特价值。
Edge-tts不仅可以作为一个独立的工具使用,还可以成为构建更复杂系统的一部分,为各种应用提供强大的语音合成能力。
未完......
更多详细的欢迎关注:杰哥新技术