宽度为 2 的 python `audioop.ulaw2lin` 的音频格式是什么?

问题描述 投票:0回答:1

我正在尝试使用

audioop.ulaw2lin(ulaw_audio_bytes, 2)
在 python 中将 u-law 音频转换为 16 位 8khz 原始音频。

生成的字节对象具有正确的大小,但是如果我将其作为 16 位 8khz 原始音频写入波形文件,结果是双倍速度,具有中低频噪声和相当低的整体音量。

由 ulaw2lin 以宽度 1 处理并保存为 8 位 8khz wav 文件的相同音频听起来不错(模数表示的限制以及需要转换为 8 位 wav 所需的无符号整数)。

我错过了什么?原则上我应该用 16 位表示获得更好质量的音频。

python audio mu-law
1个回答
0
投票

原来是 PyVoip 中的后处理,最初是为 8 位音频编码的。 PyVoip 内部缓冲区中长度计算的假设意味着每个数据包的一半被丢弃。

© www.soinside.com 2019 - 2024. All rights reserved.