【小沐学Python】Python实现TTS文本转语音(speech、pyttsx3、百度AI)
文章目录
- 1、简介
- 2、Windows语音
- 2.1 简介
- 2.2 安装
- 2.3 代码
- 3、pyttsx3
- 3.1 简介
- 3.2 安装
- 3.3 代码
- 4、ggts
- 4.1 简介
- 4.2 安装
- 4.3 代码
- 5、SAPI
- 6、SpeechLib
- 7、百度AI
- 8、百度飞桨
- 结语
1、简介
TTS(Text To Speech) 译为从文本到语音,TTS是人工智能AI的一个模组,是人机对话的一部分,即让机器能够说话。
TTS是语音合成技术应用的一种,首先采集语音波形,然后进行优化处理,最后存储在数据库中,合成语音是提取波形转换成自然语音输出。
2、Windows语音
2.1 简介
https://support.microsoft.com/zh-cn/windows/%E5%9C%A8%E8%AF%AD%E9%9F%B3%E6%8F%90%E7%A4%BA%E4%B8%ADwindows-83ff75bd-63eb-0b6c-18d4-6fae94050571
Windows 语音识别允许你单独通过语音控制电脑,而无需键盘或鼠标。 本文列出了可用于语音识别的命令。
2.2 安装
speech模块是一个封装层模块,用于调取Windows本地的语音合成服务。因此请确保你使用的OS是Windows并且有python调取Windows的API,pywin32。
pip install speech

speech.py文件进行修改:print(prompt)、import _thread
pip install pypiwin32

2.3 代码
import speech#自动体系
speech.say("要开始啦")#输入语音
while True:print(u"开始说话")say = speech.input() # 接收语音# speech.say("你说了" + say) # 说话speech.say(say) # 说话

import speechwhile True:say = speech.input() # 接收语音speech.say("you said:"+say) #说话if say == "你好":speech.say("How are you?")elif say == "天气":speech.say("今天天气晴!")
3、pyttsx3
3.1 简介
https://pypi.org/project/pyttsx3/
适用于 Python 2 和 3 的文本转语音 (TTS) 库。无需互联网连接或延迟即可工作。支持多种TTS引擎,包括Sapi5、nsss、espeak等。
pyttsx3 是 Python 中的文本到语音转换库。与其他库不同,它可以离线工作,并且与 Python 2 和 3 兼容。
pyttsx3库 : 是Python中的文本到语音转换库, 它可以脱机工作
优点 : 可以脱机工作, 支持将语音直接朗读, 可调节音量和速度
缺点 : 初始只有英语(女)和中文(女)的语音包, 其他语言的语音包需要另外下载
3.2 安装
pip install pyttsx3

3.3 代码
#coding=utf-8
import pyttsx3
pyttsx3.speak("Hello World!")
pyttsx3.speak("持续推动我国经济实现质的有效提升和量的合理增长")
import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()
import pyttsx3
engine = pyttsx3.init() # object creation""" RATE"""
rate = engine.getProperty('rate') # getting details of current speaking rate
print (rate) #printing current voice rate
engine.setProperty('rate', 125) # setting up new voice rate"""VOLUME"""
volume = engine.getProperty('volume') #getting to know current volume level (min=0 and max=1)
print (volume) #printing current volume level
engine.setProperty('volume',1.0) # setting up volume level between 0 and 1"""VOICE"""
voices = engine.getProperty('voices') #getting details of current voice
#engine.setProperty('voice', voices[0].id) #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id) #changing index, changes voices. 1 for femaleengine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()
4、ggts
4.1 简介
https://pypi.org/project/gTTS/
gTTS(Google Text-to-Speech),一个 Python 库和 CLI 工具,用于与 Google 翻译文本转语音 API 交互。

gTTS(Google Text-to-Speech),一个 Python 库和 CLI 工具,用于与 Google Translate 的文本转语音 API 交互。 将语音数据写入文件、类似文件的对象 (bytestring) 以进行进一步的音频操作。
4.2 安装
pip install gTTS

