跳至主要内容

Python免费文生音频TTS方案实战测评:gTTS、edge_tts与pyttsx3效果对比

 


在python中,已经有很多TTS相关的包,可以拿来即用,以下是我整理的一些简单免费的方案,仅供参考:

方案1:gTTS

1.1 介绍

1.2 安装

pip install gTTS

1.3 简单使用

from gtts import gTTS

tts = gTTS(text='您好,我是一直可爱的小猪!', lang='zh')
tts.save('test.mp3')

1.4 效果展示

方案2:edge_tts

2.1 介绍

  • 利用微软的免费文本转语音API服务
  • 微软已禁止国内访问这个服务,需要外网环境
  • 一键安装,转换速度快,质量较好,可控选项多
  • 开源地址:https://github.com/rany2/edge-tts

2.2 安装

pip install edge_tts

2.3 简单使用

  • 可以通过命令edge-tts --list-voice列出所有支持的语音,以下是常用的中文语音:

    • zh-CN-XiaoxiaoNeural - 女声,自然
    • zh-CN-YunxiNeural - 男声,自然
    • zh-CN-YunyangNeural - 男声,新闻播报风格
    • zh-CN-XiaoxuanNeural - 女声,成熟
    • zh-CN-YunxiaNeural - 男声,少年
    • zh-CN-YunjianNeural - 男声,播报解说风格
    • zh-HK-WanLungNeural - 男生,粤语
  • 代码示例:

    import asyncio
    
    import edge_tts
    
    async def ttsWork(text, file_path, voice="zh-CN-YunxiNeural", rate="+0%", volume="+0%", proxy=None):
        communicator = edge_tts.Communicate(
            text,  # 需要转换的文本
            voice=voice,  # 配音员口音
            rate=rate,  # 语速控制
            volume=volume,  # 音量控制
            proxy=proxy  # 请求代理设置
        )
        await communicator.save(file_path)
    
    #国内环境需要设置有效的proxy,国外服务器则不需要配置proxy
    asyncio.run(ttsWork("您好,我是一直可爱的小猪!", "test.mp3", proxy="http://127.0.0.1:10808"))

