语音遥控器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 录音流程获得到解码后的语音数据,进而实现语音识别功能。

三、代码实现

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

相关推荐
ragnwang1 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
罗伯特祥1 小时前
C调用gnuplot绘图的方法
c语言·plot
嵌入式科普2 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
lqqjuly4 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
冰红茶兑滴水4 小时前
云备份项目--工具类编写
linux·c++
刘好念4 小时前
[OpenGL]使用 Compute Shader 实现矩阵点乘
c++·计算机图形学·opengl·glsl
2401_858286115 小时前
115.【C语言】数据结构之排序(希尔排序)
c语言·开发语言·数据结构·算法·排序算法
酒鬼猿5 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
姚先生975 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode
2401_858286116 小时前
109.【C语言】数据结构之求二叉树的高度
c语言·开发语言·数据结构·算法