计算机如何处理音频数据?

Kar*_*arl 17 audio

我已经使用了几个音频程序,如SDL混音器,大胆等等,但我想看看这些小音频玩具里面有什么.如何处理音频数据等.我还看到了一些void*用于音频数据的C++ MP3播放器的示例代码.

但所有这些并不能帮助我理解音频在计算机中的工作原理.那么有人可以向我解释(或介绍一些书籍)关于计算机如何存储和处理数字音频数据的问题?(例如,如果将三角波形存储到.wav文件中,该波形如何存储为位模式?)

Jam*_*ook 11

如何表示波形

有关如何在Audacity手册中表示音频的更详细说明:

波形

...每条垂直线的高度表示为带符号的数字.


更多关于数字音频

  • Audacity wiki提供了有关Audacity中算法如何工作的一些信息.如果您想要了解更多关于Audacity的特定音频效果,那么您可以在那里提出问题.
  • 如果您正在查看源代码,回声效果是一个很好的起点.
  • 有关数字音频的更多信息,请单击Wikipedia按钮以获取此页面上您感兴趣的链接.该页面底部的那些对于深入挖掘那里的不同音频文件格式特别有用.

您可能会注意到所有这些链接都来自Audacity项目.这不是巧合.


Mik*_*ark 9

数字音频存储为一系列数字,称为样本.例:

5,18,6,-4,-12,-3,7,14,4

将这些数字绘制为笛卡尔图上的点:样本值确定沿Y轴的位置,样本的序列号(0,1,2,3等)确定沿X轴的位置.

现在在您刚绘制的点上追踪一条线.

恭喜,您刚刚渲染了数字音频的波形.:-)

Y轴是幅度,X轴是时间.

"采样率"确定回放设备(例如声卡)在样本中前进的速度.这是样本的"时间价值".例如,CD质量数字音频每秒遍历44,100个样本,读取每个采样点的幅度(Y轴值).

†上面的讨论忽略了压缩.压缩几乎没有改变数字音频的本质.就像压缩位图图像一样,不会改变位图图像的核心特性.(音频压缩的主题很丰富 - 我并不是要过度简化它,只是所有压缩音频在渲染之前最终都是未压缩的 - 即,作为可听声音播放或绘制为波形 - 在哪一点压缩起源的后果不大.)


tw3*_*124 8

以你的WAV文件为例:

WAV文件将有一个标题,它为播放器或音频处理器指定关于通道数,采样率,位深度,数据长度等的关键信息.标题出现之后是原始位模式,它存储音频样本(我假设您知道什么是抽样 - 如果没有,请参阅维基百科.每个样本由多个字节组成(在标题中指定),并指定任何给定时间点的波形幅度.每个样本都可以以有符号或无符号的形式存储(也在标题中指定).


cMi*_*nor 7

你可以从Lothar Reichel 那里阅读这个讲座,在那里他解释了一下"数字音频压缩"这个主题,并发布了一些Matlab代码:

声音是一个复杂的现象.它通常由空气(或其他介质)中的移动物体引起,例如前后移动的扬声器锥体.这种运动反过来导致气压变化,像池塘中的波浪一样穿过空气.我们的耳膜将压力变化转化为我们的大脑处理为声音的现象.

计算机使用麦克风而不是耳膜"听到"声音.麦克风将压力变化转换成电势,其幅度对应于压力的强度.然后,计算机使用称为采样的技术处理电信号.计算机通过定期测量其振幅来对信号进行采样,通常为每秒44,100次.每个测量值都以固定精度存储,通常为16位.

希望能帮助到你.