音频指纹识别系统和方法

文档序号:6493903阅读:629来源:国知局
专利名称:音频指纹识别系统和方法
技术领域
本发明一般涉及自动识别未知的音频片段(audio piece),并且特别涉及一种通过未知的音频片段的音频指纹(audio fingerprint)来对其进行有效识别的系统和方法。
背景技术
人们通常希望通过分析音频片段的音频信号的内容来对音频片段进行自动识别,尤其是当没有与音频片段相关联的描述性数据时。现有技术的指纹识别系统一般允许基于片段的任意部分来识别音频片段。指纹数据库中的指纹通常被进行时间索引,以允许基于任意部分生成的指纹与已存储的指纹适当对准。时基的指纹识别系统因而添加了一个附加的复杂步骤,即在执行任何对比之前在指纹数据库中定位正确的段(segment)。
如果可以对可用于指纹识别的音频片段部分做出假设,则生成并存储时间索引的音频指纹就是多余的。例如,如果已知将要识别的音频片段从片段的一开始就一直是可用的,则不必针对不同的时间片保持音频片段的时间索引的指纹,也不必将查询指纹与已存储的指纹进行时间校准。
现有技术的指纹识别系统遇到的另一个问题是,随着在指纹数据库中登记的指纹数的增加,获得匹配所花费的时间也在增加。
因此,需要一种可提供可靠、快速且强大的音频片段识别的指纹识别系统。这样的系统应当配置成减少执行识别时的搜索空间,以获得更好的匹配精度和速度。

发明内容
依照一个实施例,本发明是一种用于从多个音频片段中进行选择的方法,该方法包括接收第一音频片段的音频指纹;搜索数据库寻找音频指纹;检索与音频指纹相关联的音频简介向量(audio profilevector),该音频简介向量量化与音频片段相关联的多个属性;基于该音频简介向量更新用户优选信息;以及基于该用户优选信息选择第二音频片段。
依照另一个实施例,本发明是一种音频指纹识别方法,包括接收与音频片段相关联的音频信号;获取所述音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;将检索到的矩阵VT的行与所述音频片段相关联;以及将检索到的矩阵VT的行存储在数据存储器中。
依照另一个实施例,本发明是一种音频索引方法,包括接收音频片段的音频信号;自动地从所述音频信号中获取包含在所述音频片段中的音符列表;从所述音频信号中确定所述音频片段中的音符的突出部分;选择所述音频片段中最突出的音符的预定编号;基于所选择的音符生成索引;以及基于所生成的索引搜索数据库。
依照另一个实施例,本发明是一种生成音频类别的标识符的方法,该方法包括选择多个与所述音频类别相关联的音频片段;对每个所选择的音频片段计算音频指纹;计算所述计算出的音频指纹的平均值;基于该计算生成平均指纹;将平均指纹与所述音频类别相关联;以及将平均指纹存储在数据存储器内。
依照另一个实施例,本发明是一种音频选择系统,包括存储有多个音频片段的多个音频指纹的第一数据存储器;存储有多个音频指纹的多个音频简介向量的第二数据存储器,每个音频简介向量量化与对应于所述音频指纹的音频片段相关联的多个属性;搜索第一数据存储器以寻找第一音频片段的音频指纹的装置;从第二数据存储器中检索与所述音频指纹相关联的音频简介向量的装置;基于所检索的音频简介向量更新用户优选信息的装置;以及基于用户优选信息选择第二音频片段的装置。
依照另一个实施例,本发明是一种音频指纹识别系统,包括处理器,该处理器被配置为接收与音频片段相关联的音频信号;获取音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;将检索到的矩阵VT的行与音频片段相关联。该音频指纹识别系统也包括连接到处理器的、用于存储检索到的矩阵VT的行的数据存储器。
依照另一个实施例,本发明是一种音频索引系统,包括接收音频片段的音频信号的装置;自动地从音频信号中获取包含在音频片段中的音符列表的装置;从音频信号中确定音频片段中的音符的突出部分的装置;选择音频片段中最突出的音符的预定编号的装置;基于所选择的音符生成索引的装置;以及基于所生成的索引搜索数据库的装置。
依照另一个实施例,本发明是一种生成音频类别的标识符的系统,该系统包括对多个所选择的音频片段中的每一个计算音频指纹的装置;计算所计算出的音频指纹的平均值的装置;将所计算的平均值与音频类别相关联的装置;以及将所计算的平均值存储在数据存储器内的装置。
依照另一个实施例,本发明是一种包括计算机可读介质的产品,该计算机可读介质具有计算机可用的程序代码,所述程序代码包含可执行指令,当执行所述指令时,使计算机执行如下步骤获取与音频片段相关联的音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;将检索到的矩阵VT的行与音频片段相关联;以及将检索到的矩阵VT的行存储在数据存储器中。
依照另一个实施例,本发明是一种包括计算机可读介质的产品,该计算机可读介质具有计算机可用的程序代码,所述程序代码包含可执行指令,当执行所述指令时,使计算机执行以下步骤自动地从音频片段的音频信号中获取包含在音频片段中的音符列表;从音频信号中确定音频片段中的音符的突出部分;选择音频片段中最突出的音符的预定编号;基于所选择的音符生成索引;以及基于所生成的索引搜索数据库。
参照以下的详细说明、附加的权利要求以及附图,将会对本发明的上述和其它的特征、方面和优点有更充分的理解。当然,本发明的实际的范围是由附加的权利要求限定的。


