audio - 数字音频格式

标签 audio arduino-uno sampling digital-analog-converter hc-05

我有一个矢量化的 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 bluetooth protocol ,这似乎是因为分辨率太低而无法发送可靠的音频。我会看看我是否可以发送更压缩的音频文件,将其存储在 arduino 中,然后输出到 DAC。这可以提供更可靠的音频。

最佳答案

您是否尝试过在样本中设置和输出值?我知道包含音频的视频可能是被忽略的一件事,无论如何,这可能会导致上传到 YouTube 的问题。它似乎与此类似,因为它可能不知道从哪里开始和结束,它也会影响音频。

另一个问题可能是针对蓝牙技术的样本格式。 AAC 可能应该是格式,但请确认这一点,因为我不能 100% 确定它会接受什么。

关于audio - 数字音频格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51510035/

相关文章:

performance - Tensorflow:高效的多项式采样(Theano x50 更快?)

python - 根据键的值对键进行采样

c - 数字滤波算法

java - 绘制录制的声音时出现奇怪的频率

Arduino Uno R3 + SIM900

python - 发送到arduino uno的pyserial python中的MSB(最高有效位)已损坏

arduino - arduino uno r3 上的 ISCP 引脚在哪里?

javascript - 固定尝试暂停/播放 HTML 中的 MP3 文件

audio - DSP可以将两个48khz音频流组合在一起以创建96khz输出

java - 从数据集中随机抽样,同时保留原始概率分布