使用pyaudio和matplotlib实时创建波形

时间:2019-07-04 10:48:20

标签: python matplotlib pyaudio waveform

我正在寻找音频输入(麦克风)的实时图形,并使用matplotlib在波形图中显示此数据。如何在Y轴上显示数据并在X轴上显示时间(秒)?

我对音频处理一无所知,因此我从文档和示例中学到了很多东西,但我仍然不知道如何使图形实时响应。

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

# Load the data and calculate the time of each sample
samplerate, data = wavfile.read('audio.wav')
print(samplerate, data)
times = np.arange(len(data))/float(samplerate)

# Make the plot
# You can tweak the figsize (width, height) in inches
plt.figure(figsize=(30, 4))
print(data[:,0])
plt.fill_between(times, data[:,0], data[:,1], color='k') 
plt.xlim(times[0], times[-1])
plt.xlabel('time (s)')
plt.ylabel('amplitude')
# You can set the format by changing the extension
# like .pdf, .svg, .eps
plt.savefig('plot.png', dpi=100)
plt.show()

我希望波形看起来像那样,但是使用我的麦克风而不是wav文件。我测试了其他东西,但结论还不是那么简单……

0 个答案:

没有答案