我创建了一个类似于 Shazam 的过程,它创建给定声音剪辑的频谱图。我试图找出一种将这些数据存储到数据库中的方法,以便我可以对其进行比较。(我不需要实际的代码,只是对过程的概念帮助)。
对于那些不熟悉频谱图的人,它是 x 轴上的时间图和 y 轴上的频率图。我需要一种可以运行比较的方式来保存这些数据。此外,我不能简单地从左到右创建很长的频率值,因为在尝试使用大型数据集(基本上是 N^2 子字符串比较)对其进行搜索时,这会成为时间复杂度问题。
本质上,我正在考虑在声音剪辑上创建某种散列,并将数据保存为散列的 trie 或后缀树,但我不确定当时如何对其进行比较。
任何想法将不胜感激。