更简易、高效的微软Edge-tts库实时详细的经验分享

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不仅可以作为一个独立的工具使用,还可以成为构建更复杂系统的一部分,为各种应用提供强大的语音合成能力。
 

未完......

更多详细的欢迎关注:杰哥新技术
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值