【问题标题】:Getting positive and negative component of a signal from raw wav audio从原始 wav 音频中获取信号的正负分量
【发布时间】:2014-04-01 09:58:38
【问题描述】:

我正在阅读这篇 StackOverflow 帖子:

How is audio represented with numbers?

根据答案,数字信号将具有一个 +ve 分量和一个负分量。所以我试图将它与一个非常基本的 wav 音频文件联系起来。

我正在使用 python 读取一个 WAV 音频文件的所有帧。我使用下面的代码:

import wave
import sys
ip = wave.open(sys.argv[1], 'r')
print ip.getparams()
for i in range(ip.getnframes()):
    iframe = ip.readframes(1)
    print iframe.encode('hex') , ' >>> ',int(iframe.encode('hex'), 16)
ip.close()

'''
Output :
C:\>python readframe.py test.wav
(1, 2, 44100, 176400, 'NONE', 'not compressed')
0000  >>>  0
0204  >>>  516
0008  >>>  8
f70b  >>>  63243
e10f  >>>  57615
bb13  >>>  47891
8217  >>>  33303
311b  >>>  12571
c41e  >>>  50206
3922  >>>  14626
8b25  >>>  35621
b728  >>>  46888
bb2b  >>>  47915
922e  >>>  37422
3b31  >>>  15153
b233  >>>  45619
f535  >>>  62773

'''

我的问题是如何从每个帧数据中获取 wav 音频的正负分量..??

提前致谢,

【问题讨论】:

标签: python audio signal-processing


【解决方案1】:

大于 32767 的值需要从 2^16 中减去,才能将其负值从 16 位 2 补码有符号表示转换。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
相关资源
最近更新 更多