我正在阅读这篇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音频的正负分量。
提前致谢,
最佳答案
需要从2 ^ 16中减去大于32767的值,以从16位2补码符号表示转换其负值。
关于python - 从原始WAV音频中获取信号的正负分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22782492/