有一个代码可以生成单声道音频的梅尔频谱图。

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

file = "C:/Users/User/Desktop/sound.wav"

y, sr = librosa.load(file, sr=48000)

librosa.feature.melspectrogram(y=y, sr=sr)

S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=128, fmax=12000)
S_dB = librosa.power_to_db(S, ref=np.max)
lr.display.specshow(S_dB, x_axis='time', y_axis='mel', sr=sr, fmax=12000)

plt.colorbar(format='%+2.0f dB')
plt.title('Mel-spektrogram')
plt.tight_layout()
plt.show()

是否有可能重写代码,以便它可以生成立体声音频的梅尔频谱图?如果没有,我该怎么办?

最佳答案

要获取多通道数据,您需要使用librosa.load(..., mono=False)y的形状将变为(channels, samples)。然后,您可以分别计算每个通道的mel-频谱图。

关于python - Librosa-如何为立体声音频创建梅尔频谱图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64428478/

10-11 17:03