Python 查找.wav的较高值

Python 查找.wav的较高值,python,numpy,wav,Python,Numpy,Wav,我试图找出wav文件的最大值。首先我读了wav,然后我找到了最大值的样本,但现在我需要知道哪个是该值。我不能上传wav文件,但你可以尝试与任何人 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

我试图找出wav文件的最大值。首先我读了wav,然后我找到了最大值的样本,但现在我需要知道哪个是该值。我不能上传wav文件,但你可以尝试与任何人

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(signal)
m_x = abs(signal1).argmax()
m_y = abs(signal1).max()

print m_x
print m_y

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

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

plt.show()

如果
signal1
是一个可排序的数字(或任何可排序的数字),那么
max(signal1)
将为您提供最大值。如果需要将这些项目转换为数字,则使用
key
参数:
max(signal1,key=abs)

尝试
print max(signal1)
plots可能存在欺骗,打印10个最大值,如
signal1.sort();print signal1[-10:]
是的,我像你说的那样对数组进行排序,看起来最大的值是6025。是的,它是最大的+和-值,绝对值是6929,这样做:
abs(signal1)。max()
,我说得对吗?@diegmartínezGiardini(a)不,你说得不对,正确的用法如我所示(b)当您输入python解释器时,它会告诉您这是否正确。