【AI语音】edge-tts实现文本转语音,免费且音质不错

目标

前边可以翻译大藏经了,拿到翻译文件就想转语音了。这次不要阿里的api的,免费额度少,不免费就有点贵,公益项目用公益资源喽。

结论:

我github访问不了,tts装不上,espeak, MaryTTS,festival,都尝试失败,pyttsx3成功了,但效果真看不上,然后就来到了gitcode.com,搜了一下tts,然后部署了edge-tts,误打误撞还是可以用。

准备:

准备环境,用目前知道的最可心的trae,安装部署参考上一篇文档:

【Ai工具】trae和传统编程环境vs+代码助手的PK,结果大捷-CSDN博客

安装部署

有两种方式:

方式一、可以在Trae中,直接问AI,根据反馈操作:

方式二、参考gitcode文档安装:

 地址:GitCode - 全球开发者的开源社区,开源代码托管平台

安装命令:

pip install edge-tts

 安装成功:

命令行使用:

edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.srt

把文本转成语音hello.mp3,还带字幕hello.srt,乖乖音质不错,字幕更不错:

查一下有哪些声音可用:

edge-tts --list-voices

那是非常多,没截全:

重点中文声音是够用的:

代码调用

 然后代码实现调用,可以从示例里直接拷贝代码,

当然,也可以让AI帮你写,大家可以参考下面代码,是验证通过的:

import asyncio
from edge_tts import Communicate

async def main():
    text = "你好,欢迎使用 Microsoft Edge TTS 服务!"
    voice = "zh-CN-XiaoyiNeural"  # 中文语音,可替换为其他支持的语言和声音

    communicate = Communicate(text, voice)
    await communicate.save("haha.mp3")

# 运行异步任务
asyncio.run(main())

把所有声音输出了一下,总结了一下各声音特点,供大家参考:

模型名称 性别 适用场景 音色特点 备注
zh-CN-XiaoxiaoNeural 新闻、有声书 温暖 柔声,温柔的小女生
zh-CN-XiaoyiNeural 动漫、有声书 活泼 认真说话的小女孩
zh-CN-YunjianNeural 体育、有声书 激情 浑厚,坚定值得信任的中层干部
zh-CN-YunxiNeural 有声书 活泼、阳光 最流行的解说声音,青年声音,
zh-CN-YunxiaNeural 动漫、有声书 可爱 认真说话的小男孩
zh-CN-YunyangNeural 新闻 专业、可靠 磁性,专业,成年男生
zh-CN-liaoning-XiaobeiNeural 方言(辽宁话) 幽默 地方特色
zh-CN-shaanxi-XiaoniNeural 方言(陕西话) 明亮 地方特色
zh-HK-HiuGaaiNeural 通用场景 友好、积极 香港,中年女生
zh-HK-HiuMaanNeural 通用场景 友好、积极 香港,青年女生
zh-HK-WanLungNeural 通用场景 友好、积极 香港,成年男声
zh-TW-HsiaoChenNeural 通用场景 友好、积极 普通话,尾音上翘,青年女声
zh-TW-HsiaoYuNeural 通用场景 友好、积极 普通话,中年女声,略慢一字一字的输出的感觉
zh-TW-YunJheNeural 通用场景 友好、积极 普通话,尾音略轻,成年男声

后续

进一步,增加逻辑处理,和功能优化,就直接和Ai交互喽,本章核心内容完结。 

猜你喜欢

转载自blog.csdn.net/2501_90561511/article/details/146564553