【行空板教程】语音识别助手 DF创客社区
平板电脑进行语音输入,需开启语音助手并调整识别设置 #生活技巧# #数码产品使用技巧# #平板电脑使用窍门#
本帖最后由 Hockel 于 2022-4-18 19:50 编辑前言
过去五年,受到智能音箱,车载助手,手机语音小助手等设备及消费和互联网增值服务的影响,中国智能语音识别技术需求不断增长。语音识别貌似再也不是什么神秘的东西,深深的融入到我们的生活中来。那么我们是不是可以从零开始搭建我们的语音识别助手呢?好了,废话不多说,就让我们用行空板来完成的需求吧。
项目原理
本项目进行语音识别主要调用了百度的语音识别接口进行完成的:
首先,行空板将板载录入的语音文件通过网络上传到百度的服务器上。 服务器接收到数据后,进行语音识别。然后将识别到的结果发到行空板上。 最后行空板把接受到的结果显示在屏幕上课前准备
1、百度语音API接口的申请
打开百度的语音识别网站(https://ai.baidu.com/tech/speech) 进行语音识别的申请,登录账户后,没有应用的读者,可以点击创建应用。进行应用的创建。
对我们的应用进行命名,步骤如下:
点击创建完成后,点击查看应用详情。
就可以看到我们应用(APPID,APIKEY,SECRET KEY)等信息,这个要留着我们后面会用到
注意:如果是新用户一定要领取一下我们语音识别的额度啊,不领取没有办法调用
2、行空板设置
2.1行空板的进行联网设置我们用电脑来连接行空板,然后打开浏览器输入:10.1.2.3,来到行空板的网页菜单。
点击网络设置,然后扫描附近的WiFi ,选择你要用的WiFi输入密码,进行连接
程序的编写,使用的是jupyter notebook,一个非常好用的编译器,所以我们要确保自己的应用是否打开此项服务。
同样我们可以在行空板上,进行打开此服务。
3、安装baidu-aip的python 版本的sdk
我们需要启用终端来进行安排,这里我用jupyter的终端进行,首先在行空板的应用开关界面打开页面。
在新建下拉框中找到终端选项,进行安装。
终端第一次登录的读者,需要输入账号:root密码 :dfrobot
然后在终端输入:
pip install baidu-aip
(PS:因为我这边已经安装了,所以提示安装文件已存在。)
4、上传素材文件到行空板
你们看到我们界面的按钮,背景,实际上是图像素材,在使用它之前我们需要他们导入到我们的行空板上,如何把素材上传到我们的板子上呢?这里我使用的是行空板菜单界面进行传输,当然还有些其他方法,我这里就不一一赘述。
选择我们上传的文件上传到root/目录下面,
(PS:当然你也可以闲着其他目录下,但是我们调用的时候,路径一定要对哈)
好了,至此我们的所有准备工作已经完成。能坚持看到这里的读者,给你点个赞。
相关知识点学习
行空板屏幕分辨率为240*320,因此unihiker库分辨率也为240320,坐标原点为屏幕左上角,向右为x轴正方向,向下为y轴正方向。
语法:控件对象名 = GUI对象.draw_text(x, y, w, text, color, origin, onclick, font_family,font_size)
返回值:文字对象
输入参数:
x : 横坐标 y : 纵坐标 w : 长度,如果超出长度则自动换行,此参数可省略。 text : 要显示的文字 color : 文字颜色 origin : 对齐位置,默认左上角 onclick : 当被点击时触发的回调函数 font_family : 指定字体 font_size : 文字大小用法举例:
import time from unihiker import GUI #导入包 gui=GUI() #实例化GUI类 def info_text_on_click(): print("文字被点击") info_text = gui.draw_text(x=120, y=320, text='你好',origin='bottom' ,onclick=info_text_on_click) info_text2 = gui.draw_text(x=0, y=100, text='1234567890') info_text3 = gui.draw_text(x=0, y=150, w=50, text='1234567890')#换行演示 #font_family = gui.load_font('Segment7-4Gml.otf') #读取本地字库 #gui.draw_text(x=20, y=80, text='13:11', font_size=40, font_family=font_family) #使用字库显示 while True: #增加等待,防止程序退出和卡住 time.sleep(1) 2-图片 draw_image
语法:控件对象名 = GUI对象.draw_image(x, y, w, h, image,origin,onclick)
返回值:文字对象 输入参数: x : 横坐标 y : 纵坐标 w : 图片的宽度。按照长宽最小边等比例缩放,可省略,宽高参数都省略则保持原图分辨率。 h : 图片的高度。按照长宽最小边等比例缩放,可省略,宽高参数都省略则保持原图分辨率。 image : 图片源,可以传入路径或image对象 origin : 对齐位置,默认左上角 onclick : 当被点击时触发的回调函数 用法举例:from unihiker import GUI #导入包 gui=GUI() #实例化GUI类 # 传入图片文件路径的方式 img_image = gui.draw_image(x=120, y=0, w=80, h=50, image='logo.png', origin='center', onclick=lambda: print("image clicked")) img_image2 = gui.draw_image(x=0, y=100, image='logo.png') # 传入图片对象的方式 from PIL import Image img_image3 = gui.draw_image(x=10, y=200, image= Image.open('logo.png')) import time while True: #增加等待,防止程序退出和卡住 time.sleep(1) 3-按钮 add_button
语法:控件对象名 = GUI对象.add_button(x, y, w, h, text, origin, state,onclick)
返回值:文字对象 输入参数: x : 横坐标 y : 纵坐标 w : 图片的宽度 h : 图片的高度 text : 按钮上显示的文字 origin : 对齐位置,默认左上角 state : 按钮使能,设置为 disabled 时按钮无法点击,设置为 normal 则回复到正常可点击状态 onclick : 当被点击时触发的回调函数 用法举例:from unihiker import GUI #导入包 gui=GUI() #实例化GUI类 gui.add_button(x=120, y=110, w=100, h=30, text="按钮", origin='center', onclick=lambda: print("button clicked")) gui.add_button(x=120, y=210, w=100, h=30, text="按钮", origin='center', onclick=lambda: print("button clicked"),state="disabled") import time while True: #增加等待,防止程序退出和卡住 time.sleep(1)
程序编写
1、布局我们的UI界面
from unihiker import GUI #导入包 gui=GUI() #实例化GUI类 #gui 添加文本标题 gui.draw_text(x=60, y=20,color="#4169E1", font_size=18,text="语音识别助手") # gui 添加按钮信息 gui.add_button(x=120, y=110, w=100, h=30, text="录音", origin='center', onclick=lambda: print("开始录音") ) gui.add_button(x=120, y=210, w=100, h=30, text="识别", origin='center', onclick=lambda: prnt("开始识别") )
效果:
2、添加相应事件
from unihiker import GUI,Audio #导入包 from aip import AipSpeech gui=GUI() #实例化GUI类 audio = Audio() # 实例化Audio类 #gui 添加文本标题 gui.draw_text(x=60, y=20,color="#4169E1", font_size=18,text="语音识别助手") # gui 添加按钮信息 gui.add_button(x=120, y=110, w=100, h=30, text="录音", origin='center', onclick=lambda:Record() ) gui.add_button(x=120, y=210, w=100, h=30, text="识别", origin='center', onclick=lambda: Recognition() ) # 识别显示信息 info_text2 = gui.draw_text(x=0, y=60,color="black",text="") """ 你的 APPID AK SK """ APP_ID = '' API_KEY = '' SECRET_KEY = '' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件(固定代码) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() # 识别本地文件 def voiceToText(): res = client.asr(get_file_content('3s.wav'), 'wav', 16000, { 'dev_pid': 1537, }) return res.get('result')[0] def Record(): print("开始进行录音") audio.record('3s.wav', 3) #录音3S print("录音结束") info_text2.config(x=0, y=60, text="")# 清空识别信息显示栏 def Recognition(): print("开始进行语音识别") msg = voiceToText() print(msg) info_text2.config(x=0, y=60, text=msg) #更新识别显示的信息 time.sleep(1) import time while True: #增加等待,防止程序退出和卡住 time.sleep(1)
效果:
3、美化界面
from unihiker import GUI,Audio #导入包 from aip import AipSpeech gui=GUI() #实例化GUI类 audio = Audio() # 实例化Audio类 """ 你的 APPID AK SK """ APP_ID = '' API_KEY = '' SECRET_KEY = '' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # gui 添加背景图片 gui.draw_image(x=0, y=0, w=240, h=320, image='3.png') # gui 按钮图片 gui.draw_image(x=0, y=0, w=240, h=320, image='3.png') gui.draw_image(x=10, y=15, w=40, h=40,image='4.png') gui.draw_image(x=120, y=120, w=80, h=50, image='1.png', origin='center', onclick=lambda: Record()) gui.draw_image(x=120, y=210, w=80, h=50, image='2.png', origin='center', onclick=lambda: Recognition()) #gui 添加文本标题 gui.draw_text(x=60, y=20,color="#4169E1", font_size=18,text="语音识别助手") # 识别信息显示栏 info_text2 = gui.draw_text(x=0, y=60,color="white",text="") # 读取文件(固定代码) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() # 识别本地文件 def voiceToText(): res = client.asr(get_file_content('3s.wav'), 'wav', 16000, { 'dev_pid': 1537, }) return res.get('result')[0] def Record(): print("开始进行录音") audio.record('3s.wav', 3) print("录音结束") info_text2.config(x=0, y=60, text="") def Recognition(): print("开始进行语音识别") msg = voiceToText() print(msg) info_text2.config(x=0, y=60, text=msg) time.sleep(1) import time while True: #增加等待,防止程序退出和卡住 time.sleep(1)
效果
总结
ok!到这里我们本次的行空板教程:语音识别助手就结束了,我们通过此教程学会了:行空板的基础空间的使用,相关环境的安装,百度api接口的调用,文件的上传等操作。不知道屏幕前的读者学会了吗?相关素材和源码。关注公众号:跟着hockel玩科创,回复”语音助手“即可获得哈。
网址:【行空板教程】语音识别助手 DF创客社区 https://www.yuejiaxmz.com/news/view/158427
相关内容
DIY智能家居语音助理——语音智控万物 DF创客社区华为手机/平板使用智慧语音或语音助手功能时,语音识别不了
语音识别合成助手
Android百度语音识别/语音助手
语音识别合成助手下载
华为手机语音助手语音识别不了怎么办
智能语音助手下载
语音助手
语音识别应用案例 | 语音助手
语音识别技术