python简易语音助手

先上图
在这里插入图片描述

本程序使用的软件:
PyCharm,Designer(PyQt5界面编辑软件)

步骤
1.使用designer绘制出程序界面的图,新建文件选择main windows
使用的控件:
按键
图中两个按键的控件
文本框
Line Edit
在这里插入图片描述
过程条
Priogress Bar
这里是装饰的一个作用
在这里插入图片描述
布局好了以后可以自己调节各个控件字体的样式,点击你需要调整的控件,在designer的右边的属性编辑器选择。
字体:
在这里插入图片描述
这里我将第一个文本显示改成了只读形式:
在这里插入图片描述

布局完成后保存到文件夹里,是一个ui文件,之后需要打开cmd,通过cd指令进入到ui文件所在的文件夹里,使用ui转py文件的指令,其中name是文件的名字

cmd的cd指令,进入指定文件夹,复制所在目录即可。

pyuic5 -o name.py  name.ui

之后用pycharm打开生成的py文件,在文件夹内新建一个main程序,实现ui与程序的分离
代码如下,其中ty包是我生成的py文件,也就是你自定义的name。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import tyif __name__ == '__main__':app = QApplication(sys.argv)MainWindow = QMainWindow()ui = ty.Ui_mainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

这时运行程序可以看到界面显示出来。
1.在main程序下定义一个录音的函数
程序如下,dir_name是你的项目所在路径

def rec():dir_name = 'D:\\xun\\'CHUNK = 1024FORMAT = pyaudio.paInt16CHANNELS = 1RATE = 14400RECORD_SECONDS = 3.5file_name = "123.wav"p = pyaudio.PyAudio()stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK)frames = []for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):data = stream.read(CHUNK)frames.append(data)stream.stop_stream()stream.close()p.terminate()wf = wave.open(dir_name + file_name, 'wb')wf.setnchannels(CHANNELS)wf.setsampwidth(p.get_sample_size(FORMAT))wf.setframerate(RATE)wf.writeframes(b''.join(frames))wf.close()ui.lineEdit_2.setText("我已经听到了,请点击处理按键")

录音函数定义好以后将第一个按键与该函数绑定起来,注意这里绑定的函数不需要括号。
MainWindow.show()后加上

ui.pushButton.clicked.connect(partial(rec))

2.语音识别技术由百度AI提供网址在这

登录以后找到控制台,找到语音技术的模块,创建一个新应用,之后可以看到这个新应用的AppID,API Key,Secret Key
在这里插入图片描述
在此图的右下角有领取免费资源,点进去领取短语音识别,领完后大概半小时就能够使用。
创建应用完成后,在python程序里安装baidu-aip的包,
在main程序下定义一个函数,第7行里的是你的录音文件的路径和一个读取文件的函数

def make():APP_ID = '你的id'API_KEY = '你的key'SECRET_KEY = '你的secret key'aipSpeech = AipSpeech(APP_ID, API_KEY, SECRET_KEY)q=aipSpeech.asr(get_file_content('D:\\xun\\123.wav'), 'wav', 16000, {'dev_pid': 1537,})if q.get('result'):ui.lineEdit_2.setText(q.get('result')[0])fun(q)

定义读取文件函数

def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()

make()函数与第二个按键绑定

ui.pushButton_2.clicked.connect(partial(make))

3.接下来需要一个根据处理出来的内容来判断执行什么样的操作的函数,此部分为def fun(q)。
其中ui.lineEdit_3.setText是文本控件的显示函数。

    if q.get('result')[0]=='你好。':ui.lineEdit_3.setText("你好,很高兴为您服务。")elif q.get('result')[0]=='打开QQ。':ui.lineEdit_3.setText("正在为您打开QQ。")auto.open_app_qq()elif q.get('result')[0] == '播放音乐。':ui.lineEdit_3.setText('爱了吗?')auto.music()elif q.get('result')[0] == '':ui.lineEdit_3.setText("可能是声音太小。")else:ui.lineEdit_3.setText("我还不明白你说的。")

4.这里我重新写了个库auto,用来存放一些功能的函数,如果要打开qq,需要找到qq的exe文件的路径,使用os库的命令来打开,其他同理

