首页 > Python > python利用edge-tts库,将文字转语音

python利用edge-tts库,将文字转语音

Python 2024-04-17
一个 Python库edge-tts库,可以在本地轻松将文本转换成语音,非常方便,并且完全免费!
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 文件,搞定!