我正在用Librosa的python中的以下代码绘制频谱图:
y, sr = librosa.load( file, sr=16000)
S_full, phase = librosa.magphase(librosa.stft(y, n_fft= 8192))
librosa.display.specshow(librosa.power_to_db(S_full, ref=np.max), sr= sr, x_axis='time', y_axis='log')
我的问题是我想在时间轴上更改比例(现在输出显示9分钟,但我想将其更改为24小时),为此,我知道我应该更改“ sr”和“ hop_length”,那么我将在下面使用此行:
librosa.display.specshow(librosa.power_to_db(S_full, ref=np.max), sr= 100, x_axis='time', y_axis='log', hop_length= 34)
我唯一的问题是,当我在specshow命令中使用“ sr”时,“ y_axis ='log'”不起作用,并且它显示了y轴的线性比例,但是我需要对数比例。我还尝试了plt.yscale('log'),但此命令无法正常运行。