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

三、代码实现

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

相关推荐
无限的鲜花15 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
精明的身影15 小时前
C++自学之路1:Hello world
开发语言·c++
旖-旎16 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划
森林古猿116 小时前
再论斜率优化
c++·学习·算法
水利行业RTU手艺人16 小时前
RTU固件中的“数据保险箱”——离线数据补发系统设计
c++·stm32·单片机·物联网
gugucoding16 小时前
25. 【C语言】二进制文件与随机读写
c语言·开发语言
凯瑟琳.奥古斯特17 小时前
力扣1009补码解法C++实现
开发语言·c++·算法·leetcode·职场和发展
十月的皮皮18 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
zh_xuan20 小时前
c++ optional用法
开发语言·c++·optional
Let's Chat Coding21 小时前
身份识别、身份认证与授权的区别
c++