import osdef open_app_qq():dir1 = r'D:\Program Files\Tencent\QQ\Bin\QQScLauncher.exe'os.startfile(dir1)def music():dir2=r'"D:\xun\music.mp3"'os.startfile(dir4)

整体代码如下:各个函数里面我就没添加进来,上面都有。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from functools import partial
import ty
from aip import AipSpeech
import pyaudio
import wave
import autodef fun(q):def rec():def make():def get_file_content(filePath):if __name__ == '__main__':app = QApplication(sys.argv)MainWindow = QMainWindow()ui = ty.Ui_mainWindow()ui.setupUi(MainWindow)MainWindow.show()ui.pushButton.clicked.connect(partial(rec))ui.pushButton_2.clicked.connect(partial(make))sys.exit(app.exec_())

运行以后点击启动按键,对麦克风说话,给出提示后点击处理就能执行你所说的功能了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用小爱同学语音控制电脑关机 - Winform C#

使用小爱同学语音控制电脑变关机 前言实现原理准备注册巴法云账号接入巴法云接入米家 编写程序连接TCP接收信息并运行关机指令发送指令订阅主题添加心跳机制后台运行阻止默认关闭窗口事件 完整代码 前言 小爱同学应该已经是家喻户晓的了,现在一直用来控制家里的家电…

用Kotlin开发智能语音助手,打造一款“懂你”的对话精灵

简介 Hi,各位同学大家好,我有新课上线啦,距离上一门课程已经过去九个月了,这门课的知识点是以Kotlin为主的,自Kotlin被Google转正之后,这门语言就备受我们Android开发者的关注,经过几年的发展下…

用Python程序实现语音识别就是这么简单!​

前言 Python程序提供了其他技术无法比拟的交互性和可访问性,重要的是,在 Python 程序中实现语音识别非常简单。我们一起来了解python程序的:语音识别的工作原理、PyPI 支持哪些软件包以及如何安装和使用 SpeechRecognition 软件包&#xff0…

树莓派小爱同学、天猫精灵、智能音箱、百度语音极速版、百度语音标准版、语音识别、语音合成终极方案

第一句话,python2版本的代码,python3你改改就完事了 流程图如下: 全套教程下载地址点击下载 首先需要调用这个方法安装百度的语音识别 https://ai.baidu.com/ai-doc/SPEECH/Bk4o0bmt3 安装使用Python SDK有如下方式: 如果已安…

uniapp开发微信小程序实现语音识别,使用微信同声传译插件,

第一步:在微信小程序管理后台:“设置”-》“第三方设置”-》“插件管理”中添加插件。 但是这个地方,没有搜索到插件,就到微信服务市场 搜索到以后添加到需要的小程序里面,然后返回管理中心查看,就可以看…

小白也可以学会小爱同学语言控制灯

教程 软件准备 电脑端安装Arduino软件,手机端安装点灯科技APP,以及米家APP和小爱音响。 电脑端所需以及点灯科技APP都在在网盘资料文件夹中,需要网盘资源的评论区找我要。 硬件准备 小爱音响一个 ESP8266模块一个 舵机一个 硬件连接 …

基于Blinker的小爱同学语音控制【脱坑指南】

基于Blinker的小爱同学语音控制ESP8266 前些天在使用esp8266时遇到很多小爱不能控制设备问题,现在来叙述我控制过程中所遇到的问题,以及到完整的小爱能成功控制Esp8266的过程。 1.需要先安装8266_package_2.7.4.exe,不然不能够正确使用,相关…

国产开源版「ChatGPT插件系统」来了!豆瓣、搜索一应俱全,清华、面壁智能等联合发布...

视学算法报道 编辑:好困 【导读】近期,面壁智能联合来自清华、人大、腾讯的研究人员共同发布了中文领域首个基于交互式网页搜索的问答开源模型WebCPM,这一创举填补了国产大模型该领域的空白。面壁智能自研工具学习引擎BMTools也因此被成功实…

多快好省的多样算力,让下一代互联网如你所愿

