Функции сохранения аудио, извлеченные с помощью Librosa, в многоканальном массиве Numpy - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь извлечь объекты из аудиофайлов с помощью Librosa, чтобы передать их на CNN в виде массивов Numpy.

В настоящее время я сохраняю по одной функции за раз для подачи в CNN.Я сохраняю в Python двумерные (одноканальные) лог-функции мел-спектрограммы, используя Librosa:

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).

Теперь я хотел бы "сложить" эти 2 слоя объектов в многоканальный объект numpy, который я могу передать в CNN в Керасе.

Как мне это написать?

РЕДАКТИРОВАТЬ:

Думаю, я понял это, используя np.vstack ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...