python利用edge-tts库,将文字转语音
Python 2024-04-17
一个 Python库edge-tts库,可以在本地轻松将文本转换成语音,非常方便,并且完全免费!
edge-tts 是一个Python的库,继承了微软 Azure 的文本转语音功能(TTS),且是免费使用的。该库提供了一个简单的 API,可以将文本转换为语音,并且支持多种语言和声音。
edge-tts 是一个Python的库,继承了微软 Azure 的文本转语音功能(TTS),且是免费使用的。该库提供了一个简单的 API,可以将文本转换为语音,并且支持多种语言和声音。
详细步骤
1、安装 Python 环境,这里我用的 Python 3.11.1 开发环境,这一步不会的可以参考我之前发过的文章。
2、安装 edge-tts 库。
pip install edge-tts
3、安装完成后,在 cmd 窗口中输入 edge-tts 命令,输出如下提示信息,说明已经安装完成。
4、这里使用的是默认的语音模型,你还可以通过edge-tts --list-voices 选项来查看可用的语音列表,然后通过 --voice 选项来选择你想要的声音。
5、我们也可以使用 python 进行读取文件内容转语音,直接献上代码。
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 文件,搞定!