2.4 效果展示(参考:https://blog.luler.top/d/7

  • 声音类型:zh-CN-XiaoxiaoNeural

  • 声音类型:zh-CN-YunxiNeural

  • 声音类型:zh-CN-YunyangNeural

  • 声音类型:zh-CN-XiaoxuanNeural

  • 声音类型:zh-CN-YunxiaNeural

  • 声音类型:zh-HK-WanLungNeural


方案3:pyttsx3

3.1 介绍

  • 跨系统使用,利用系统上安装的TTS引擎驱动
  • 不需要网络连接,完全离线使用
  • 安装简单,转换速度快,质量一般
  • 开源地址:https://github.com/nateshmbhat/pyttsx3

3.2 安装

window安装TTS引擎

无需处理,一般默认支持

linux(debian系列)安装TTS引擎

sudo apt update && sudo apt install espeak-ng libespeak1

macOS安装TTS引擎

略过,没有mac电脑

开始安装python包

pip install pyttsx3

3.3 简单使用

import pyttsx3

# 初始化语音引擎
engine = pyttsx3.init()

# 设置要说的文本
text = "您好,我是一直可爱的小猪!"

# 设置语速,默认值是200
engine.setProperty('rate', 100)

# 设置音量,默认值是1.0
engine.setProperty('volume', 1.0)

# 保存到文件
engine.save_to_file(text, 'test.wav')
engine.runAndWait()

3.4 效果展示


最后总结

  • 以上几种tts方案都能实现多种语言文本转语音的功能,但是微软是基于神经网络的tts,在可控性和质量上更胜一筹
  • 如果只是需要文本转语音功能,不要求语音质量,追求稳定性、低依赖,如读书场景、AI回答朗读,可以选择pyttsx3

评论

此博客中的热门博文

电脑里的AI帮手:Open Interpreter智能助手食用指南

一、简介 interpreter是一个使用python开发的命令行工具,可以让你在终端中使用类似AI对话的方式,只需简单输入指令要求,即可自动编写程序、执行代码,实现各种自动化操作 interpreter有自动检测输出结果、自动错误修复功能,保证指令执行的可靠运行 具有权限控制与执行确认机制,确保敏感命令不会立即执行(默认开启,但可以关闭) 支持接入各种模型,操作简单,一行命令即可唤起 二、安装 确保本地安装有python、pip等环境 一键安装 pip install open -interpreter 安装完成,查看命令是否可用,运行interpreter -h输出如下: $ interpreter -h 用法: interpreter [选项] Open Interpreter(开放解释器) 选项: -h, --help 显示帮助信息并退出 -p PROFILE, --profile PROFILE 配置文件名。运行` --profiles`可打开配置目录 -ci CUSTOM_INSTRUCTIONS, --custom_instructions CUSTOM_INSTRUCTIONS 语言模型的自定义指令。会追加到系统消息中 -sm SYSTEM_MESSAGE, --system_message SYSTEM_MESSAGE (不建议修改)语言模型的基础提示词 -y, --auto_run 自动运行生成的代码 -nhl, --no_highlight_active_line 关闭代码块中当前行的语法高亮 -v, --verbose 打印详细日志 -m MODEL, --model MODEL 使用的语言模型 -t TEMPERATURE, --temperature TEMPERATURE 语言模型的可选温度参数 -lsv, --llm_supports_v...

跨浏览器书签同步方案:WebDAV + Floccus插件实操指南

  一、简介 Floccus 是一个允许用户在不同浏览器和设备之间私密同步书签的扩展,开源地址: https://github.com/floccusaddon/floccus WebDAV是一种基于HTTP的协议,支持远程文件管理,支持basic授权,部署简单,可以docker私有化部署,也可以选择支持webdav的云盘服务,如坚果云,本文选用私有部署的方式 Floccus支持很多书签数据私有化存储方式,包括webdav,配置接入简单 二、安装 1.安装webdav服务 我这里选择webdav这种方式,只要拥有webdav功能的服务就可以,比如: 坚果云 : https://www.jianguoyun.com/ ,提供webdav服务,路径:账户信息=>安全选项=》添加应用,就可以使用坚果云相关webdav配置来设置floccus了 alist :开源项目alist也提供webdav服务,参考官方说明: https://alist-doc.nn.ci/docs/webdav/。因为alist支持挂载各种云盘 ,所以这种方式可以同步到更多云盘。alist私有部署可参考文章: https://blog.luler.top/d/21 其他支持webdav的服务,如下可以使用docker一键部署wendav : a. 提前安装好docker、docker-compose环境(这里不做讲解) b. 新建docker-compose.yml文件,配置内容如下: 复制 version: '3' services: webdav: image: bytemark/webdav restart: always ports: - "8080:80" environment: AUTH_TYPE: Basic USERNAME: admin #这里basic认证账号 PASSWORD: admin123 #这里basic认证密码 volumes: - ./dav:/var/lib/dav #数据持久化 c. 运行启动 复制 docker-compose up -d d. 访问: http:/...

认识python全栈框架reflex:快速打造工具类网站、模型调用web应用

  一、简介 纯Python编写的,高性能、可自定义的 Web 应用开发框架 网页开发内置组件生态完整,灵活使用、快速接入、快速部署 支持路由页面,可以开发复杂系统、企业级系统,这方面优于gradio、streamlit等全栈框架 开源地址: https://github.com/reflex-dev/reflex ,官网地址: https://reflex.dev 二、基础安装使用 提前准备好Python 3.10+软件环境(不做赘述) 使用pip安装reflex 复制 pip install reflex 初始化项目代码 复制 mkdir reflex_test cd reflex_test reflex init 直接运行 复制 reflex run 运行过程 访问默认页面: http://localhost:3000/ 修改默认代码,页面可以自动重载更新页面 可以参考官方组件库、模板库,直接复制相关代码黏贴即可直接使用 参考官方组件使用与说明: https://reflex.dev/docs/library/ 三、快速接入大模型文生图简单示例 参考代码: https://github.com/luler/reflex_ai_fast 实现功能:旨在通过便捷的操作页面,迅速接入和体验大模型生图功能 安装配置使用: 拉取代码 复制 git clone https://github.com/luler/reflex_ai_fast cd reflex_ai_fast 新增编辑.env,输入文生图大模型配置,内容如下:(注意:需要支持openai兼容的文生图接口https://platform.openai.com/docs/guides/text-generation,如果不支持,需要自行调整代码,也很简单) 复制 OPENAI_BASE_URL =https://xxx/v1 OPENAI_API_KEY =sk-xxx 打包并导出前端代码 复制 API_URL =http:// 127.0 . 0.1 : 8080 reflex export --frontend- on ly docker-compose一键运行(提前部署好docker、docker-compose环境) 复制 docker-compose up -d 访问页面: http...