0

在此处输入图像描述我在读取 wav 文件的地方编写了这段代码,然后它确定了更大的样本在哪里,但这只会给我最大样本的位置,而不是它的值,所以我该怎么做才能知道它的值? 当我绘制它时,为什么它不适合 thw y 尺度。比如说值是6920,但是我绘制的时候只到了5535。谢谢!

import matplotlib.pyplot as plt
import numpy as np
import wave
import sys


spf1 = wave.open('C:/Users/Martinez/Documents/Diego/Facultad/Proyecto Final/Mediciones Cubo/5 sentado/Lado 1_5 sentado.wav','r')

#Extract Raw Audio from Wav File
signal1 = spf1.readframes(-1)
signal1 = np.fromstring(signal1, 'Int16')

fs1 = spf1.getframerate()


#If Stereo
if spf1.getnchannels() == 2:
    print 'Just mono files'
    sys.exit(0)
print np.arange(signal1)
m = abs(signal1).max()

print m

Time=np.linspace(0, len(signal1)/float(fs), num=len(signal1))

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.vlines(Time[m:], [0], abs(signal1)[m:] )
ax1.grid(True)
ax1.axhline(color='black', lw=2)

plt.show()
4

1 回答 1

1

不会abs(signal1).max()成功吗?

于 2013-10-30T15:13:10.977 回答