从原始 wav 音频中获取信号的正负分量
Posted
技术标签:
【中文标题】从原始 wav 音频中获取信号的正负分量【英文标题】:Getting positive and negative component of a signal from raw wav audio 【发布时间】:2014-04-01 09:58:38 【问题描述】:我正在阅读这篇 *** 帖子:
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 音频的正负分量..??
提前致谢,
【问题讨论】:
可能重复:How to read *.wav file in Python? 【参考方案1】:大于 32767 的值需要从 2^16 中减去,才能将其负值从 16 位 2 补码有符号表示转换。
【讨论】:
感谢您的回复.. 2^16 = 65536 的意义是什么?? 得到了我的答案...matrixmultimedia.com/wiki/…参考以上是关于从原始 wav 音频中获取信号的正负分量的主要内容,如果未能解决你的问题,请参考以下文章