有一个代码可以生成单声道音频的梅尔频谱图。
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/