显示wav fi级别

2024-06-23 18:39:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想读取wav文件并显示它的级别。我知道如何读取帧,在python中使用wave模块,但不知道如何处理它。任何想法都会有帮助。 谢谢

import wave
import struct
import matplotlib.pyplot as plt

wrd = wave.open("albatros.wav")

display = []
display2=[]
x = []

(nchannels, sampwidth, framerate, nframes, comptype, compname) = wrd.getparams()

for i in range(0,int(nframes)):
    x.append(i)
    samplestring = wrd.readframes(1)
    display.append(struct.unpack('h',samplestring[:2])[0]);
    if(nchannels == 2):
        display2.append(struct.unpack('h',samplestring[2:4])[0])

plt.figure(1)
plt.plot(x,display, 'k')

if (nchannels == 2):
    plt.figure(2)
    plt.plot(x,display2, 'k')

plt.show()

print (len(display))

wrd.close()

Tags: importifdisplaypltwavestructfigurewav

热门问题