大家好,我是树先生!今天给大家介绍一个 Python 库 edge-tts,可以在本地轻松将文本转换成语音,非常方便,并且完全免费!
先来听一下效果:
https://www.bilibili.com/audio/au3843189?type=1
怎么样?是不是很熟悉,影视解说中常用开头:这个女人叫小美。。。
edge-tts 是一个Python的库,继承了微软 Azure 的文本转语音功能(TTS),且是免费使用的。该库提供了一个简单的 API,可以将文本转换为语音,并且支持多种语言和声音。
只需要一行代码,即可将文本转换为语音!
edge-tts --text "Hello, world!" --write-media hello.mp3
pip install edge-tts
edge-tts --text "Hello, world!" --write-media hello.mp3
edge-tts --list-voices
...
Name: zh-CN-XiaoxiaoNeural
Gender: Female
Name: zh-CN-XiaoyiNeural
Gender: Female
Name: zh-CN-YunjianNeural
Gender: Male
Name: zh-CN-YunxiNeural
Gender: Male
Name: zh-CN-YunxiaNeural
Gender: Male
Name: zh-CN-YunyangNeural
Gender: Male
Name: zh-CN-liaoning-XiaobeiNeural
Gender: Female
Name: zh-CN-shaanxi-XiaoniNeural
Gender: Female
...
edge-tts --voice zh-CN-YunxiNeural --text "你好,我是程序员树先生" --write-media hello_tree.mp3
edge-tts --rate=-50% --text "Hello, world!" --write-media hello_with_rate_halved.mp3
edge-tts --volume=-50% --text "Hello, world!" --write-media hello_with_volume_halved.mp3
import edge_tts
import asyncio
TEXT = ""
with open('C:\\Users\\Tree\\Desktop\\text2voicetest.txt', 'rb') as f:
data = f.read()
TEXT = data.decode('utf-8')
print(TEXT)
voice = 'zh-CN-YunxiNeural'
output = 'C:\\Users\\Tree\\Desktop\\text2voicetest.mp3'
rate = '-4%'
volume = '+0%'
async def my_function():
tts = edge_tts.Communicate(text=TEXT, voice=voice, rate=rate, volume=volume)
await tts.save(output)
if __name__ == '__main__':
asyncio.run(my_function())
在桌面创建一个 text2voicetest.txt 文件,写上你想写的内容,直接运行上述代码,即可生成相应的 MP3 文件,搞定!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。