小编Dan*_*ilo的帖子

Python u-Law (MULAW) 波解压缩为原始波信号

我在过去两周内用谷歌搜索了这个问题,但未能找到算法或解决方案。我有一些短的 .wav 文件,但它有 MULAW 压缩,而 python 内部似乎没有wave.py可以成功解压缩它的函数。所以我自己用 python 构建了一个解码器。

\n\n

我在基本元素中找到了一些关于 MULAW 的信息:

\n\n
    \n
  1. 维基百科
  2. \n
  3. A 律 u 律比较
  4. \n
  5. 一些c-esc编解码器库
  6. \n
\n\n

所以我需要一些指导,因为我不知道如何从有符号短整数转换为全波信号。这是我迄今为止收集到的初步想法:

\n\n
\n\n

所以从 wiki 我得到了 u-law 压缩和解压缩的方程:

\n\n

压缩 : 压缩

\n\n

减压: 在此输入图像描述

\n\n

因此,从压缩方程来看,输出似乎限制在float-1 到 +1 的范围内,并且有符号短整数从 \xe2\x80\x9332,768 到 32,767 所以看起来我需要将其转换为short intfloat特定范围内。

\n\n

现在,说实话,我以前听说过量化,但我不确定是否应该首先尝试去量化然后解压缩或以其他方式,或者即使在这种情况下它是同一件事......教程/文档的术语可能有点棘手。

\n\n

我正在使用的波形文件应该包含“A”声音,就像语音合成一样,我可能可以通过比较某些音频软件和自定义波形分析器中的 2 个波形来验证成功,但我真的很想减少尝试和错误部分这个过程的。

\n\n

所以我的想法是:

\n\n
u = 0xff\ndata_chunk = b\'\\xe7\\xe7\' # -6169\ndata_to_r1 = unpack(\'h\',data_chunk)[0]/0xffff # I suspect this is wrong,\n# …
Run Code Online (Sandbox Code Playgroud)

python waveform pcm mu-law

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

mu-law ×1

pcm ×1

python ×1

waveform ×1