如何使用Python创建一个虚拟助理

news2025/1/11 5:58:30

使用Python创建一个虚拟助手

虚拟助理是基于人工智能的程序。它们是一种智能计算机程序,可以通过语音命令或文本理解人类的自然语言,并为用户执行任务。本文将指导你通过使用Python库来创建你自己的语音助手的过程。

在本教程中,我将在Jetbrains的Pycharm IDE上编写代码。

PyCharm是一个计算机编程的集成开发平台,重点是Python编程语言。JetBrains,一家捷克公司,建造了它。 下载并安装Pycharm后,启动该程序并点击文件菜单,然后选择新项目。一个弹出的信息会问你项目的名称。请给它取一个想要的名字,但在本文中,我们将给我们的项目取名为 "vitualBot"。

该项目将被加载。一旦加载完成,清除 "main.py "文件中的自动内容,为你的代码提供一个干净的屏幕。

虚拟助手是做什么的?

  1. 它倾听你的命令。
  2. 它对你的命令作出反应,要么是成功,要么是失败。

对于这篇文章,将使用3个Python库,它们包括。

  1. Python语音识别。识别语音是将口语翻译成文本的行为。Python支持许多语音识别引擎,如谷歌语音引擎、微软必应语音识别,以及其他许多引擎。

这个库将音频信号翻译成计算机可读的格式。通常情况下,这是一个频谱图。它是一个三维图,X轴是时间,Y轴是频率,颜色代表强度。

复制红色圈出的文字。

 

将你复制的内容粘贴到终端,然后点击回车。该软件包将被安装。一旦这第一个包安装完毕,我们需要第二个包,即。

  1. Python Text To Speech v3 (Pyttsx3)。这个库是Python中的一个文本到语音的转换库。这个库可以离线工作,它也与Python 2和3版本兼容。

一旦你成功安装了第二个软件包,我们将继续安装第三个软件包。

  1. Python音频(PyAudio)。PyAudio允许你使用Python在一些设备上快速播放和录制音频。

注意

对于Linux用户,你在安装Pyaudio时可能会遇到一个错误。

请按照步骤来解决这个错误。

  1. 安装 portaudio模块,使用此命令。
sudo apt-get install libasound-dev
复制代码
  1. 下载portaudio档案

  2. 用以下方法解压缩档案。

tar -zxvf [filename portaudio.tgz]
复制代码
  1. 输入解压后的portaudio文件的目录,然后运行。
./configure && make
复制代码
  1. 一旦成功,用这个命令来安装它。
sudo make install
复制代码
  1. 最后,安装pyaudio。
pip install pyaudio
复制代码

我们已经成功地安装了这三个库。

现在,让我们给我们的虚拟助手以生命!!!

# import the library needed for the virtual assistant

import speech_recognition as assistance
import pyttsx3

# now, let us obtain voice input from the microphone
listener = assistance.Recognizer()

# the next line is to initiate the pttsx3 library
engine = pyttsx3.init()

# let's take voice from our microphone and use our microphone as source
with assistance.Microphone() as source:
    print("Say something...!")
    audio = listener.listen(source)

# recognize your speech using the Google Speech Recognizer
try:
    print("I heard you say " + listener.recognize_google(audio))
except assistance.UnknownValueError:
    print("Hey, I could not understand what you say")
except assistance.RequestError as e:
    print("Request from Google Speech Recognition failed; {0}".format(e))

#the engine will then repeat what you said before performing your command
engine.say(audio)
engine.runAndWait()
复制代码

你可以用Python库实现很多事情。

通过上面的教程,你应该能够更深入地让你的虚拟助手变得更聪明。

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

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

相关文章

2022已经到了尾声,做一个漂亮的倒计时页面迎接2023年的到来

个人主页:天寒雨落的博客_CSDN博客-初学者入门C语言,python,数据库领域博主 目录 前言 效果图 网页直链 完整代码 倒计时的实现原理 前言 2022即将到来,快来一起做一个元旦倒计时分享给自己喜欢的人吧~ 效果图 网页直链 下面是可以直接访问的网页…

离散数学实践三判别图的连通性【JAVA实现】

文章目录思路重要算法&Warshall 算法代码全部代码效果展示思路 对于给定的邻接矩阵 A,可以用可达矩阵 Warshall 算法求出 A 所表示的图的可达矩阵 P。 对于可达矩阵 P 来说,如果 P 的所有元素均为 111,则所给的有向图是强连通的&#xf…

Python实现的一个简洁轻快的后台管理框架.支持拥有多用户组的RBAC管理后台,不用配置各种运行环境

Mini Admin 完整代码下载地址:Python实现的一个简洁轻快的后台管理框架.支持拥有多用户组的RBAC管理后台 Mini Admin,一个简洁轻快的后台管理框架.支持拥有多用户组的RBAC管理后台 🚀 应用场景:2-5人的管理团队,需要管理的资源数…

Mysql 慢日志处理

勿以恶小而为之,勿以善小而不为---- 刘备 有时候我们需要排查执行缓慢的SQL语句,这就用到了mysql慢查询日志。 开启慢查询日志的方式有两种:临时开启和永久开启。 开启慢查询日志功能可能需要mysql的版本达到5.7 查看版本号 select VERSI…

