有没有办法从librosa.display.specshow获取频率列表?

2024-06-16 12:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从下面的代码中提取频率高于特定dB。我想下面的代码计算频率并用C_db显示频谱图,如何才能得到频率列表上的某个db

import librosa.display, librosa
import numpy as np
import matplotlib.pyplot as plt

y, sr = librosa.load('voice_samples/note_sample.wav')

C = librosa.cqt(y=y, sr=sr)
C_db = librosa.amplitude_to_db(np.abs(C), ref=np.max)

fig, ax = plt.subplots()
librosa.display.specshow(C_db, y_axis='cqt_hz', x_axis='time', ax=ax)
ax.set(title='Frequency (Hz) axis decoration')


Tags: 代码importdbasdisplaynppltax