У меня есть набор аудиоданных с MFCC, и это файл с массивом 1D.
Всего 45K примеров, так что это простой файл с 1 столбцом и строкой 45K. В каждой строке есть вложенный объект с N строками и 13 столбцами. Поскольку длина каждого примера различна, я пытаюсь изменить их размер до одинаковой длины, чтобы у всех них было одинаковое количество столбцов и строк для дальнейшего обучения ОД. Вот пример того, как данные выглядят так:
первый пример в наборе данных, с 13 столбцами и 43 строками
второй пример в наборе данных, с 13 столбцами и 33 строками
Я пытался использовать динамическое искажение времени, но похоже, что весь код, представленный в Интернете, показывает только, как рассчитать кратчайшее расстояние из двух примеров звука:
import numpy as np
from scipy.spatial.distance import euclidean
from fastdtw import fastdtw
x = np.array([[1,1], [2,2], [3,3], [4,4], [5,5]])
y = np.array([[2,2], [3,3], [4,4]])
distance, path = fastdtw(x, y, dist=euclidean)
print(distance)
Но мне не нужно знать расстояние между двумя примерами, вместо этого мне нужно знать, как на самом деле изменить их размер, чтобы его можно было поместить в симметричную матрицу, поэтому я даже не знаю, Направление, на которое я смотрю, правильное. Я также попытался заглянуть в библиотеку python tslearn, но не смог найти ничего полезного. спасибо!