【发布时间】:2012-05-23 12:22:45
【问题描述】:
我整晚都在处理内置 ALSA 工具 aplay 和 arecord 的原始 A-law 音频输入/输出,并将它们通过我编写的离线移动平均滤波器。
我的问题是:音频似乎是使用 0x2A 和 0xAA 之间的值编码的 - 范围为 128。我一直在阅读this 指南,该指南提供了丰富的信息,但并没有真正解释为什么和偏移 42 (0x2A ) 已被选中。我用来检查的文件是从 Audacity 导出为无符号 8 位 8kHz 音频并在十六进制编辑器中检查的方波。
谁能解释一下 A-law 是如何在文件中编码的?
【问题讨论】:
-
A-law 只是对原始波形样本值的直接映射;参见例如en.wikipedia.org/wiki/A-law.
-
不,它实际上是 12 位信号的压扩 8 位表示,而不是线性映射。我当然已经阅读了维基百科的文章,我希望有更深入的内容......例如为什么所有数据都在 2A 到 AA 的范围内?
-
我从未说过它是线性映射。我想不出你为什么只获得特定值的任何原因。
-
哦,等等。你说你的输入波形是方波;只有两个值...