0

我有一个带有 MFCC 的音频数据集,它是一个一维数组 numpy 文件。总共有 45K 的示例,所以它是一个 1 列和 45K 行的 numpy 文件。在每一行中,有一个 N 行 13 列的嵌套对象。由于每个示例的长度不同,我试图将它们调整为相同的长度,以便它们都具有相同的列数和行数,以进行进一步的 ML 训练。以下是数据如何显示的示例:

数据集中的第一个示例,有 13 列和 43 行 数据集中的第一个示例,有 13 列和 43 行

数据集中的第二个示例,有 13 列和 33 行 数据集中的第二个示例,有 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 库,但没有找到任何有用的东西。谢谢你!

4

0 回答 0