基于PyQT5、PocketSphinx的python语音识别小程序

基于PyQT5,PocketSphinx的python语音识别小程序 1,使用说明 1,1 项目简介 参照微软cotana的工作方式,编写自己的一个python语音助手程序

本文包含相关资料包-----> 点击直达获取<-------

基于PyQT5、PocketSphinx的python语音识别小程序

1.使用说明

1.1 项目简介

参照微软cotana的工作方式,编写自己的一个python语音助手程序,借助PyQt5和Pipy,创建可视化窗口,能实现基本的语音识别功能,同时根据几个特定的关键词执行简单的行动(如music,readme等)。

1.2 项目功能要求

  • 实现语音识别,并将识别的内容在屏幕上打印出来

  • 设置几个命令关键词(music,readme),并实现相应的行动。若识别出的内容中包含设置的几个关键词,则程序执行相应的行动。

  • 设置两种识别模式:PocketSphinx中包含7个Recognizer API:程序中使用了两个API:recognize_sphinx和recognize_google。(两种识别模式可由用户自行选择,其中recognize_sphinx可直接在本地运行,但识别精度较低;recognize_google识别精度较高,但是使用recognize_google需要处于联网状态下且IP地址需要在境外,否则语音识别会出现错误)

  • 设置文本框:用户可直接在文本框中输入命令,其执行效力与语音输入等效

2.程序设计与实现

2.1 设计

python class Ui_MainWindow(object):

Ui_Mainwindow类加载图形化用户界面,控制界面布局,类中包含各种Label,PushButton,MenuBar控件。

python class myWindow(QtWidgets.QMainWindow):

mywindow类处理交互逻辑,类中包含各种执行函数,同时实现控件与函数的连接。

2.2 主要函数实现

声音监听与处理函数

```python def listen(self): # Working with Microphones mic = sr.Recognizer() with sr.Microphone() as source: # use the default microphone as the audio source audio = mic.listen(source) # listen for the first phrase and extract it into audio data try: if self.isgoogle: content = mic.recognize_google(audio) else: content = mic.recognize_sphinx(audio) except sr.RequestError: self.ui.label.setText("Something was wrong! Try again......")

COMMEND = ["music", "open"]
commend_is_music = re.search(COMMEND[0].lower(), content.lower())
commend_is_file = re.search(COMMEND[1].lower(), content.lower())
if commend_is_music:
    self.ui.label.setText("you said: \" " + content + "\"")
    win32api.ShellExecute(0, 'open', 'D:\\网易云音乐\\CloudMusic\\cloudmusic.exe', '', '', 1)
elif commend_is_file:
    self.ui.label.setText("you said: \"" + content + "\"")
    win32api.ShellExecute(0, 'open', 'D:\\Notpad++\\Notepad++\\notepad++.exe', '', '', 0)
else:
    self.ui.label.setText("you said: \" " + content + "\"\nIt's not a valid command.")

```

创建监听线程

python def listen_thread(self): self.ui.label.setText("I'm listening...... ") t1 = threading.Thread(target=self.listen) t1.setDaemon(True) t1.start()

文本处理函数

python def text_changed(self): content = self.ui.textbox.text() print(content) COMMEND = ["music", "open"] commend_is_music = re.search(COMMEND[0].lower(), content.lower()) commend_is_file = re.search(COMMEND[1].lower(), content.lower()) if commend_is_music: self.ui.label.setText("you typed: \" " + content + "\"") win32api.ShellExecute(0, 'open', 'D:\\网易云音乐\\CloudMusic\\cloudmusic.exe', '', '', 1) elif commend_is_file: self.ui.label.setText("you typed: \"" + content + "\"") win32api.ShellExecute(0, 'open', 'D:\\Notpad++\\Notepad++\\notepad++.exe', '', '', 0) else: self.ui.label.setText("you typed: \" " + content + "\"\nIt's not a valid command.")

创建文本处理线程

python def text_thread(self): t2 = threading.Thread(target=self.text_changed) t2.setDaemon(True) t2.start()

连接各类控件与相应函数

python self.ui.recognize_btn.clicked.connect(self.listen_thread)#语音识别按钮连接监听线程 self.ui.sphinx_bar.triggered.connect(self.sphinxbar_recognize)#sphinx模式触发 self.ui.google_bar.triggered.connect(self.googlebar_recognize)#google模式触发 self.ui.text_btn.clicked.connect(self.text_thread)#文本框输入确认按钮连接文本处理线程

3.测试截图

