Какие частоты соответствуют вторым индексам матрицы полученной в результате работы функции librosa.stft()
Я хочу определить слова в аудио сигнале временными интервалами, зная диапазон частот человеческого голоса и децибел.
Для начала сэмплирую звуковой сигнал c частотой дискретизации 22кГц, используя библиотеку librosa:
arr, sr = librosa.load('sa.wav', sr=22050)
Далее пользуюсь методом librosa.stft, чтобы рассмотреть оконное преобразование Фурье:
X = librosa.stft(arr, n_fft=512, hop_length=512)
Перевожу амплитуду децибелы:
Xdb = librosa.amplitude_to_db(abs(X))
Строю тепловую спектрограмму:
fig, ax = plt.subplots()
img = librosa.display.specshow(Xdb, x_axis='time', y_axis='log', sr=sr, ax=ax)
plt.colorbar(img, ax=ax, format="%+2.f dB")
plt.show()
Видно, что можно работать с зависимостью частот, времени и децибел. Но как по индексам массива Xdb понимать каким частотам и временам соответствуют его значения (децибелы)?
