Librosa - 如何为立体声音频创建梅尔频谱图?
Librosa - How to create mel-spectrogram for stereophonic audio?
有一个代码可以为单声道音频生成梅尔频谱图。
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()
是否有可能重写代码以生成立体声音频的梅尔频谱图?如果不能,我还能怎么做?
要获取 multi-channel 数据,您需要使用 librosa.load(..., mono=False)
。 y
的形状将变为 (channels, samples)
。然后,您可以为每个通道分别计算 mel-spectrogram。
有一个代码可以为单声道音频生成梅尔频谱图。
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()
是否有可能重写代码以生成立体声音频的梅尔频谱图?如果不能,我还能怎么做?
要获取 multi-channel 数据,您需要使用 librosa.load(..., mono=False)
。 y
的形状将变为 (channels, samples)
。然后,您可以为每个通道分别计算 mel-spectrogram。