如何在python中从wav文件绘制波形?

问题描述

import os
import scipy.io
import scipy.io.wavfile
import numpy as np
import matplotlib.pyplot as plt
dataset_path = os.path.join(os.environ['HOME'],'shared','data','assignment_1')
wavedata = os.path.join(dataset_path,'example.wav')
   
fs,audio_buffer = scipy.io.wavfile.read(wavedata)

我有点不明白如何进一步使用matplotlib.pyplot 感谢您提供任何建议或正确的文档!

解决方法

这会将wav音频文件绘制在其本地时域中作为时间序列

import os
import scipy.io
import scipy.io.wavfile
import numpy as np
import matplotlib.pyplot as plt

myAudioFilename = 'aaa.wav'  #  plot this wav file     ~/audio/aaa.wav

dataset_path = os.path.join(os.environ['HOME'],'audio') # homedir -> audiodir -> my wav files
wavedata = os.path.join(dataset_path,myAudioFilename)
   
sampleRate,audioBuffer = scipy.io.wavfile.read(wavedata)

duration = len(audioBuffer)/sampleRate

time = np.arange(0,duration,1/sampleRate) #time vector

plt.plot(time,audioBuffer)
plt.xlabel('Time [s]')
plt.ylabel('Amplitude')
plt.title(myAudioFilename)
plt.show()