我正在使用python套接字连接到我的PC上的蓝牙HC-05模块。我想通过将wav文件转换为字符串数组来向HC-05发送音乐,该字符串数组稍后将在arduino上转换为0-65535的整数。arduino和HC-05通过9600波特的串行通信。然后,这些int将通过I2C传递到DAC。我想知道从我的电脑发送大量字符串是否存在内存问题。是否可能由于设备之间发送/接收数据的速率不同而导致声音的原始质量失真?还是声音信号会在DAC上延迟?
arduino和HC-05通过9600波特的串行通信。
这将太低,无法用于音频。
9600波特每秒可提供7680位数据。在每个采样16位的情况下,您看到的采样率为481 Hz,这对于可理解的音频来说太低了。它的高度几乎不足以再现声音。
您需要:
-
增加波特率。理想情况下,对于46 kbit/秒的数据,您需要至少57600波特。如果有更高的波特率可用,请使用它们。
-
每个样本使用更少的位。在56kbaud下,每个采样使用4位将为您提供11.5kHz的可观采样率。音频在4位时听起来有点小,但它是可以理解的。