如何调试Linux I2S音频输入问题

时间:2018-01-30 00:03:21

标签: linux debugging raspberry-pi alsa dma

我正在尝试并且未能将I2S麦克风(Invensense ICS43432)连接到运行Arch Linux的Raspberry Pi(B +)。我已经在相关的Arch Linux ARM论坛中询问了具体的建议,但我的问题实际上比这更通用:如何调试Linux音频输入问题?

我已经通过逻辑分析仪验证了I2S麦克风正在正确的通道(左侧)和Raspberry Pi的正确引脚发送敏感数据。 I2S麦克风在ALSA下显示为"声卡"。 let sortDescriptor = NSSortDescriptor(key: "amount", ascending: true) let key = Key(rawValue: sortDescriptor.key!)! paymentList.sort(by: { $0.compare(toOther: $1, byKey: key, ascending: sortDescriptor.ascending) }) 非常乐意从该设备录制,并且使用static boolean didAlready = false; if(!didAlready){ bluetooth.print("4"); didAlready = true; } 将该设备的增益提高了30 dB。然而,录制文件的所有数据字节都为零。

如何在Linux下检查音频数据的流量,DMA的操作?

1 个答案:

答案 0 :(得分:0)

使用2个Adafruit I2S MEMS突破性麦克风尝试立体声录音时,我遇到了同样的问题:arecord正常工作,但使用ALSA写入bin文件时为零。选择32位字格式(Little Endian 32位,带符号)使其有效。只有我最后得到64位立体声帧。