pyttsx3自动化脚本经典案例

news2024/9/24 9:28:35

pyttsx 是一个 Python 库,可以将文本转换为语音。它支持多个语音引擎,并且可以在 Windows、Linux 和 macOS 等不同平台上运行。

pyttsx 可以用来做什么?
将文本转换成语音输出,例如将电子书朗读出来。
在语音助手或者聊天机器人中实现自然语言的语音回复功能。
在自动化脚本中添加语音提示功能。
pyttsx 的特点
支持多个语音引擎,包括 Microsoft SAPI5(Windows 平台)和 espeak(跨平台)等。
提供了丰富的语音选项,包括语速、音调、音量等。
跨平台支持,可以在 Windows、Linux 和 macOS 上运行。
易于使用的 API 接口,可以通过几行代码快速实现文本转语音的功能。

语音常见的概念:

ASR语音识别(Automatic Speech Recognition),是将声音转化成文字的过程

① 通过麦克风输入人的声音

② 声学处理:处理掉杂音,噪音

③ 特征处理:提取声音中的关键因素 如:小米 xiao mi

④ 模型匹配:如xiaomi 可以匹配小米或者小蜜,需要根据前后内容计算出概率最大内容进行输出给用户确认

NLP:自然语言处理(Natural Language Processing),是理解和处理文本的过程

文本预处理、词法分析、句法分析、语义理解、分词、文本分类、文本相似度处理、情感倾向分析、文本生成等。

NLP的工作逻辑是:将用户的指令进行Domain(领域)→Intent(意图)→Slot(词槽)三级拆分。

以“帮我设置一个明天早上8点的闹钟”为例:该指令命中的领域是“闹钟”,意图是“新建闹钟”,词槽是“明天8点”。

这样,就将用户的意图拆分成机器可以处理的语言。

TTS:语音合成(Text-To-Speech):简称TTS,是把文本转化成语音的过程

  • 1、 拼接法

首先,要准备好大量的语音,这些音都是又基本的单位拼接成的(基本单位如音节、音素等),然后从已准备好的声音中,抽取出来合成目标声音。

  • 优点:语音合成的质量比较高。

  • 缺点:数据量要求很大,数据库里必须有足够全的“音”。

  • 2、 参数法

根据统计模型来产生每时每刻的语音参数(包括基频、共振峰频率等),然后把这些参数转化为波形。

  • 优点:对数据的要求要小点。

  • 缺点:质量比拼接法差一些。

  • 讯飞小语种语音合成方案

  • webAPI 在线合成方式

    https://console.xfyun.cn/services/tts

使用 pyttsx

要开始使用 pyttsx,首先需要安装该库。在命令行或终端中输入以下命令:

pip install pyttsx3
 

import pyttsx3

engine = pyttsx3.init()
engine.say("Hello, world!")
engine.runAndWait()

这段代码会输出一句 "Hello, world!" 的语音。

示例

以下是一些使用 pyttsx 的示例:

示例 1:朗读文本文件
import pyttsx3

engine = pyttsx3.init()

with open('text.txt', 'r') as file:
    text = file.read()

engine.say(text)
engine.runAndWait()
示例 2:改变语速和音量
import pyttsx3

engine = pyttsx3.init()

engine.setProperty('rate', 180)  # 设置语速为每分钟 180 个单词
engine.setProperty('volume', 0.8)  # 设置音量为 80%

engine.say("Hello, world!")
engine.runAndWait()
示例 3:列出可用的语音引擎
import pyttsx3

engine = pyttsx3.init()

voices = engine.getProperty('voices')
for voice in voices:
    print(voice.id, voice.name, voice.languages)

这个例子会列出当前系统上可用的所有语音引擎及其名称和支持的语言列表。

结论
如果你需要在 Python 中实现文本转语音的功能,那么 pyttsx 是一个不错的选择。它可以轻松地与你的代码集成,并提供了一系列易于使用的 API 接口。无论是在开发语音助手还是自动化脚本中,pyttsx 都是一个非常实用的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993420.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 快速构建LAMP环境

目录 部署方式: 基础环境准备: 1.安装Apache服务 (1)安装Apache (2)安装一些Apache的扩展包 2.安装PHP语言 (1)下载php软件仓库 (2)指定php安装版本…

Linux-vim编辑器以及权限-04

我们为什么要把这两个单独拎出来讲呢?大家应该需要知道权限是什么,我们的linux是多用户多任务的,所以可能有许多用户可以操作,万一他们把重要的文件删了呢,所以要给他设置权限,而我们的vim编辑器也是非常重要的,用来编辑我们的文本信息,第二章我们讲到了vi,他们两个…

并行训练技术概述

继续开一个新专栏,这里主要收集一些并行训练的相关内容。 文章目录 并行/分布式训练概述为什么需要?如何实施? 并行/分布式训练概述 首先想要说明的是,并行训练和分布式训练的概念其实都能讲,但前者可能更侧重于技术实…

李晨晨的嵌入式学习 DAY21

