语音遥控器1-驱动对接

基于Hidraw 语音方案

一、什么是Hidraw

hidraw节点是linux内核提供给用户空间USB和Bluetooth人机交互节点,可以利用该节点实现usb或者蓝牙通信,进一步可以完成其他功能,例如设备固件升级等。

参考如下:

Linux之访问/dev/hidraw

https://blog.csdn.net/mzm2438975656/article/details/108881442

二、原理说明

Hidraw 语音方案基于系统的 hidraw driver,通过后台的 service,将原本由蓝牙协议栈写入 uhid 节点的数据(按键和语音)"拷贝"一份,从而可以实时获取语音数据。

同时,这个 service 中还将启用 Unix socket server,将编码的语音数据解码后发送给系统的 audio hal 层。

系统的录音软件,比如 科大某飞,思某驰 则可以通过标准的 android 录音流程获得到解码后的语音数据,进而实现语音识别功能。

三、代码实现

参考厂商提供的代码,此处略。

相关推荐
秋说1 小时前
【PTA数据结构 | C语言版】将数组中元素反转存放
c语言·数据结构·算法
森焱森2 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
cpp_learners3 小时前
QML与C++交互之创建自定义对象
c++·qt·qml
尘世闲鱼3 小时前
解数独(C++版本)
开发语言·c++·算法·解数独
kyle~3 小时前
C/C++字面量
java·c语言·c++
Mr.Winter`4 小时前
轨迹优化 | 基于激光雷达的欧氏距离场ESDF地图构建(附ROS C++仿真)
c++·人工智能·机器人·自动驾驶·ros·ros2·具身智能
csdn_aspnet4 小时前
C++ n条水平平行线与m条垂直平行线相交的平行四边形的数量
c++
蜡笔小电芯4 小时前
【C语言】指针与回调机制学习笔记
c语言·笔记·学习
qq_401700414 小时前
C语言中位运算以及获取低8位和高8位、高低位合并
c语言·开发语言·算法
闻缺陷则喜何志丹5 小时前
【BFS】 P10864 [HBCPC2024] Genshin Impact Startup Forbidden II|普及+
c++·算法·宽度优先·洛谷