4.3 代码
gtts-cli 'hello' --output hello.mp3
或
from gtts import gTTS
tts = gTTS('hello')
tts.save('hello.mp3')

执行失败了。
5、SAPI
SAPI是微软Speech API , 是微软公司推出的语音接口,而从WINXP开始,系统上就已经有语音识别的功能了,可是用武之地相当之少,他并没有给出一些人性化的自定义方案,仅有的语音操控命令显得相当鸡胁。
操作window dll的库,它可以实现很多功能,十分强大。
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("hello")
6、SpeechLib
comtypes依赖pyttsx3包。( comtypes Required-by: pyttsx3 )
安装:
pip install comtypes
代码:
from comtypes.client import CreateObjectengine = CreateObject('SAPI.SpVoice')
stream = CreateObject('SAPI.SpFileStream')from comtypes.gen import SpeechLib # 导这个包必须放在 上面3行代码 后面,否则运行时会报错。infile = 'demo.txt'
outfile = 'demo_audio.wav'stream.Open(outfile, SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
# 读取文本内容
f = open(infile, 'r', encoding='utf-8')
theText = f.read()
f.close()
engine.speak(theText)
stream.close()
7、百度AI
https://ai.baidu.com/
基于Deep Peak2的端到端建模,将音频流实时识别为文字,并返回每句话的开始和结束时间,适用于长句语音输入、音视频字幕、会议等场景.


https://ai.baidu.com/sdk#asr

https://console.bce.baidu.com/ai/#/ai/speech/overview/resource/getFree

pip install baidu_aip
from aip import AipSpeech#用上面提到的APP ID, API Key和Secret Key替换
APP_ID = 'xxxx'
API_KEY = 'xxxx'
SECRET_KEY = 'xxxx'client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)manual = r'百度你好! \
语音合成测试。'if __name__ == '__main__':print('start voice process')#语速spd: 5, 语调pit: 5, 播音per: 1result = client.synthesis(manual, 'zh', 1, {'vol': 5, 'per':1,})# 识别正确返回语音二进制 错误则返回dict 参照下面错误码if not isinstance(result, dict):with open('audio.mp3', 'wb') as f:f.write(result)print('process end')
8、百度飞桨
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install paddlespeech -i https://pypi.tuna.tsinghua.edu.cn/simplepaddlespeech tts --input '人工智能体验' --output test.wav
paddlespeech asr --input test.wav
paddlespeech asr --lang zh --input test.wav
from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="test.wav")
print(result)
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
相关文章:
【小沐学Python】Python实现TTS文本转语音(speech、pyttsx3、百度AI)
文章目录 1、简介2、Windows语音2.1 简介2.2 安装2.3 代码 3、pyttsx33.1 简介3.2 安装3.3 代码 4、ggts4.1 简介4.2 安装4.3 代码 5、SAPI6、SpeechLib7、百度AI8、百度飞桨结语 1、简介 TTS(Text To Speech) 译为从文本到语音,TTS是人工智能AI的一个模组…...
TCP通信
第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式,也有着优点和缺点…...
2023济南大学acm新生赛题解
通过答题情况的难度系数: 签到:ACI 铜牌题:BG 银牌题:EF 金牌题:DHJKO 赛中暂未有人通过:LMNP A - AB Problem 直接根据公式计算就行。 #include<stdio.h> int main(){int a,b;scanf("%…...
docker-compose安装教程
1.确认docker-compose是否安装 docker-compose -v如上图所示表示未安装,需要安装。 如上图所示表示已经安装,不需要再安装,如果觉得版本低想升级,也可以继续安装。 2.离线安装 下载docker-compose安装包,上传到服务…...
【rabbitMQ】rabbitMQ用户,虚拟机地址(添加,修改,删除操作)
rabbitMQ的下载,安装和配置 https://blog.csdn.net/m0_67930426/article/details/134892759?spm1001.2014.3001.5502 rabbitMQ控制台模拟收发消息 https://blog.csdn.net/m0_67930426/article/details/134904365?spm1001.2014.3001.5502 目录 用户 添加用户…...
Python高级算法——动态规划
Python中的动态规划:高级算法解析 动态规划是一种解决多阶段决策问题的数学方法,常用于优化问题。它通过将问题分解为子问题,并在解决这些子问题的基础上构建全局最优解。在本文中,我们将深入讲解Python中的动态规划,…...
MySQL在Centos7环境安装
说明: • 安装与卸载中,⽤⼾全部切换成为root,⼀旦 安装,普通⽤⼾能使⽤的 1. 卸载不要的环境 [roothcss-ecs-1036 ~]# ps ajx |grep mariadb # 先检查是否有mariadb存在 13134 14844 14843 13134 pts/0 14843 S 1005 0:00 gr…...
halcon视觉缺陷检测常用的6种方法
一、缺陷检测综述 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。首先常见缺陷:凹凸、污点瑕疵、划痕、裂缝、探伤等。常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷行业的检测,有对应算子封装): 1.blob+特征 2.blob+差分+特征 3.光度…...
openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup
文章目录 openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup151.1 背景信息151.2 前提条件151.3 语法151.4 示例151.5 从备份文件恢复数据 openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebackup 151.1 …...
报错:Uncaught ReferenceError: Cannot access ‘l‘ before initialization
在文件 .babelrc 或 babel.config.js ,webpack.config.js 下配置 .babel 或 babel.config.js "plugins": ["babel/plugin-transform-runtime" ] webpack.config.js,详见 Webpack target module.exports {target: [web, es5], }...
计算机视觉-机器学习-人工智能顶会 会议地址
计算机视觉-机器学习-人工智能顶会 会议地址 最近应该要整理中文资料的参考文献,很多会议文献都需要补全会议地点(新国标要求)。四处百度感觉也挺麻烦的,而且没有比较齐全的网站可以搜索。因此自己整理了一下计算机视觉-机器学习…...
784. 字母大小写全排列
字母大小写全排列 描述 : 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 题目 : LeetCode 784.字母大小写全排列 : 784. 字母大小写全排列 分析…...
HarmonyOS鸿蒙应用开发——HTTP网络访问与封装
文章目录 基本使用封装参考 基本使用 鸿蒙应用发起HTTP请求的基本使用,如下: 导入http模块创建httpRequest对象发起http请求,并处理响应结果 第一、导入http模块: import http from ohos.net.http第二、创建httpRequest对象&a…...
vscode 编写爬虫爬取王者荣耀壁纸
网上关于爬虫大部分教程和编辑器用的都不是vscode ,此教程用到了vscode、Python、bs4、requests。 vscode配置Python安装环境可以看看这个大佬的教程 03-vscode安装和配置_哔哩哔哩_bilibili vscode配置爬虫环境可以参考这个大佬的教程【用Vscode实现简单的python…...
spring boot + uniapp 微信公众号 jsapi 支付
后端支付类 package com.ruoyi.coupon.payment;import com.google.gson.Gson; import com.ruoyi.coupon.payment.dto.PayParamJsapiDto; import com.ruoyi.coupon.payment.dto.RefundParam; import com.ruoyi.coupon.service.ICouponConfigService; import com.wechat.pay.jav…...
【数学建模】《实战数学建模:例题与讲解》第九讲-时间序列分析(含Matlab代码)
【数学建模】《实战数学建模:例题与讲解》第九讲-时间序列分析(含Matlab代码) 基本概念确定性时间序列分析方法平稳时间序列模型ARIMA模型季节性序列 习题8.11. 题目要求2.解题过程3.程序4.结果 习题8.21. 题目要求2.解题过程3.程序4.结果 习…...
大话数据结构-查找-有序表查找
注:本文同步发布于稀土掘金。 3 有序表查找 3.1 折半查找 折半查找(Binary Search)技术,又称为二分查找,它的前提是线性表中的记录必须是关键码有序(通常从小到大有序),线性表必须…...
Qt实现二维码生成和识别
一、简介 QZxing开源库: 生成和识别条码和二维码 下载地址:https://gitcode.com/mirrors/ftylitak/qzxing/tree/master 二、编译与使用 1.下载并解压,解压之后如图所示 2.编译 打开src目录下的QZXing.pro,选择合适的编译器进行编译 最后生…...
MyBatisX插件
MyBatisX插件 MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。 但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表联查,我们就需要自己去编写代码和SQ…...
《C++20设计模式》学习笔记---原型模式
C20设计模式 第 4 章 原型模式4.1 对象构建4.2 普通拷贝4.3 通过拷贝构造函数进行拷贝4.4 “虚”构造函数4.5 序列化4.6 原型工厂4.7 总结4.8 代码 第 4 章 原型模式 考虑一下我们日常使用的东西,比如汽车或手机。它们并不是从零开始设计的,相反&#x…...
Android BSP 开发修改轨迹
一、 Android BSP 整体开发修改轨迹图Android BSP 软件架构 │ ├── 【第1层:Bootloader 引导层】 │ ├── 1.1 一级引导程序(Primary Bootloader) │ │ ├── ROM Code(芯片固化) │ │ └── SPL /…...
如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南
如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15设备设计的系统定制工具,让普通…...
Jetson平台高温警告静默指南:深入解析notify_disable与nvpmodel_indicator.py
1. 为什么需要关闭Jetson的高温警告 当你把Jetson设备用在嵌入式系统或者工业自动化场景时,那个频繁弹出的"Caution - Hot surface. Do not touch"警告可能会让人抓狂。我去年在一个智能监控项目上就遇到过这种情况——设备在户外机箱里持续运行ÿ…...
Anthropic代码泄露,AI江湖风云再起?
过去24小时,AI圈因Anthropic的两次泄露事件炸开了锅。Claude Code源码泄露,Mythos跑分也流出。这一系列事件不仅暴露了模型细节,还引发对Anthropic未来的诸多猜测。两次泄露,引发行业震动先是Claude Code源码意外泄露,…...
5大突破让暗黑2单机体验翻倍:PlugY插件全方位应用指南
5大突破让暗黑2单机体验翻倍:PlugY插件全方位应用指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 当你第10次因储物箱满被迫丢弃装备时,当…...
DeepCAD实战指南:AI驱动CAD模型生成的终极解决方案
DeepCAD实战指南:AI驱动CAD模型生成的终极解决方案 【免费下载链接】DeepCAD code for our ICCV 2021 paper "DeepCAD: A Deep Generative Network for Computer-Aided Design Models" 项目地址: https://gitcode.com/gh_mirrors/de/DeepCAD DeepC…...
亚马逊/Shopee关键词排名高就一定好?你可能陷入了“数据幻觉”
关键词排名高只说明“看得见”,不代表“卖得动”,更不等于“值得投”。理论锚点信息经济学信号噪音理论:排名只是表层信号,可能混杂品牌词截流等无关信息。SEO 搜索意图分类:信息型搜索不等于交易型搜索。一、误区揭露…...
合规刚需下,游戏行业适合的内网通讯软件怎么选
一、背景 2026年,游戏行业在合规监管、信创推进与降本增效三重驱动下,内部协作与数据安全需求持续升级。《数据安全法》《网络安全法》对游戏企业研发代码、运营数据、用户信息的存储与传输提出明确合规要求,数据泄露、权限失控、协作低效等…...
GEE引擎封挂实战:从M2参数到RunGate网关的完整配置指南
GEE引擎封挂实战:从M2参数到RunGate网关的完整配置指南 在游戏运营过程中,外挂问题一直是困扰开发者和运营者的顽疾。对于使用GEE引擎的游戏服务器来说,如何有效防范和打击外挂行为,维护游戏公平性,是每个技术团队必须…...
esp-nimble-cpp:ESP32上轻量级BLE C++开发指南
1. 项目概述esp-nimble-cpp是专为 ESP32 平台设计的 C 封装库,其核心目标是为 Apache NimBLE BLE 协议栈提供面向对象、线程安全且资源高效的抽象层。该库并非简单封装,而是以工程实践为导向的深度重构:它在保持与 nkolban 经典cpp_utilsBLE …...