参考文献

  • 音乐智能耳机后台管理系统的设计与实现(中国地质大学(北京)·吕莹)
  • 基于用户行为的音乐推荐系统设计与实现(华中科技大学·郝陆风)
  • 面向垂直领域的知识图谱构建和智能问答系统设计与实现(北京邮电大学·王楠楠)
  • 基于SSM框架的语音管理平台的设计与开发(浙江工业大学·赵雨滴)
  • 基于分布式任务队列的表达力评测系统设计与实现(南京大学·褚东宇)
  • 音乐智能耳机后台管理系统的设计与实现(中国地质大学(北京)·吕莹)
  • 互动课堂系统的设计与实现(北京交通大学·李松)
  • 华泰平台部门小AI智能客服系统的设计与实现(南京大学·刘德宽)
  • 基于云服务的智能语音技术在智能家居中的应用(南京邮电大学·唐文凯)
  • 基于知识图谱的开放空间知识采集系统(中南民族大学·马荣香)
  • 基于云服务的智能语音技术在智能家居中的应用(南京邮电大学·唐文凯)
  • 手语合成系统的研究与实现(北京邮电大学·陶然)
  • 音乐智能耳机后台管理系统的设计与实现(中国地质大学(北京)·吕莹)
  • 智能电视语音搜索控制系统的设计与实现(华中科技大学·江哲)
  • 基于神经网络的英语学习app系统研发(东华大学·陈风驾)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码助手 ,原文地址:https://bishedaima.com/yuanma/35562.html

相关推荐

  • 基于Springboot+RabbitMQ+redis实现的超市订单管理系统

    基于Springboot+RabbitMQ+redis实现的超市订单管理系统 1 系统需求分析 超市订单管理系统是一个专为连锁店,超市等商业场所提供订单管理平台的系统
    2024年05月14日
    5 1 2
  • 基于mybatis的时间日程管理系统

    基于 MyBatis 的时间日程管理系统 1 绪论 1,1 背景 随着时代的进步,网络技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会
    2024年05月14日
    2 1 1
  • 新手python简单的飞机游戏

    game 一个新手做的python简单的飞机游戏 参考文献 基于Java EE的个人博客管理系统的设计和实现(内蒙古大学·闫伟光) 深度可定制的工具化爬虫系统的设计与实现(北京邮电大学·李笑语) 航空订票服务器爬虫检测技术研究(杭州电子科技大学·陈万烤) 主题爬虫关键技术研究(哈尔滨工程大学·黄正德) 机票票价预测系统设计与实现(大连理工大学·陈岩松) 深度可定制的工具化爬虫系统的设计与实现(北京邮电大学·李笑语) 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航) 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐) 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航) 机票票价预测系统设计与实现(大连理工大学·陈岩松) 山东航空货运业务管理系统的设计与实现(山东大学·高辉) 飞行情报资料管理信息系统设计与实现(中国地质大学(北京)·张晓琴) 山东航空货运业务管理系统的设计与实现(山东大学·高辉) 豆玩手机游戏平台的设计与实现(吉林大学·李天明) 面向高职信息技术教育的严肃游戏设计与实施(大连理工大学·王晓姝)
    2024年05月14日
    1 1 1
  • 基于JSP实现的校园师生交流系统

    基于JSP实现的校园师生交流系统 第1章 课设任务 1,1 课程题目 师生交流系统的设计与开发 1,2 课设目的 复习,巩固JavaWeb的基础知识
    2024年05月14日
    17 1 3
  • 基于Python实现手写数字识别

    基于 TensorFlow 框架的手写数字识别系统 摘要 时下人工智能蔚然成风,作为新型生产要素,在各个领域都极大地推动了经济发展,预示着社会经济将取得巨大增长和和人类潜能将得到深度开发
    2024年05月14日
    4 1 2
  • 基于springboot和ftp实现的网盘文件系统

    基于springboot和ftp实现的网盘文件系统 1,项目简介 因为开发中很多时候都需要上传和下载文件,所以想开发出一个模块,用于文件的上传和下载,自然而然也就想到了网盘
    2024年05月14日
    4 1 1
  • 基于Spring与Spark开发电影推荐网站

    电影推荐系统 演示效果 演示视频 环境搭建 ES ``` docker run -p 9200:9200 -p 9300:9300 --name='es' -d -v /home/k8s-develop/movie/elasticsearch
    2024年05月14日
    4 1 1
  • 基于Python的智能监控平台

    基于Python的智能监控平台 1,环境配置 网站使用了 Flask 框架,安装 Flask : pip install Flask Flask 连接 mysql 数据库需要库 flask_sqlalchemy 和库 pymysql
    2024年05月14日
    2 1 1
  • JavaWeb电商项目

    基于 javaweb 技术的在线电子商城系统 摘 要 随着人们生活水平的提高,对物质要求也越来越高,人们网购的消费也逐年增长,所以电子商务发展十分迅速
    2024年05月14日
    3 1 2
  • 大数据中的文本挖掘之Python

    大数据中的文本挖掘 Introduction 本次作业的任务是故事生成,即给定一个故事标题,要求输出 5 个句子的短故事,我们力图复现一下论文(Seq2Seq
    2024年05月14日
    1 1 1

发表回复

登录后才能评论