Я пытаюсь получить представления одиночных векторных функций для аудиофайлов, которые будут использоваться в задаче машинного обучения (в частности, классификация с использованием нейронной сети). У меня есть опыт в области компьютерного зрения и обработки естественного языка, но мне нужна помощь в ускорении работы с аудиофайлами.
Существует множество дескрипторов функций для аудиофайлов, но кажется, что MFCC используются больше всего для задач классификации аудио. Мой вопрос заключается в следующем: как взять представление MFCC для аудиофайла, который обычно представляет собой матрицу (предположительно), и превратить ее в один вектор функции? В настоящее время я использую librosa.
У меня есть куча аудиофайлов, но все они различаются по форме:
for filename in os.listdir('data'):
y, sr = librosa.load('data/' + filename)
print filename, librosa.feature.mfcc(y=y, sr=sr).shape
213493.ogg (20, 2375)
120093.ogg (20, 7506)
174576.ogg (20, 2482)
194439.ogg (20, 14)
107936.ogg (20, 2259)
То, что я сделал бы как человек CV, квантовать эти коэффициенты, выполняя k-средства, а затем использовать что-то вроде scipy.cluster.vq для получения векторов идентичной формы, которую я могу использовать в качестве входных данных для моего NN. Это то, что вы делали бы в звуковом случае, или есть разные/лучшие подходы к этой проблеме?