在多声道Numpy阵列

时间:2018-05-19 18:28:37

标签: python numpy keras convolutional-neural-network librosa

我正在尝试使用Librosa从音频文件中提取功能,以CNN作为Numpy数组提供。

目前,我一次保存一个功能,以便输入CNN。我使用Librosa在Python中保存了二维(单通道)对数缩放的mel谱图功能:

def build_features():
    y, sr = librosa.load("audio.wav")
    mel = librosa.feature.melspectrogram(
        n_fft=4096,
        n_mels=128, #Mel-bins
        hop_length=2048,
    )
    logamplitude = librosa.amplitude_to_db
    logspec = logamplitude(mel, ref=1.0)[np.newaxis, :, :, np.newaxis]

这会给出形状(1,128,323,1)

我想添加另一个功能,让我们说一个tempogram。我可以使用相同的代码执行此操作,但将 melspectrogram 替换为 tempogram',并将窗口长度设置为128

这为我提供tempogram (1,128,323,1)形状。

现在我想把这两个功能层“堆叠”成一个多通道numpy对象,我可以将其输入到Keras的CNN。

我该怎么编码?

修改

想想我用np.vstack()

搞清楚了

0 个答案:

没有答案