图1是本发明一个实施例的音频指纹识别系统的示意性框图;图2是本发明一个实施例的生成音频指纹的进程的流程图;图3是本发明一个实施例的分析所提取的音频指纹以寻找与已登记的指纹的匹配的进程的流程图;图4是本发明的可选实施例的分析所提取的音频指纹以寻找与已登记的指纹的匹配的进程的流程图;图5是本发明一个实施例的向音频片段分配数据库索引的进程的流程图;图6是本发明一个实施例的生成特定音乐类别的标识符的进程的流程图;图7是本发明一个实施例的具有一个或多个利用图1的音频指纹识别系统的设备的计算机网络的示意性框图。
具体实施例方式
图1是本发明一个实施例的音频指纹识别系统10的示意性框图。该系统包括音频文件读取器12,用于读取不同类型的音频文件11或者音频输入,并用于输出wave(.wav)、MP3文件等。音频文件读取器12可以是例如CD播放器、DVD播放器、硬盘驱动器等。文件读取器12可以连接到用于对音频文件读取器12输出的MP3文件进行解码的MP3解码器14。也可以使用其它类型的解码器来对其它类型的编码音频文件进行解码。
提供给音频文件读取器12的音频文件11可以是要进行识别或登记的整个音频片段或部分音频片段。依照本发明的一个实施例,音频文件至少包含音频片段的第一个30秒。然而,本领域技术人员应当认识到更短或更长的段也可以用在可选实施例中。
接收到的音频文件11被传送到音乐预处理器16,依照本发明的一个实施例,该音乐预处理器16被配置为在分析音频文件之前采取特定的预处理步骤。典型的预处理步骤可以包括归一化音频信号以确保对于所有音频样本来说信号中的最高电平是相同的;将音频数据从立体声转换为单声道;以及删除音频文件中的无声部分等。然而,本领域技术人员应当认识到可以删除预处理步骤,或者预处理步骤可以包括现有技术中常规的其它类型的音频预处理步骤。
预处理器16被连接到指纹提取引擎18、指纹分析引擎20、索引引擎22和类别识别引擎24。依照本发明的一个实施例,这些引擎是执行存储在存储器中的指令的处理器。然而,本领域技术人员应当认识到,这些引擎可以以硬件、固件(例如ASIC)或者硬件、固件和软件的组合来实现。
依照本发明的一个实施例,指纹提取引擎18自动生成音频文件11的简洁表示(以下称为签名指纹),以用作音频片段的唯一标识符。依照本发明的一个实施例,将音频指纹表示为矩阵。
指纹分析引擎20分析指纹提取引擎18生成的音频指纹,以找到与指纹数据库26中的已登记指纹的匹配。基于该匹配,指纹分析引擎或者连接到指纹分析引擎的独立的引擎(未示出)检索与音频片段相关联的附加数据。附加数据例如可以是音频简介向量(audio profilevector),该向量描述了音频片段的各种属性,并在2002年10月23日申请的序列号为10/278636的美国专利申请中有更详细的描述,该申请的内容通过引用结合于此。当然,本领域技术人员应当认识到其它类型的数据也可以与音频片段相关联,例如标题信息、艺术家或团体信息、音乐会信息、新发行信息和/或URL链接等链接到其它数据的链接。
索引引擎22将所提取的音频指纹与可以由指纹分析引擎20用来识别指纹数据库26中的候选子集的索引相关联。依照本发明的一个实施例,基于包含在音频片段中的突出的音符来生成索引。一旦生成索引,就可以识别音频片段所属的指纹数据库26中的音频指纹的子集。
类别识别引擎24针对属于特定的音乐类别的音频片段的不同集合生成标识符。依照本发明的一个实施例,就整体的作曲法(instrumentation)/管弦乐配乐法(orchestration)而言,特定的音乐类别中的音乐片段是相似的。例如,典型的音乐类别可以被识别为包括爵士乐钢琴三重唱、无伴奏演唱、非电吉它、非电钢琴、带声乐演唱的非电吉它独奏等。不同的音乐类别因而可以被包括作为音频简介向量的属性,其中特定的音乐类别的值集合表示音频片段与该音乐类别有多远或多近。有关不同的音乐类别的标识符和信息然后可以存储在音乐类别数据库28中。
指纹数据库26存储有多个已知音频片段的指纹。可以基于包含在音频片段中的音符将这些指纹归类成离散子集。每个音频指纹可以与实际的音频文件、音频简介向量、音频片段的描述(例如标题、艺术家和/或团体)、音乐会信息、新发行信息和链接到其它数据的URL链接等相关联。
图2是本发明一个实施例的用于生成音频指纹的进程的流程图。进程开始后,在步骤100中,指纹提取引擎18或者独立的傅立叶变换引擎(未示出)计算预处理后的音频片段的音频信号的快速傅里叶变换(FFT)等,以将时域的信号波形转换为频域的信号。依照本发明的一个实施例,对FFT分析重新取样,以减小后续处理的数据大小。
基于该FFT计算,指纹提取引擎18在步骤102中生成T×F矩阵A,其中T≥F。依照本发明的一个实施例,矩阵的行表示时间,矩阵的列表示FFT的频率测量,也称作箱(bin)。
在步骤104中,指纹提取引擎18对矩阵A执行被称作奇异值分解(SVD)操作的公知的矩阵操作。概括地讲,SVD是如下将原始矩阵归约成三个矩阵的乘积的技术SVD(A)=USVT
其中U是T×F的正交矩阵,S是F×F的具有正值或零值元素的对角矩阵,VT是F×F正交矩阵的转置矩阵。依照本发明的一个实施例,V转置后的行是获得最大方差的坐标,即,以利用S矩阵的对角输入所测量的重要性的降序保留了大部分有关音频片段的信息。
在步骤106中,指纹提取引擎18从矩阵VT中提取预定数量的行,在步骤108中,根据所提取的行构建指纹矩阵。在步骤110中,以可以是现有技术中的常规方式的任何方式将指纹矩阵与音频片段相关联,从而将指纹矩阵设置为音频片段的指纹。
在步骤112中,将指纹矩阵存储在数据存储器中。如果是为了登记目的而进行指纹提取,则该数据存储器就是指纹数据库26。否则,该数据存储器是用于存储指纹矩阵的临时存储单元,用于指纹分析引擎20随后的检索,以与已登记的指纹进行对比。
与由现有技术的系统生成的许多音频指纹不同,通过SVD操作生成的音频指纹没有与其相关联的时间的概念。然而,本领域技术人员应该认识到,时间可以与通过SVD操作生成的音频指纹相关联。换句话说,通过将时间索引分配给通过SVD操作生成的音频指纹,并且重复在整首歌曲中移动的移动窗口的进程,可以将参照图2所描述的生成音频指纹的进程扩展到时基的音频指纹识别系统。
依照本发明的一个实施例,指纹提取引擎18也可以结合例如导致时间索引指纹测量的光谱矩心和/或光谱平滑度测量等现有技术中的指纹识别技术。如果使用这些技术,则可以将这些测量的其中之一或者两者的结果添加到通过SVD操作生成的指纹矩阵。
图3是本发明一个实施例的由指纹分析引擎20执行的进程的流程图,该进程用于分析所提取的音频指纹以找到与已登记的指纹的匹配。该进程开始后,在步骤200中,指纹分析引擎20从指纹提取引擎18接收所要识别的音频片段的指纹(指纹矩阵X)。指纹分析引擎20然后利用指纹矩阵X调用对指纹数据库26的搜索和检索程序。在这一点上,指纹分析引擎20在步骤202中查询在指纹数据库26中是否还存在指纹需要进行比较。如果回答是NO,则已对数据库中的所有指纹进行了分析而没有找到匹配。在这种情况下,指纹分析引擎在步骤204中返回没有匹配的结果。
另一方面,如果在数据库中还存在没有被分析的指纹,则指纹分析引擎20在步骤206中计算指纹矩阵X与指纹数据库26中的当前指纹(指纹矩阵Y)之间的差。依照本发明的一个实施例,通过如下对指纹矩阵X和Y的每个行向量进行众所周知的欧几里德距离测量D来计算该差D=(x1-y1)2+(x2-y2)2+...+(xm-ym)2]]>其中X1、X2...Xm是指纹矩阵X的行向量的值,Y1、Y2...Ym是指纹矩阵Y的行向量的值。将矩阵的所有行的距离测量相加并依照本发明的一个实施例进行归一化。在步骤208中,确定距离的和是否超过阈值。如果回答是NO,则宣告有匹配。否则,对指纹数据库中的下一个指纹进行检查,以寻找匹配。
依照本发明的一个实施例,如果同时引入现有技术的指纹识别技术,则对利用这些技术生成的时间索引向量进行测量,以求得其与相应的已存储指纹向量的距离,并以适当的常量进行标度。将该距离计算结果添加到在步骤206中计算的距离计算结果中。也可以引入加权因子,以便向利用特定方法进行的距离计算结果赋予更大或更小的权值。然后相对于阈值对总的距离计算结果进行测试,以确定是否实现了匹配。
图4是本发明的一个可选实施例的由指纹分析引擎20执行的进程的流程图,该进程用于分析所提取的音频指纹以找到与已登记的指纹的匹配。依照该实施例,该进程开始后,在步骤300中,指纹分析引擎20从指纹提取引擎18接收所要识别的音频片段的指纹(指纹矩阵X)。如果存在与所提取的指纹相匹配的候选,则指纹分析引擎20在步骤302中调用索引引擎22来识别指纹数据库26中包含该候选的指纹子集的索引。在这一点上,索引引擎22生成所提取的指纹的查询索引。依照本发明的一个实施例,该索引由四个无序的数字组成,并且如果具有与该查询索引相同的任何顺序的三个数字的索引存在于指纹数据库中,则认为已经找到了匹配。
除了将搜索空间限定为由相匹配的索引识别的指纹子集之外,图4的进程的剩余部分以与图3中相同的方式继续进行。
在这一点上,指纹分析引擎20在步骤304中查询在指纹数据库26的被识别的子集中是否还存在指纹要进行比较。如果回答是NO,则指纹分析引擎在步骤306中返回没有匹配的结果。
如果在子集中还存在没有被分析的指纹,则指纹分析引擎20在步骤308中计算指纹矩阵X和该子集中的当前指纹(指纹矩阵Y)之间的差。在步骤310中,确定该差是否超过阈值。如果回答是NO,则宣布有匹配。否则,对被识别的子集中的下一个指纹进行检查以寻找匹配。
图5是本发明一个实施例的由索引引擎22执行的用于向音频片段分配数据库索引的进程的流程图。该数据库索引用于识别指纹数据库26中的指纹子集,以便登记由指纹提取引擎18提取的指纹,或者减少为了找到所提取的指纹的匹配而需要在指纹数据库26检查的候选。
图5所示的进程开始后,在步骤400中,索引引擎22或者独立的傅立叶变换引擎(未示出)计算由预处理器16预处理后的音频片段的FFT等,并获取音频片段的FFT频谱。在步骤402中,索引引擎22自动获取音频片段的音符列表。该音符列表是利用现有技术中存在的任何已知的峰值跟踪算法而获得的。
该峰值跟踪算法生成FFT中的局部峰值轨迹,该轨迹随后由索引引擎对其进行分析,以找出它们的突出部分。在这一点上,索引引擎22在步骤404中确定是否还有轨迹需要检查。如果回答是YES,则在步骤406中该引擎将该轨迹的频率转换为量化了轨迹频率的整数值。依照本发明的一个实施例,这是通过以现有技术中已知的方式将轨迹的频率量化为最接近的MIDI(乐器数字接口)音符编号来实现的。
在步骤408中,基于例如轨迹的强度和持续时间等因素,索引引擎22计算轨迹的突出值。在步骤410中,该引擎将所计算的突出值与轨迹的MIDI音符相关联。在步骤412中,将MIDI音符的突出值累积为突出阵列。该进程返回到步骤404,分析下一个轨迹。
如果不再有轨迹需要检查,则该索引引擎22在步骤414中在突出阵列中选择具有最高的突出值的MIDI音符编号,并将它们作为指纹数据库26中的关联子集的索引输出。依照本发明的一个实施例,四个具有最高的突出值的MIDI音符编号被选为索引。依照本发明的一个实施例,该索引由四个无序的数字组成,其中这些数字是选定的MIDI音符编号,从而使得该索引共具有24种可能的组合。
图6是本发明一个实施例的生成特定音乐类别的标识符的进程的流程图。尽管该图按音乐类别进行了描述,但本领域技术人员应当认识到该进程可以扩展到现有技术中常规的所有类型的音频和音频类别。
该进程开始后,在步骤500中选择属于该音乐类别的音频片段的集合。片段的选择可以是手动的或者是自动的。
在步骤502中,类别识别引擎计算该集合中每个音频片段的指纹。依照本发明的一个实施例,类别识别引擎调用指纹提取引擎18通过SVD操作来计算指纹。除了SVD指纹识别机制,也可以使用其它的指纹识别机制,或者也可以使用其它的指纹识别机制来代替SVD指纹识别机制。
在步骤504中,类别识别引擎24对该集合计算所生成的指纹的平均值。在这一点上,类别识别引擎以现有技术中已知的方式计算被称作类别ID矩阵的矩阵,这使该集合中的所有音频片段的距离测量最小化。
在步骤506中,将由类别ID矩阵表示的、所计算出的指纹的平均值与音乐类别相关联,并且在步骤508中,将其作为标识符连同有关音乐类别的其它信息一起存储在音乐类别数据库28中。这种附加信息可以包括例如属于该类别的音频片段列表、到属于该类别的音频片段的音频指纹的指纹数据库26的链接、以及到属于该类别的音频片段的音频简介向量的链接等。
一旦生成音乐类别的标识符后,就可以进行计算,以确定音频片段距离特定的音乐类别有多远或多近。这例如可以通过计算对音频片段提取的指纹与特定音乐类别的类别ID矩阵之间的距离来实现。
依照本发明的一个实施例,不同的音乐类别用作音频片段的音频简介向量的属性。针对每种属性将距离计算结果存储在音频简介向量中,作为音频片段距离相关联的音乐类别有多远的指示。
图7是本发明一个实施例的具有一个或多个利用了图1的音频指纹识别系统10的设备的计算机网络的示意性框图。该网络包括服务器600,该服务器600通过例如因特网610等公用网络或专用网络连接到一个或多个终端602-608。终端可以是个人电脑602、个人数字助理604、便携式电脑606、无线设备608和/或现有技术中已知的其它类型的固定的或移动的终端。
依照本发明的一个实施例,音频指纹识别系统10驻留在服务器600中。音频指纹识别系统部分也可以驻留在终端602-608中。服务器600和/或终端602-608也可以包括序列号为10/278,636的美国专利申请所公开的音乐简介生成器(profiler),用于自动分析音频片段并生成音频简介向量。包含在服务器600和/或终端602-608中的一个或多个处理器可以进一步配置根据用户的爱好向他们推荐音频片段的功能性。这样的功能性包括生成/检索用于量化与音频数据库中的音频片段相关联的多种属性的音频简介向量、生成/更新用户优选向量,并且基于用户简介向量从数据库中选择音频片段。
在音频指纹识别系统10的典型使用中,用户评估一首没有与其相关联的描述性信息的歌曲。与评估信息一起传送该首歌曲的指纹,而不是传送用户想要评估的整首歌曲。在这一点上,用户所使用的终端访问服务器600将指纹提取引擎18的实例下载到其存储器(未示出)中。调用所下载的指纹提取引擎18来提取正在被评估的音频片段的指纹。通过因特网610将所提取的指纹传送到服务器600。
一接收到所提取的音频指纹,服务器600就调用指纹分析引擎20,来确定接收到的指纹是否被登记在指纹数据库26中。如果找到了匹配,则服务器检索与指纹相关联的音频简介向量,并利用该向量来更新或生成在序列号为10/278,636的美国专利申请中有进一步详细描述的用户简介向量。然后利用该用户简介向量来向用户推荐其它的歌曲。
如果没有实现匹配,则优选地由终端对音频片段进行分析,以生成在美国专利申请10/278,636中有进一步详细描述的音频简介向量。
依照本发明的一个实施例,终端也可以下载用以确定正在被评估的音频片段所属的指纹子集的索引的索引引擎的实例。然后将索引信息也连同指纹信息一起传送到服务器600,以加快对指纹数据库26的搜索。
尽管以特定的实施例对本发明进行了描述,但在不背离本发明的范围和精神的情况下,本领域技术人员可以容易地对所述的实施例设计各种变更。而且,对于不同技术领域的技术人员来讲,本发明本身将对其它应用的任务和适用给出技术启示。
例如,音频指纹识别系统10具有用于生成音频简介向量的音频片段的识别之外的应用。例如,系统10可用于寻找未知的音乐片段的相关联的描述性数据(元数据)。系统10也可以用于在广播站识别并协议传送音频节目材料,用于确认插播广告的预定传送,保护广播材料的著作权,或者节目材料的统计分析。
本发明的申请人意在通过权利要求来覆盖本发明的所有上述使用以及在不背离本发明的精神和范围的情况下可以对为了公开目的而在此选择的本发明的实施例所做的那些变化和修改。因此,无论从哪方面看,本发明的现有实施例都应当被视为是描述性的而不是限制性的,本发明的范围是由附加的权利要求及其等同物来指示,而不是由以上描述来指示。
权利要求
1.一种音频指纹识别方法,包括接收与音频片段相关联的音频信号;获取所述音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;以及将检索到的矩阵VT的行与音频片段相关联地存储在数据存储器中,其中由应用程序接收包含有检索到的矩阵VT的行的请求,并且基于该请求中的矩阵VT的行来识别并检索存储在数据库中的音频片段的信息。
2.根据权利要求1所述的方法,其中矩阵A的行表示时间,矩阵A的列表示频率测量。
3.根据权利要求1所述的方法,其中所述信息是存储有音频片段的声学分析数据的音频简介向量。
4.根据权利要求3所述的方法,进一步包括基于所述声学分析数据来推荐第二音频片段。
5.根据权利要求3所述的方法,其中所述音频简介向量对所述音频片段与被分类为特定音频类别的音频片段的相似度进行量化。
6.根据权利要求5所述的方法,进一步包括生成所述特定音频类别的标识符,该生成包括选择与所述特定音频类别相关联的音频片段;对每个所选择的音频片段计算第二音频指纹;计算所述计算出的第二音频指纹的平均值;将所述计算出的平均值与所述特定音频类别相关联;以及将所述计算出的平均值作为所述特定音频类别的标识符存储在数据存储器内。
7.根据权利要求6所述的方法,其中所述第二音频指纹的计算包括从与所选择的音频片段相关联的特定音频信号中获取多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;以及将检索到的矩阵VT的行与所选择的音频片段相关联。
8.根据权利要求7所述的方法,其中矩阵A的行表示时间,矩阵A的列表示频率测量。
9.根据权利要求1所述的方法,进一步包括生成所述音频片段的索引,该生成包括自动地从与所述音频片段相关联的音频信号中获取包含在所述音频片段中的音符列表;从所述音频信号中确定所述音频片段中的音符的突出部分;以及选择所述音频片段中最突出的音符的预定编号作为索引。
10.根据权利要求9所述的方法,其中将所选择的音符转换为音符编号,并且所述索引包括转换后的音符编号。
11.根据权利要求9所述的方法,其中将存储在所述数据库中的数据组织成一组或多组,其中每组由特定的索引来识别。
12.根据权利要求11所述的方法,其中寻找所述音频片段的信息的数据库搜索限于由所生成的索引识别的组。
13.一种音频索引方法,包括接收音频片段的音频信号;自动地从所述音频信号中获取包含在所述音频片段中的音符列表;从所述音频信号中确定所述音频片段中的音符的突出部分;选择所述音频片段中最突出的音符的预定编号;基于所选择的音符生成索引;以及基于所生成的索引搜索数据库。
14.根据权利要求13所述的方法,其中将存储在所述数据库中的数据组织成一组或多组,其中每组由特定的索引来识别。
15.根据权利要求14所述的方法,其中对数据库的搜索限于由所生成的索引识别的组。
16.根据权利要求13所述的方法,其中将所选择的音符转换为音符编号,并且该索引包括转换后的音符编号。
17.根据权利要求16所述的方法,其中将存储在所述数据库中的数据组织成一组或多组,其中每组由特定的索引来识别,该方法进一步包括将所生成的索引中的转换后的音符编号与包含在用于识别所述数据库中的数据组的索引中的音符编号进行比较;以及如果用于识别所述组的索引至少包括所生成的索引中音符编号的预定数量,则输出匹配指示。
18.根据权利要求17所述的方法,其中所生成的索引包括四个音符编号,并且如果用于识别所述组的索引包括所述四个音符编号中的至少三个,则输出匹配指示。
19.根据权利要求13所述的方法,其中所述数据库是包括多个音频片段的压缩表示的音频指纹数据库。
20.一种用于生成音频类别的标识符的方法,该方法包括选择与所述音频类别相关联的多个音频片段;对每个所选择的音频片段计算音频指纹;计算所述计算出的音频指纹的平均值;将所述计算出的平均值与所述音频类别相关联;以及将所述计算出的平均值存储在数据存储器中。
21.根据权利要求20所述的方法,其中音频指纹的计算包括从与所述音频片段相关联的音频信号中获取多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;将检索到的矩阵VT的行与所述音频片段相关联;以及存储所检索到的矩阵VT的行。
22.根据权利要求21所述的方法,其中矩阵A的行表示时间,矩阵A的列表示所述频率测量。
23.根据权利要求20所述的方法,其中所述音频类别是由特定的管弦乐配乐法或作曲法限定的。
24.一种音频指纹识别系统,包括音频文件读取器,读取存储有音频片段的音频文件;连接到所述音频文件读取器的处理器,该处理器被配置为获取与所述音频片段相关联的音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;并且检索矩阵VT的一行或多行;连接到所述处理器的数据存储器,用于与所述音频片段相关联地存储检索到的矩阵VT的行;以及存储多个音频片段的信息的数据库,其中由应用程序接收包含有检索到的矩阵VT的行的请求,并且基于该请求中的矩阵VT的行识别并检索存储在所述数据库中的音频片段的信息。
25.根据权利要求24所述的系统,其中矩阵A的行表示时间,矩阵A的列表示频率测量。
26.根据权利要求24所述的系统,其中所述信息是存储有音频片段的声学分析数据的音频简介向量。
27.根据权利要求24所述的系统,其中处理器被进一步配置为基于所述声学分析数据来推荐第二音频片段。
28.根据权利要求26所述的系统,其中所述音频简介向量对所述音频片段与被分类为特定音频类别的音频片段的相似度进行量化。
29.根据权利要求28所述的系统,其中处理器被进一步配置为生成所述特定音频类别的标识符,该生成包括选择与所述特定音频类别相关联的音频片段;对每个所选择的音频片段计算第二音频指纹;计算所述计算出的第二音频指纹的平均值;将所述计算出的平均值与所述特定音频类别相关联;以及将所述计算出的平均值作为所述特定音频类别的标识符存储在数据存储器内。
30.根据权利要求29所述的系统,其中所述第二音频指纹的计算包括从与所选择的音频片段相关联的特定音频信号中获取多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;以及将检索到的矩阵VT的行与所选择的音频片段相关联。
31.根据权利要求30所述的系统,其中矩阵A的行表示时间,矩阵A的列表示所述频率测量。
32.根据权利要求24所述的系统,其中该处理器被进一步配置为生成所述音频片段的索引,该生成包括自动地从与所述音频片段相关联的音频信号中获取包含在所述音频片段中的音符列表;从所述音频信号中确定所述音频片段中的音符的突出部分;以及选择所述音频片段中最突出的音符的预定编号作为索引。
33.根据权利要求32所述的系统,其中将所选择的音符转换为音符编号,并且该索引包括转换后的音符编号。
34.根据权利要求32所述的系统,其中将存储在所述数据库中的数据组织成一组或多组,其中每组由特定的索引来识别。
35.根据权利要求34所述的系统,其中寻找所述音频片段的信息的数据库搜索限于由生成的索引识别的组。
36.一种音频索引系统,包括接收音频片段的音频信号的装置;自动地从所述音频信号中获取包含在所述音频片段中的音符列表的装置;从所述音频信号中确定所述音频片段中的音符的突出部分的装置;选择所述音频片段中最突出的音符的预定编号的装置;基于所选择的音符生成索引的装置;以及基于所生成的索引搜索数据库的装置。
37.根据权利要求36所述的系统,其中将存储在所述数据库中的数据组织成一组或多组,其中每组由特定的索引来识别。
38.根据权利要求37所述的系统,其中对数据库的搜索限于由所生成的索引识别的组。
39.根据权利要求36所述的系统,其中将所选择的音符与音符编号相关联,并且该索引包括音符编号。
40.根据权利要求36所述的系统,其中所述数据库是包括多个音频片段的简洁表示的音频指纹数据库。
41.一种用于生成音频类别的标识符的系统,该系统包括针对多个被选择的音频片段中的每一个计算音频指纹的装置;计算所述计算出的音频指纹的平均值的装置;使所述计算出的平均值与所述音频类别相关联的装置;以及将所述计算出的平均值存储在数据存储器中的装置。
42.根据权利要求41所述的系统,其中计算所述音频指纹的装置包括从与所述音频片段相关联的音频信号中获取多个频率测量的装置;基于该频率测量构建矩阵A的装置;对矩阵A执行奇异值分解的装置,其中A=USVT;检索矩阵VT的一行或多行的装置;以及将检索到的矩阵VT的行与所述音频片段相关联的装置。
43.根据权利要求42所述的系统,其中矩阵A的行表示时间,矩阵A的列表示所述频率测量。
44.根据权利要求41所述的系统,其中所述音频类别是由特定的管弦乐配乐法或作曲法限定的。
45.一种包括计算机可读介质的产品,所述计算机可读介质具有计算机可用的程序代码,所述程序代码包含可执行指令,当执行所述指令时,使计算机执行如下步骤获取与音频片段相关联的音频信号的多个频率测量;基于该频率测量构建矩阵A;对矩阵A执行奇异值分解,其中A=USVT;检索矩阵VT的一行或多行;以及将检索到矩阵VT的行与音频片段相关联地存储在数据存储器中。
46.根据权利要求45所述的产品,其中矩阵A的行表示时间,矩阵A的列表示所述频率测量。
47.一种包括计算机可读介质的产品,所述计算机可读介质具有计算机可用的程序代码,所述程序代码包含可执行指令,当执行所述指令时,使计算机执行以下步骤自动地从音频片段的音频信号中获取包含在所述音频片段中的音符列表;从所述音频信号中确定所述音频片段中的音符的突出部分;选择所述音频片段中最突出的音符的预定编号;基于所选择的音符生成索引;以及基于所生成的索引搜索数据库。
48.一种实质上如以上参照附图所描述的音频指纹识别系统。
49.一种实质上如以上参照附图所描述的音频指纹识别方法。
全文摘要
本发明公开了一种音频指纹识别系统和方法。服务器接收第一音频片段的音频指纹,搜索数据库来寻找音频指纹,检索与音频指纹相关联的音频简介向量,基于该音频简介向量更新用户优选信息,并基于该用户优选信息选择第二音频片段。通过基于音频片段的频率测量生成矩阵,并对该矩阵执行奇异值分解来生成音频指纹。为了加快对数据库的搜索并且增加匹配精度,基于音频片段的最突出的音符来识别数据库中的候选子集,并且将搜索限定于所识别的子集。音频简介向量的属性中的一个是特定音频类别。基于属于该音频类别的音频片段的音频指纹的平均值来生成音频类别的标识符。
文档编号G06F17/30GK101014953SQ200480026758
公开日2007年8月8日 申请日期2004年9月23日 优先权日2003年9月23日
发明者弗罗德·霍姆, 温德尔·T·希肯 申请人:音乐Ip公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1