GFPS扩展技术原理(八)-可听设备控制

Hearable Controls

可听设备控制就是手机通过Message Stream去配置影响听感的设置,目前只有一个ANC可供配置,Hearable controls的Message Group的值为0x8。

Active noise control

Active noise control也就是主动降噪(ANC),其原理就是耳机探测到周围的环境噪音,然后合成数字波形,最后把剥削的相位进行180度反转,这样输出的波形正好合周围环境的声音的波形进行了中和,达到降低噪音的目标。 ANC现在已经成为高端TWS或者OWS耳机的标配了,也是一个很重要的功能,一般android手机都有UI来配置耳机的ANC功能,一般手机上会提供三个配置模式:

  1. 透传模式:这种模式就是会增强周围的声音,因为我们耳朵戴着耳机,正常情况下,外面的声音可能会听不到,但如果打开这种模式,就像没有佩戴耳机一样,周围声音会在耳机里增强,都能听到,这样你就可以戴着耳机和别人聊天啥的(虽然不太礼貌)。
  2. ANC关模式:这个很好理解,就是关闭了主动降噪功能,当然也不会透传周围的声音。
  3. ANC开模式:这个模式下,你就基本听不到周围的声音了,可以带来比较好的听感体验,尤其是听音乐的时候。

Provider需要在消息流建立后,发送Session Nonce给Seeker,我们定义了如下三种消息来控制ANC:

Message Code Name Value Sender Responder MAC ACK
Get ANC state 0x11 Seeker Provider N N
Set ANC state 0x12 Seeker Provider Y Y
Notify ANC state 0x13 Provider Seeker N N

这三种消息的消息流的数据格式如下:

字节 数据类型 描述 值
0 uint8 Hearable control 0x08
1 uint8 Get ANC State Set ANC state Notify ANC state 0x11 0x12 0x13
2 - 3 uint16 Additional data length 0x04
4 uint8 Version code varies 0x1 or 0x02
5 uint8 UI toggles Each mode is enabled (1) or disabled (0) according to the value of its flag bit, as follows: Bit 0 (MSB): transparent Bit 1: Reserved (Set bit to 0) Bit 2: off Bit 3: Reserved (Set bit to 0) Bit 4: ANC varies
6 uint8 Settable toggles:每个bit表示上面UI toggle哪个bit可以设置,假如bit 0为1,表示上面transparent可以设置,否则不可设置。 varies
7 uint8 Current state:只有一个bit可以设置成1,也就是ANC三种模式,只有一种模式能生效 varies

举个例子:假如Seeker需要设置Provider的ANC为透传模式,那么消息流数据为:0x0812000401011303,那么可以解析为:

  • 0x08:Hearable control
  • 0x12:Set ANC state
  • 0x0004:additional data length
  • 0x1:version
  • 0x01:UI toggles,设置成透传模式
  • 0x13:ANC-off-transparant三种模式均可设置
  • 0x03:当前状态为off

Provider需要回复Seeker一个Notify ANC state消息,消息流数据为:0x0813000401001301,那么可以解析为:

  • 0x08:Hearable control
  • 0x13:Notify ANC state
  • 0x0004:additional data length
  • 0x1:version
  • 0x01:UI toggles,这个值无所谓了,随便设置成啥
  • 0x13:ANC-off-transparant三种模式均可设置
  • 0x03:当前状态为透传模式
相关推荐
无垠的广袤8 小时前
拆解电子价签
单片机·蓝牙·diy·调试器·jlink·墨水屏
byte轻骑兵16 小时前
【HOGP】规范精讲[7]: BLE人机交互的安全防线——HOGP安全规范全解析与落地指南
安全·计算机外设·人机交互·蓝牙·hogp
大龄秃头程序员1 天前
从 iBeacon 到自动解锁:为什么复杂 iOS 能力系统最终都需要 `Protocol + Impl + Router + Coordinator`
蓝牙
K成长日志4 天前
BLE Host层L2CAP--数据包格式
网络·物联网·无线通信·蓝牙·iot·ble
byte轻骑兵10 天前
【PBAP】规范精讲[3]: 蓝牙PBAP协议应用层核心——电话本数据的格式与交互逻辑解析
物联网·蓝牙·pbap·短距离通信协议
K成长日志21 天前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble
K成长日志21 天前
BLE链路层-Feature Support
网络·嵌入式·无线通信·蓝牙·iot·ble
民乐团扒谱机22 天前
【手把手通信仿真】FSK与GFSK调制原理对比及MATLAB全实现,附频谱波形分析
matlab·蓝牙·微电子·通信技术·通信原理·gfsk·fsk
EthanChou202024 天前
蓝牙学习之蓝牙框架
框架·蓝牙
律宏阔1 个月前
Android 车载蓝牙开发笔记:HFP、A2DP、AVRCP、PBAP、MAP、BLE 与系统 API
android·蓝牙