首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字音频格式

数字音频格式
EN

Stack Overflow用户
提问于 2018-07-25 02:34:30
回答 2查看 193关注 0票数 1

我有一个矢量化的wav文件,其值介于-1和1,88,200个样本,44.1 kHz采样率,可以在两秒钟内听到音频。我想把音频通过蓝牙发送到蓝牙模块,arduino,DAC和3.5mm带耳塞的突破板。

当我在最后收到它的时候,我的声音很刺耳。我试图重新创建这是MATLAB,结果是比例(乘+将值移到0上)和采样率由于接收器的变化的组合。当然,我可以用低效率的Arduino代码完全重述采样频率,但是由于一个因素也是最初的缩放,我的猜测是我误解了音频处理的一些基本内容。

是什么正确的方式来格式化和或缩放0-4095之间的值(这是DAC输入所需要的),以便音频本身在听时不会因为缩放因子,采样率保持不计而被扭曲?还是还有什么东西是我在这幅大图中遗漏的?

Clarification:目前我正在使用python库将音频字符串数组char逐字符发送到Arduino数组中,并将它们作为整数读取,然后输入DAC。不确定python套接字是否是最好的方法,应该有更好的或更健壮的套接字实现来发送数据。

更新:我意识到HC-05使用的是SPP蓝牙协议,它的分辨率太低,无法发送可靠的音频。我会看看是否可以发送一个更压缩的音频文件,存储在arduino,然后输出到DAC。可以提供更可靠的音频。

EN

回答 2

Stack Overflow用户

发布于 2018-07-25 02:59:01

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

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

票数 -1
EN

Stack Overflow用户

发布于 2018-07-25 03:47:41

这个库有一个带宽示例:https://www.arduino.cc/en/Reference/AudioFrequencyMeter

但是,begin()和end()还有其他函数。您可以在样本中将它们声明为可变的开始时间和结束时间,这样在给定的时间内,一个将是活动轨道。您还可以将frequency()声明为一个常量44.1,但您可能不得不转义这一期间。(否则它会读到60到1500。)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51510035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档