手把手教你实现基于RT-Thread的百度语音识别(一)
RT-Thread简介
RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过2亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。
RT-Thread拥有良好的软件生态,支持市面上所有主流的编译工具如GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如POSIX、CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的MCU和Wi-Fi芯片。
得益于RT-thread丰富的组件以及一系列好用的软件包,作为应用开发者,我们不必过度关心底层的实现,而可以将更多的精力放在应用实现上,我将分享的百度语音识别便是如此。
百度AI简介
语音识别服务是百度AI众多服务中的一项,应用该服务,你可以将语音识别为文字,适用于手机应用语音交互、语音内容分析、智能硬件、呼叫中心智能客服等多种场景。我分享的百度语音识别就是将该服务应用于STM32上的一个案例。
项目介绍
硬件:STM32 + 音频编解码芯片 + LCD + 常用外设(为了方便我直接使用正点原子的潘多拉开发板)
平台:RT-Thread + 百度AI
1.使用RT-Thread的 ‘stm32l475-atk-pandora’ BSP(若你使用的硬件跟我不一样,可以使用RT-Thread对应的BSP,或根据官方教程自行制作);
2.挂载elm FatFS文件系统,用于存放待识别音频;
3.初始化板载WIFI模块 AP6181 或 使用AT组件+ESP8266,使开发板具备网络功能;
4.使用Audio组件,实现录音功能,并将音频存入文件系统;
5.使用webclient软件包,将文件系统中的音频上传到百度AI服务端,识别后返回Json数据;
6.使用CJson软件包解析数据,根据解析出的数据作出响应动作(控制RGB灯);
7.将中文字库烧写进外挂的spi flash,使用SUFD+FAL软件包读写flash,实现LCD的中文显示。
因为项目的重点以及难点在于百度语音识别,所以接下来的系列文章,我将着重讲解上述的4-7点,而其他部分大家自行前往RT-Thread的文档中心学习。
百度语音识别服务使用流程
在项目开始之前,我觉得有必要带大家走一遍百度语音服务的调用流程,不然直接写代码,肯定懵逼一大片。其实这部分我之前在我的个人博客也有简单写过,顺手打波广告(lxzzzzzxl.github.io)我的个人博客,不过太久没去看发现很多图挂了,应该是之前使用的图床有问题。废话不多说:
百度语音识别简单来说就是百度AI通过API的方式给开发者提供一个通用的HTTP接口,开发者通过这个接口上传音频文件,返回识别结果;
首先我们要注册一个百度开发者账号,然后创建一个语音识别的应用:
1.搜索“百度AI”,进入如下页面,点击右上方控制台(未注册的需注册):
2.点击“语音技术”,进入如下页面,点击“创建应用”:
3.填写相关信息后点击创建,创建成功后可以在应用列表看到你新创建的应用:
语音识别过程
4.获取 Access Token:
(这里推荐一个软件:Postman,使用这个软件你可以在自己的PC上完整的体验整个百度语音识别过程)
向授权服务地址 https://aip.baidubce.com/oauth/2.0/token 发送请求(推荐使用POST),并在URL中带上以下参数:
grant_type: 必须参数,固定为client_credentials;
client_id: 必须参数,应用的API Key;
client_secret: 必须参数,应用的Secret Key;
使用浏览器,例:
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlLT0vuXV4&client_secret= 0rDSjzQ20XUj5iPQSzr5pVw2&
下图为使用Postman:
5.使用Access Token进行语音识别(Content-Type必填 / body里放的是你自己的音频文件,需与Content-Type对应,可以下载官方样例)
更多详细内容,大家参考百度AI文档中心的相关部分https://ai.baidu.com/docs#/ASR-API/77e2b22e ,相信各位看完文档再来看这部分会豁然开朗~
本次的介绍就到这里了,说实在的写博客写推文比敲代码难多了,本人水平有限,表达或许有些难以明白,望多见谅~~
手把手教你实现基于RT-Thread的百度语音识别(一)相关推荐
- 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接
转自即时通讯网:http://www.52im.net/ 本文原作者:"水晶虾饺",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说" ...
- 手把手教你:基于TensorFlow的语音识别系统
系列文章 第十章.手把手教你:基于Django的用户画像可视化系统 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 目录 系列文章 一.项目简介 二.语音数据 ...
- 手把手教你:基于LSTM的股票预测系统
系列文章 第七章.手把手教你:基于深度残差网络(ResNet)的水果分类识别系统 第六章.手把手教你:人脸识别的视频打码 第五章.手把手教你:基于深度学习的滚动轴承故障诊断 目录 系列文章 一.项目简 ...
- 基于rt thread smart构建EtherCAT主站
我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开.rt thre ...
- 手把手教你:基于深度残差网络(ResNet)的水果分类识别系统
系列文章 手把手教你:图像识别的垃圾分类系统 手把手教你:人脸识别考勤系统 手把手教你:基于粒子群优化算法(PSO)优化卷积神经网络(CNN)的文本分类 目录 系列文章 一.项目简介 二.水果分类结果 ...
- 手把手教你:基于Django的用户画像可视化系统
系列文章 第九章.手把手教你:个人信贷违约预测模型 第八章.手把手教你:基于LSTM的股票预测系统 第七章.手把手教你:基于深度残差网络(ResNet)的水果分类识别系统 目录 系列文章 一.项目简介 ...
- 【手把手教你】基于均线排列的价格动量策略回测
01 引言 动量策略是通过利用市场波动从现有趋势的延续中获利.简单来说,高买高卖,反之亦然("低买高卖"是均值回归策略思想,与动量策略相反).价值投资通常基于均值的长期回归,而动量 ...
- stm32g4 下载算法_手把手教你制作基于IAR、STM32H7的下载算法
本文由作者『Lucas』原创并授权发布,地址: https://blog.csdn.net/lin_duo/article/details/110754189下载算法对于大部分工程师来说,只需要会使用 ...
- 手把手教你实现基于LSTM的情感分析(LSTM-based Sentiment) Classification
首先推荐一个Jupyter环境,是由Google提供的colab(https://colab.research.google.com/),有免费的GPU可以使用 第一次使用需要在实验环境中下载相关的p ...
- 手把手教你开发基于深度学习的人脸识别【考勤/签到】系统
人脸识别介绍 平台环境需求 技术点 系统流程 细节设计 人脸检测 人脸关键点定位 人脸特征提取 模型的训练 模型的部署 MySQL数据库的使用 MFC工程的搭建 软件使用 人脸识别介绍 人脸识别技术是 ...
最新文章
- 11月30日云栖精选夜读 | 用Python告诉你,现在的房租有多高?
- SSRS 2012 交互式报表 -- 层次性文档结构图
- Requests方法 -- 关联用例执行
- 【IPF2020】浪潮集团高级副总裁彭震:智算中心 筑基智慧世界
- MySQL(7) ---删除数据库
- 【Mac】mac 安装Axure RP 8 点不开 就一直跳-后闪退-报错Expected an Int64 but got a System.UInt64
- 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决
- C# 调用控制台应用程序及传参
- echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
- java编码解码工具类
- Win10如何关闭自动更新
- ucos操作系统(1)——OSTCBY,OSRdyGrp,OSRdyTbl
- Leetcode 简单四 罗马数字转整数
- OSI七层——物理层介绍和安全
- 树莓派4B 声音传感器AO模块
- 爬取豆瓣电影动画排行榜
- 最全的数据分析平台整理
- 【步进电机】简单介绍
- 攻壳机动队2无罪:引文掉书袋
- 离心泵CAE_1_CFturbo离心泵水力设计