0

我目前正在研究语音识别。我必须将未知声音的特征(就频率而言)与我们知道的其他声音特征进行比较。
具体来说,我们确定了声音频谱中的“峰值”(=共振峰),它们是该声音特有的(即特征化的)。我们将这些峰值的频率存储为元组。我们记住已知声音的元组。它们有数千(如果不是数十万)。
对于要识别的每个新声音,我们将该声音的元组与已知声音的元组进行比较。这需要做很多比较!

我需要找到一种方法来快速比较这些元组。

我已经查过了,发现这是一个最近邻搜索问题。 但是我不认为我可以使用这些算法。

实际上,元组可以具有不同数量的组件。这些分量只是频率(以 kHz 为单位)。它可以是 (1 ; 2) 或 (1 ; 2.4 ; 4 ; 5 ; 6 ; 7 ; 7.1 ; 11 ; 12.1; 13) (最多 20 个分量)。

所以我的问题是:我没有具有相同“维度”的元组的数据集,我怎样才能找到最近的邻居?

据我了解,为了应用最近邻算法,必须具有相同维度的元组

谢谢你读我。
祝你今天过得愉快!

编辑:
我不仅需要找到最近邻居,我实际上还需要找到与我的参考点的距离小于 D 的所有邻居点。

EDIT2:
@random_hacker:不,他们没有。您可以将元组的元素与另一个元组的元素进行比较,前提是这两个元素之间的差异小于阈值。

EDIT3:
你是绝对正确的mathias,我只是输入了一些“随机”的东西。事实上,元组的元素是按频率排序(升序)的,而且元组的每个频率实际上只出现一次。所以 (4 ; 2) 是错误的,应该是 (2 ; 4) 而 (2 ; 2 ; 4) 不存在,它是 (2;4) (不再重复)

4

0 回答 0