在matplotlib中绘制librosa的音频
问题描述:
我想绘制一个音频文件在Python中的波形。在matplotlib中绘制librosa的音频
这是我的代码(我用的是Librosa库):
import plot as plt
def save_plot(filename):
y, sr = librosa.load(filename)
plt.plot(y, 'audio', 'time', 'amplitude')
凡plot.py文件是:
import matplotlib.pylab as plt
def plot(vector, name, xlabel=None, ylabel=None):
plt.figure()
plt.plot(vector)
plt.xlabel(xlabel)
plt.ylabel(ylabel)
plt.plot()
plt.savefig('static/plots/' + name)
音频文件只有5秒长。因此,我不明白x轴在说什么;它似乎高达90000?
感谢
答
波形将在每个音频文件被采样的时间点的数据,他们可以从8000赫兹采样为48kHz。 90,000/5 = 18000Hz。
看看你目前从librosa.load中忽略的变量,即采样率,它可以让你计算出时间刻度。
谢谢!为了确保我得到了它,我的采样率大约是。 22000.这是否意味着,因为我的音频文件是5秒钟,x轴代表22000 * 5 = 110000个采样,而不是时间? – pk1914
@ pk1914“大约22000”对于“正常”声音文件的采样率来说是一件很奇怪的事情。这是否恰好是22050? – Matthias
你是对的!我猜这是一个特殊的数字?为什么这样?谢谢! – pk1914