linux常用命令-路径切换及查看

切换路径-cd 我们可以使用cd(change directory,切换目录)的命令来进行目录切换 常规 其命令格式为 cd [相对路径或绝对路径] 例如: // 使用相对路径,切换到postfix目录下 cd ../postfix// 使用绝对路径切换到/var/…

centos7安装zabbix5.0

zabbix官网:https://www.zabbix.com/ 安装Zabbix存储库 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum clean all安装Zabbix server,Web前端,agent yum install zabbix-server-mys…

2023年天津农学院专升本专业课考试考场安排与东西校区入校须知

天津农学院2023年高职升本科专业课考试考场安排等事宜的通知一、考试时间及考场分布情况天津农学院专升本专业课考试2022年12月31日上午在天津农学院东、西校区进行,每位考生请按照准考证上标注的地点参加考试即可,考场安排及考场分布图详见。天津农学院…

docker 安装mysql数据库

docker安装 如果不知道docker怎么安装的,请看docker安装教程 docker 安装mysql 拉取镜像 docker pull mysql:5.7在本地创建目录(存放数据库文件) 容器中的文件,映射到宿主机。 mkdir -p ./mysql/data ./mysql/logs ./mysql/…

FineRrport填报重复数据校验

参考: 校验填报页面的数据是否重复- FineReport帮助文档 - 全面的报表使用教程和学习资料 联立多字段校验是否与数据库中数据重复- FineReport帮助文档 - 全面的报表使用教程和学习资料 1、校验填报页面数据是否重复(多列) 1&#xff09…

Unity Recorder的使用讲解

Unity Recorder的使用讲解使用目的插件下载插件位置窗口基本介绍基本设置选项录制列表Animation Clip参数讲解Movie 电影模式参数介绍SourceGameViewTargeted Camera360ViewRender Texture AssetOutPut ReslutionInclude AudioFlip VerticalTexture SamplingFormatMedia File F…

智慧餐饮远程监控解决方案,让您吃的放心吃的安心

一、行业背景随着国民经济的提高,人们的生活水平也随之提升。近几年,食品安全问题频发,大家也开始对食品安全问题重点关注,尤其是食品生产企业、餐饮单位或学校食堂。自2014年开始,国家食品药品监督管理总局就以及开展…

Docker 概述

系列文章目录 文章目录系列文章目录前言Docker平台用Docker可以做什么Docker架构The Docker daemonThe Docker clientDocker DesktopDocker registriesDocker objectsImagesContainers总结前言 Docker是为开发、运行应用而生的开放的平台。Docker使你可以将应用从依赖中分离&a…

别在用BigDecimal给自己挖坑了!

前言 工作中,我们都会用到BigDecimal来进行金额计算,但是他有许多坑,可能针对新手不注意的话,就给自己多加几个bug了。一起来看看吧。 创建 new BigDecimal()还是BigDecimal#valueOf()? 创建对象的时候应该使用Big…

【Spring【IOC】】——15、使用@PropertySource加载配置文件

📫作者简介:zhz小白 公众号:小白的Java进阶之路 专业技能: 1、Java基础,并精通多线程的开发,熟悉JVM原理 2、熟悉Java基础,并精通多线程的开发,熟悉JVM原理,具备⼀定的线…

Java8中Optional类入门-替代null避免冗杂的非空校验

场景 Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验: Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验_霸道流氓气质的博客-CSDN博客 上面在讲Guava时讲过Optional,下面做具体的入门示例讲解…

深度学习笔记:python的numpy和matplotlib库

1 numpy库 numpy为python数学计算库,里面的数组类提供大量便捷的数组和矩阵运算方法 创建numpy数组: import numpy as np x np.array([1.0, 2.0, 3.0])创建二维数组: import numpy as np a np.array([[1, 2], [3, 4]]) a.shape # outpu…

bWAPP靶场搭建——直接使用虚拟机镜像导入配置

一、bWAPP简介 bwapp是一款非常好用的免费的、开源漏洞演示学习平台;它有100多个网络错误!且它涵盖了所有已知的主要web漏洞,包括OWASP Top 10项目的所有风险。 bWAPP是一个使用MySQL数据库的PHP应用程序;它可以通过Apache/IIS和MySQL托管在L…

优维低代码:关联微应用和Feature Flags 特性开关

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 连载…

图论(1):单源最短路的建图方式

一、单源最短路算法 最短路算法_yan__kai_的博客-CSDN博客 二、例题 1.acwing1129 题意解读&#xff1a;走过一条路存在花费c&#xff0c;求最小费用即求最短路。无向图 直接背模板&#xff1a; #include<iostream> #include<algorithm> #include<cstring&…

环形轨道运料电动葫芦无线控制系统的组成与功能

一&#xff0e;关于环形轨道运料电动葫芦的控制 目前电动葫芦的控制部分都是由PLC完成的&#xff0c;每个电葫芦内都有一台PLC&#xff0c;主站PLC一般设置在地面控制机柜内。由于电葫芦是在半空中移动工作的&#xff0c;与地面PLC的通讯问题一直是电葫芦设备运行中棘手的问题…