今天主要也是对昨天学习的进行了补充 一,时间函数 1.time函数 函数原型:time_t time(time_t *tloc); 功能:获取当前时间(自1970年1月1日(称为Unix纪元或Epoch)以来的秒数,即Unix时间戳&#x…

群晖NAS安装Video Station结合内网穿透实现远程访问本地存储的影音文件

文章目录 前言1.使用环境要求:2.下载群晖video station:3.公网访问本地群晖video station:4.公网条件下访问本地群晖video station5.公网条件下使用移动端(安卓,ios等系统)访问本地群晖video station 前言 …

使用 Arduino 串行绘图仪可视化实时数据

使用 Arduino 串行绘图仪可视化实时数据 Using The Arduino Serial Plotter To Visualize Real Time Data 参考: Arduino Docs: Using the Serial Plotter Tool (IDE v2) Arduino Docs:使用串行绘图仪工具 (IDE v2) The ADC-10-…

8.1 迭代器的概念与使用:走进 Python 的迭代世界

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

jwt伪造身份组组组合拳艰难通关

前言 现在的攻防演练不再像以往那样一个漏洞直捣黄龙,而是需要各种组合拳才能信手沾来,但是有时候使尽浑身解数也不能诚心如意。 前期信息收集 首先是拿到靶标的清单 访问系统的界面,没有什么能利用的功能点 首先进行目录扫描,…

IO/作业/2024/8/8

1第一题 #include <sys/stat.h> #include <fcntl.h> #include <pthread.h> #include <semaphore.h> #include <wait.h> #include <signal.h> #include <sys/socket.h> #include <arpa/inet.h> #include <sys/socket.h>…

如何禁用外来U盘,保护企业电脑不被“插”一刀?

在数字时代&#xff0c;U盘就像是随身携带的小型保险箱&#xff0c;但它也可能变成一个潜伏的危险品。想象一下&#xff0c;有一天你的同事无意间把一个带有病毒的U盘插进了你的电脑&#xff0c;结果你辛辛苦苦做出来的项目文件就那么瞬间被格式化了…… 为了避免这种情况的发…

CUTLASS 2.x CUTLASS 3.x Intro 学习笔记

CUTLASS GEMM模板中有大量可以调节和设置的模板参数&#xff0c;这些参数的设置会高度影响Kernel性能。这个分享将为大家介绍从2.x到3.x&#xff0c;CUTLASS kernel实现的变化&#xff0c;这些参数的原理和选择的最佳实践。Slides来自BiliBili NVIDIA英伟达频道 上传的《Tensor…

python-热杆上的蚂蚁(赛氪OJ)

[题目描述] 有一个不断升温的杆子&#xff0c;上面有若干个蚂蚁&#xff0c;蚂蚁们需要尽快爬出这个杆子&#xff0c;否则就会因为高温而被烧死。 这里假设每只蚂蚁行走的最大速度是 1cm/s 。 当一只蚂蚁走到杆的尽头时&#xff0c;就会立即从秆上掉落&#xff0c;从而逃离热杆…

两种企业总体业务流程架构模式的比较分析

在之前的关于企业业务流程规划的系列文章中&#xff0c;我们分别对企业业务流程规划的价值、原则&#xff0c;以及如何应用企业的业务流程架构等做了充分的阐述&#xff0c;今天我们将对两种常见的企业总体业务流程架构模式进行比较分析。 我们在辅导企业做业务流程规划和总体…

Python打开JSON/CSV文件的正确方式

前言 我们在使用python的过程中&#xff0c;经常需要它完成一些数据处理的工作&#xff0c;其中尤以json/csv文件为常见。今天&#xff0c;博主针对UnicodeDecodeError异常进行试验&#xff0c;因为这个是新手最容易犯错的地方。 Q&#xff1a;如何应对 UnicodeDecodeError 读…

(el-Time-Picker)操作(不使用 ts):Element-plus 中 TimePicker 组件的使用及输出想要时间格式需求的解决过程

Ⅰ、Element-plus 提供的 TimePicker 时间选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供 TimePicker 组件情况&#xff1a; 其一、Element-ui 自提供的 TimePicker 代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template>…

七、1 ADC模数转换器介绍+有关知识点

目录 1、介绍 &#xff08;1&#xff09;ADC&#xff0c;模拟信号转换为数字信号 &#xff08;2&#xff09;DAC和PWM&#xff0c;数字信号转换为模拟信号 &#xff08;3&#xff09;ADC的两个关键参数 &#xff08;4&#xff09; &#xff08;5&#xff09; &#xff08…

深度学习代码运行RuntimeError:No such operator torchvision::nms解决方案

RuntimeError: No such operator torchvision::nms解决方案 跑代码的时候碰到了"RuntimeError: No such operator torchvision::nms"&#xff0c;找到的资料显示大多是"torch"和"torchvision"版本不匹配&#xff0c;让二者版本一致即可解决。但我…

抱抱脸自动下载模型地址

HuggingFace模型自动下载找保存地址 问题&#xff1a;OSError: Incorrect path_or_model_id: THUDM/cogvlm2-llama3-chat-19B/model.safetensors.index.json. Please provide either the path to a local folder or the repo_id of a model on the Hub. 解决&#xff1a;MODEL_…

多叉树的深度优先遍历(以电话号码的字母组合为例)

在我们的座机上&#xff0c;都有这种数字与字母对应的按键。 以此为例&#xff0c;讲解多叉树的深度优先遍历 问题 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同…

奥运新项目带来新增长,小众运动攀岩相关商品成交额同比增长 160%

巴黎奥运会临近收官&#xff0c;中国健儿在乒乓球、网球、跳水、游泳等众多项目中表现出色&#xff0c;不仅吸引了全球目光&#xff0c;更在国内掀起了一股强劲的“奥运热”。抖音电商数据显示&#xff0c;7月20日-8月2日“热力先锋季”主题活动期间&#xff0c;抖音电商体育类…