You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python读取蓝牙录音设备发送的原始音频数据

蓝牙录音设备原始音频数据解析求助

基础情况

我正在用Python读取一款封闭蓝牙录音设备发送的原始数据,已知该设备可生成单声道4000Hz WAV文件,但不清楚其数据流格式。目前已实现监听蓝牙特征值更新的代码,每秒能获取约9个数据块,其中一个原始数据块示例如下:

bytearray(b'\x08\x91\x91\x00\x91\x00\x00\t\x11\t\x91\x01\x99\x01\t\x19\x19\t\x10\x99\x02\x00\x99\x01)\x90\x91)\x99!\t\x99!\x1a\n\x91\x92\x99\x11\t\x90\x11\x91\xa1\x91\x91\x92\x99\x91\x10\x1a\x0b\x00 \x99\x01\x19\xa1\x11\x99\x19\x10\t\x01\x19\x90\x01\x19\x0c\t\x11\t\x92\x01\xa9\x11\t\x91\x1a\x00\x11\x99\x91\x10\x90\r\x92\x91\xa1\x10\x1b\x11\x19\x90\x11\t\x90!\x9a\x91\x12\xaa\x0e\x03\t\xa0\x12\t\xa1\x11\x99\x19\x10\t\x01\x19\t\x00)\x0f\x991\xba\x12\x11\xba\x11)\x90\x01\x91\x91\x92\x99\x01\x91\x00\x10\x9a)\x11\x90\x92\xa0\x11\x91\x91\x90\x92\x01\xb1\x91\x19\x01\x91\t\x19\x19\x01\x19\x91\x92\x90\x91\x00\x90\x11\x99\x92\x91\x02\t\x91\x19\x00\x10\t\x00\x11\x99\x10\t\x10\x19\t\x19\x10\x03\x00\x1a\x92\x00\x01\x90\xa1\x11\x99\x92\x19\x90\x11\n\x01\x19\x04\x90\x11\x99\x00\x10\x19\x9a1\x90\x99\x10\x10\t\x19\x10\t\x05\x10\x01\x99\x19\x10\x00\x19\x90\x11\n\x00\x19\x00\x11\x99\x91')

当前解析尝试

我试过多种解析方式,其中以下代码的解析结果相对有规律:

for section in struct.iter_unpack("<beeeeeeee",data):
    print (section)

解析后得到14个数据段,每个数据段包含一个0-15的索引值和8个2字节浮点数,部分结果示例如下:

(14, 0.0301971435546875, -0.00022161006927490234, -0.84130859375, 10.1484375, -0.74072265625, 4.0078125, -0.0025043487548828125, -0.69189453125)
(15, 0.1297607421875, -0.04473876953125, 0.1292724609375, -0.0007157325744628906, -11.078125, 49.09375, 1.4901161193847656e-06, -0.0005536079406738281)
(0, -0.11346435546875, 0.0005841255187988281, 0.00015366077423095703, 4.64320182800293e-05, -0.9033203125, 0.0221099853515625, 0.0217437744140625)
...

但这些数值看起来类似静态噪声,我缺乏音频格式相关知识,不确定当前解析方式是否正确。

求助

恳请各位提供正确的解析指导,帮助还原出符合设备参数的音频流。

内容的提问来源于stack exchange,提问作者Oren Koler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:01:37