从前段时间让所有人刮目相看的AI绘画,到最近火爆全网的CharGPT,2022年的互联网行业为我们贡献了无数新鲜点子和妙哉的应用,始终令人回味无穷。回首这一年,我们好像并没有见证新的“杀手级”应用诞生;但仔细回味&#x…

泰坦号内爆5位富豪遇难!AI复原最后恐怖瞬间,设计缺陷真相公开

转自:新智元 30美元游戏手柄可操控潜水器?一系列巨大设计缺陷,注定了5位富人「泰坦尼克号」残骸之旅是一场生命的豪赌。 失踪4天,深海「泰坦号」潜水器竟灾难性内爆。 5位乘员全部遇难! 与爆炸不同,内爆是一…

独家 | 100位特邀用户亲测GPT-4,带来超预期体验!

GPT-4.0作为近年来自然语言处理领域的一项重要突破,备受人们关注和期待。为了助力用户全面理解和高效使用该技术,Beezy团队迅速实现GPT-4.0 API对接,并推出GPT-4.0免费体验官计划。 近期,首期体验官活动完美结束,Beez…

【大模型】创新工场AI工程院执行院长:后GPT时代,多模态是最大的机会

目录 核心观点 大语言模型的“垄断”与“白菜化” 多模态AI的广阔天地

后GPT时代,多模态是最大的机会

作者 | 王咏刚,SeedV实验室创始人/CEO,创新工场AI工程院执行院长 我既是软件工程师,也是投资人和创业者。我曾参与多个成功 AI 项目的创建、孵化或投资。今天,ChatGPT 开启了崭新的 AI 2.0 时代,我个人也全力投入到一…

chatGPT智能AI,就是一次未来新革命!

hatGPT一经面世,立刻就火爆全世界,国内还无法直接使用,居然成为全球热度第一名;如果说不是一次全新的革命科技,又怎么能会那么高的热度?毕竟这个不是平常的八卦新闻。 很多人还不以为然,这完全…

【金猿人物展】数睿数据创始人兼CEO穆鸿:大数据价值创造关键在于应用普惠...

‍ 穆鸿 本文由数睿数据创始人兼CEO穆鸿撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。 ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 事情还得从我2022年这一年经历的一些事情谈起,由于工作的原因,我要经…

Protobuf-net3.2.8中的protogen.exe之使用

目录 protobuf是个好东西 遇到问题 顺便研究一下命令行程序如何调试 protobuf是个好东西 protobuf是一个轻量级的数据格式,相比json,它的数据量为json的1/3,且存储方式为2进制,并进行了压缩,序列化和反序列化更快&…

科技资讯|下一代Bing搜索,使用比ChatGPT更强大的语言模型

微软bing,经常被人遗忘的搜索引擎即将重获新生。正如预期的那样,这家科技巨头周二宣布,它正在与 OpenAI 合作,利用该公司的 AI 技术增强 Bing。然而,微软也有一个惊喜:下一个版本的 Bing 将采用一种新的下一…

BFT 最前线|OpenAI暂时下线ChatGPT”浏览“功能;Stability AI CEO:5年内,人类程序员将不复存在

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 Open AI暂时下线ChatGPT“浏览”功能 日前OpenAI方面宣布,面向ChatGPT Plus用户的"浏览"功能会在某些情况下出现故障,因此已于7月3日暂时禁用了这一功能。该功能是为了提高ChatGPT的搜索体验…

开发者笑疯了! LLaMa惊天泄露引爆ChatGPT平替狂潮,开源LLM领域变天

【导读】Meta的LLaMA模型开源,让文本大模型迎来了Stable Diffustion时刻。谁都没想到,LLaMA的一场「史诗级」泄漏,产生了一系列表现惊艳的ChatGPT「平替」。 谁能想到,一次意外的LLaMA泄漏,竟点燃了开源LLM领域最大的…

巴比特 | 元宇宙每日必读:ChatGPT推出新功能「自定义指令」,可秒变「高级个人AI助理」,用户可设定各种角色...

摘要:据新智元报道,继Code Interpreter后,ChatGPT又迎来重磅升级。今天,OpenAI官宣了「自定义指令」(Custom instructions)新功能,该功能可让你的ChatGPT秒变个人助理,教练、营养师、…