我有一个矢量化的 wav 文件,其值在 -1 和 1 之间,有 88,200 个样本,44.1 kHz 的采样率可以在两秒内听到音频。我想通过蓝牙将音频发送到蓝牙模块、arduino、DAC 和带耳塞的 3.5 毫米分线板。
当我最后收到它时,我得到了噼里啪啦的声音。我试图重新创建这是 MATLAB,结果它是缩放(乘以 + 将值移到 0 上)和由于接收器引起的采样率变化的组合。当然,我可能会用低效的 Arduino 代码完全调整采样频率,但由于一个因素也是初始缩放比例,我的猜测是我误解了音频处理的基本原理。
格式化和/或缩放 0-4095(DAC 输入所需)之间的值的正确方法是什么,以便音频本身在收听时不会因缩放因子、采样率保留而失真?或者在这个大局中我还缺少什么吗?
澄清:目前我正在使用 python 套接字库将音频字符串数组逐字符发送到 Arduino 数组中,并将它们作为整数读取,然后输入到 DAC。不确定python套接字是否是最好的方法,应该有更好或更强大的套接字实现来发送数据
更新:我意识到 HC-05 使用SPP 蓝牙协议,这似乎是因为分辨率太低而无法发送可靠的音频。我会看看是否可以发送更压缩的音频文件,将其存储在 arduino 中,然后输出到 DAC。这可以提供更可靠的音频。