我正在嘗試將波形圖可視化如下:
sig, rate = librosa.load(test_audio, sr=32000, offset=None)
plt.figure(figsize=(15, 5))
librosa.display.waveplot(sig, sr=3200)
這提供了這個結果:

如果您查看此 x 軸,它會顯示為 8 分鐘的音頻檔案,但實際上只有 47 秒長。我在這里錯過了什么?
uj5u.com熱心網友回復:
我認為x-axis在samples. 默認情況下,該方法對信號進行下采樣,這意味著要對齊另一個時間序列顧客需要計算其x位置samples,然后通過downsampling factor(默認情況下1000 / sr)調整這些位置。
讓我給你舉個例子,也許會解開你的疑惑。
import librosa
import librosa.display
import matplotlib.pyplot as plt
import numpy as np
y, sr = librosa.load(librosa.util.example_audio_file())
tempo, beats = librosa.beat.beat_track(y=y, sr=sr, units='time', trim=False)
fig = plt.figure(figsize=(15, 8))
librosa.display.waveplot(y=y, sr=sr)
plt.vlines(beats, -1, 1, color='r',linestyles="dashed")
plt.grid()

您現在可以看到,所有顯示都在自然坐標中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/359792.html
標籤:Python matplotlib 利布罗萨
