Audio a定律/原始音频数据

Audio a定律/原始音频数据,audio,hex,alsa,Audio,Hex,Alsa,我花了一个晚上的时间处理内置ALSA工具aplay和arecord的原始A-law音频输入/输出,并通过我编写的离线移动平均滤波器传递它们 我的问题是:音频似乎是使用0x2A和0xAA之间的值进行编码的,范围是128。我一直在阅读指南,该指南内容丰富,但并没有真正解释为什么选择了偏移量为42(0x2A)。我用来检查的文件是audacity作为无符号8位8kHz音频导出的方波,并在十六进制编辑器中检查 有人能解释一下A定律是如何编码到文件中的吗?这可能会有所帮助 /dev/dsp 每秒8000帧,

我花了一个晚上的时间处理内置ALSA工具aplay和arecord的原始A-law音频输入/输出,并通过我编写的离线移动平均滤波器传递它们

我的问题是:音频似乎是使用0x2A和0xAA之间的值进行编码的,范围是128。我一直在阅读指南,该指南内容丰富,但并没有真正解释为什么选择了偏移量为42(0x2A)。我用来检查的文件是audacity作为无符号8位8kHz音频导出的方波,并在十六进制编辑器中检查

有人能解释一下A定律是如何编码到文件中的吗?

这可能会有所帮助

/dev/dsp

每秒8000帧,每帧8位(1字节)


A-定律只是原始波形样本值的简单映射;参见,例如,不,它实际上是12位信号的压缩8位表示,而不是线性映射。我当然已经读过维基百科的文章了,我希望有更深入的东西。。。例如,为什么所有的数据都在2A到AA之间?我从来没有说过这是一个线性映射。我想不出任何理由为什么你只得到特定的价值。哦,等等。你说你的输入波形是方波;只有两个值。。。
# Max volume = \xff (or \x00).
# No volume = \x80 (the middle).