CN100454298C - 旋律数据库搜索 - Google Patents

旋律数据库搜索 Download PDF

Info

Publication number
CN100454298C
CN100454298C CNB2004800363955A CN200480036395A CN100454298C CN 100454298 C CN100454298 C CN 100454298C CN B2004800363955 A CNB2004800363955 A CN B2004800363955A CN 200480036395 A CN200480036395 A CN 200480036395A CN 100454298 C CN100454298 C CN 100454298C
Authority
CN
China
Prior art keywords
substring
inquiry
string
search
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800363955A
Other languages
English (en)
Other versions
CN1890665A (zh
Inventor
S·C·鲍维斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1890665A publication Critical patent/CN1890665A/zh
Application granted granted Critical
Publication of CN100454298C publication Critical patent/CN100454298C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于在旋律数据库(114)中搜索代表一个音频片断的查询字符串的系统,包括用于从用户接收查询字符串的输入端(122,132)。所述旋律数据库(114)存储多个音频片断的相应表示。处理器(116)用于将查询字符串分解(117)成一个查询子串的序列。在数据库中为每个子串独立地搜索(118)与该子串最接近的至少一个匹配。根据对于各个子串的搜索结果,为该查询字符串确定(119)一个最接近的匹配。

Description

旋律数据库搜索
发明领域
本发明涉及一种在旋律(Melody)数据库中搜索代表一个音频片断的查询字符串的方法。本发明进而涉及一种在旋律数据库中搜索代表一个音频片断的查询字符串的系统,以及一种用于这种系统的服务器。
发明背景
随着通过互联网的音频分发的增长,特定音频音轨/标题的获取也变得更加重要。传统上,用户可以在元数据上搜索音频标题/音轨,诸如艺术家名称,作曲家,唱片公司,等等。接着通过数据库来搜索匹配的音轨。接着用户从可能多个命中的结果中选择其中一个来播放/下载。由于用户可能不是总能够指定任何适当的元数据,指定查询字符串的其它形式也变得可用了。US 5,963,957描述了所谓的“哼唱查询”方法。用户可以简单地哼唱一个音轨的一部分。用户哼唱的音频片断被转换成一个查询字符串(例如通过将哼唱的片断转换成一个单音序列或音单音差分序列)。接着从数据库中搜索匹配的音轨(或者,更一般地,包括哼唱片断的更长的音频片断)。匹配基于一种距离度量。可以使用统计标准。其它一些音频输入形式也是已知的,例如吟唱,口哨或节拍。
发明概述
本发明的一个目的是提供一种前面所提出类型的改进的方法、系统和服务器,所述方法、系统和服务提高了在数据库中定位音频片断的准确性。
为了实现本发明的目的,在旋律数据库中为一个代表音频片断的查询字符串搜索匹配的方法包括:
将所述查询字符串分解成多个查询子串的序列;
对于每个子串,独立地从数据库中搜索至少一个与该子串最接近的匹配;以及
根据对于各个子串的搜索结果,为所述查询字符串确定至少一个最接近的匹配。
本发明者已经认识到代表用户的音频输入的查询字符串事实上可能不是数据库中表示的较大音频片断连贯、顺序的一部分。例如,用户可能提供了一个表示具有两个乐句(phrase)的音频片断的查询字符串:用户开始唱了一句主唱,接着唱了一句合唱,跳过了位于第一乐句和合唱乐句之间的其它乐句。只要用户只提供了其中一个乐句,就可能在数据库中发现一个“完美”匹配。常规的搜索方法企图在数据库中匹配两个乐句的整个序列。在许多情况下,这不能给出非常接近的匹配(如果能够可靠地检测到任何匹配)并将至少减小系统的准确性。按照本发明,查询字符串被分解成多个查询子串的序列。这些子串被独立地与数据库中存储的音频表示相匹配。各个匹配操作的结果被用来确定与整个查询字符串的匹配。在用户提供了两个非连续乐句作为查询字符串的例子中,可以更加可靠地定位两个乐句。如果对于同一个音轨二者都显示出良好的匹配,能够可靠地将该音轨识别为与整个查询相匹配。
近来,能够存储音频的高容量本地系统变得很流行了。这种系统可以采取任何形式,诸如具有音频播放机的PC,具有内置调谐器和硬盘的机顶盒,硬盘记录器,等等。另外便携式高容量音频存储系统也变得可用了,诸如苹果iPod以及飞利浦HDD100。这些本地存储系统能够轻松地存储数千音轨。常规地,这些系统使得用户通过指定一个或多个元数据项能够获取特定音轨,这些元数据项诸如艺术家、标题、唱片等。按照本发明的方法也可被用于快速地在这种系统中选择一个音轨,特别在用户忘记相关元数据的情况下。
按照附属权利要求2的方法,所述分解将查询分割成子串,每个子串对应于一个乐句。能够以任何适当的方式来检测乐句边界,例如一个乐句通常为8到20个音符长,围绕一个主音。在乐句之间可以出现停顿以换气并且主音可以改变。乐句通常以放慢的哼唱结束。或者,可以通过较大的单音差别(例如间隔)和较大的单音持续时间来区分乐句。通过单独地识别查询字符串中表示的顺序乐句,提高了准确性。
按照附属权利要求3的方法,用户可以提供表示音频片断的查询字符串,所述音频片断是多个由不同输入模态输入的音频部分的混合。常规的旋律数据库仅仅支持一种类型的输入模态。因此,用户必须使用数据库的输入类型。按照本发明,可以从数据库中搜索使用多种模态输入的音频片断。按照独立权利要求4的方法,至少其中一种查询输入模态是以下一种:哼唱,吟唱,口哨,节拍,击掌,敲击声。原则上,可以使用任何适当的输入模态,只要数据库支持该类型。
按照附属权利要求5的方法,只要检测到输入模态中的变化,就开始一个新的子串。如上所述,常规的旋律数据库只可以搜索整个查询字符串。本发明者已经认识到用户可能在输入由查询字符串表示的音频片断期间会改变输入模态。例如,用户可能吟唱合唱的一个乐句并且可能哼唱主唱的一个乐句。通过分割查询字符串,可以独立地搜索对应于不同输入模态的部分,例如使用为各个输入模态最优化的数据库或在数据库中将同一乐句表示为各种模态。
按照附属权利要求6的方法,使用了一种对子串的位置和尺寸最优化的迭代自动过程。以这种方式,可以自动地发现一种分解。对子串数量作了一个初始估计。每个子串将由各自的(具有子串的音频特征的)质心表示。因此,初始估计确定了质心的初始数量。质心初始位置的选择可以沿着音频片断等距地分布。起初子串可以为等尺寸的。所述过程接着最小化子串和其质心之间的距离。从一个输入模态到另外一个的跳转通常将负面地影响距离。因此,如果一个子串初始时与音频片断中的两个连续输入模态相重叠,那么最小化趋向于移动子串边界,直到它大体上落在与其质心相同的输入模态中。类似地,下一个子串的边界将被移动。
按照附属权利要求7的方法,子串数量的初始估计(并且因而质心的数量)基于音频片断的持续时间与一个乐句平均持续时间的比较。例如,可以假定具有40个单音的音频片断包括最多5个乐句(基于最小乐句长度为8个单音)。因此,能够以沿着音频片断等距分布的5个质心开始迭代。优选地,这个质心数量被用作最大质心数量。可以对更少的质心执行相同的优化,以便适用于片断高度连贯(例如用户唱出了一个正确的乐句序列)的情形。
按照附属权利要求8的方法,不使用隐式地将查询字符串分割成多个连续子串的自动最小化过程(其中距离度量作为隐式分类标准),或除了使用隐式分类之外,还可以使用显式的分类标准进行分割。分配给相同子串的查询字符串的每一部分满足相同的预定分类标准,并且每两个顺序子串满足不同的预定分类标准。不同的分类标准代表各个输入模态的音频特征。例如,有些输入模态,如吟唱或哼唱,具有清晰的音调,而其它模态,如敲击模仿,没有清晰的音调(即是噪声)。应当理解:就对所有用户适用的意义而言,有些特征是绝对的,而某些特征是相对的(例如相对于吟唱/哼唱的音调,口哨的音调水平)并且只有在分析了整个音频片断之后或由用户初始训练之后才可以被设置。
按照附属权利要求9的方法,分类导致在输入查询字符串中检测到指示输入模态中变化的边界。检测到的边界接着被用作自动分割的约束,使得一个子串必须落在两个这种连续边界之间(即一个子串不能跨越一个边界)。应当理解:不止一个子串(例如两个吟唱的乐句)可以位于两个边界之间。在这点上,音频片断的开始和结束也计为边界。
按照附属权利要求10的方法,通过以一种相应的相似度度量在数据库中为每个子串搜索匹配,为每个子串给出了数据库中N个最接近对应部分的一个N-最佳列表(N>=2)。基于获得的N-最佳列表,确定了对于整个查询字符串的最优匹配(或为整个查询字符串创建了一个N-最佳列表)。
为了实现本发明的目的,一种在旋律数据库中为代表音频片断的查询字符串搜索匹配的系统包括:
一个用于从用户接收查询字符串的输入端;
一个用于存储多个音频片断的相应表示的旋律数据库;
至少一个处理器,用于在程序控制之下:
-将查询字符串分解成多个查询子串序列;
-对于每个子串,独立地从数据库中搜索至少一个与该子串最接近的匹配;
-根据对于各个子串的搜索结果,为查询字符串确定至少一个最接近的匹配。
参考下面描述的实施例,作为非限制性的例子,本发明的这些以及其它方面将被阐明并变得清晰。
附图简要说明
在附图中:
图1显示了一种执行按照本发明方法的分布式系统的框图;
图2显示了一种执行按照本发明方法的独立装置;
图3显示了该方法一个实施例的流程图;以及
图4A和图4B显示了示范子分割。
优选实施例的详细说明
按照本发明,一个查询字符串被分割成子串,在数据库中对这些子串分别搜索,并且基于结果确定了一个匹配。所述子分割优选地反映了输入模态中的变化。这种子分割可以多种方式实现。下面,描述了一种采用动态编程的最小化算法并且描述了一种分类方法。也可以使用组合的方法,例如其中分类被用作最小化的预分析。作为针对输入模态中的变化执行子分割的备选方案,所述子分割可以基于乐句的变化。可以使用任何合适的乐句检测。优选地,结合在输入模态中变化和乐句变化上的子分割。例如,只要输入模态中发生一个变化,就首先执行一个子分割,目的是创建子串。只要检测到乐句变化,就对这些子串进一步子分割。
图1显示了示范系统100的一个框图,其中可以应用按照本发明的方法。在这个系统100中,功能被分布在服务器110和客户端(显示了两个客户端120和130)上。服务器110和客户端120/130可以通过网络140进行通信。这可以是个局域网,诸如以太网,WiFi,蓝牙,IEEE 1394,等等。优选地,网络140是一个广域网,如互联网。所述装置包括用于通过网络140通信的适当的硬件/软件(在服务器110中显示为项目112并且在客户端中分别显示为126和136)。这种通信HW/SW是已知的,将不再进一步说明。
在按照本发明的系统中,用户直接或间接地指定一个代表音频片断的查询字符串。使用图1的功能的子分割,用户通过各自的用户接口122,132使用其中一个客户端120或130指定该查询字符串。客户端可以在常规的计算机上实现,如PC或类似计算机的装置,诸如PDA。特别地,客户端可以在包括音乐库(类似与RealOne,Windows媒体播放器,苹果iTunes等的音乐库)的装置上实现,从而使得用户能够从库中指定一个音轨来播放或向库中下载。可以使用任何适当的用户接口,如鼠标,键盘,麦克风,等。特别地,用户可以使用音频或类似音频的输入,诸如有声输入来指定一个音频片断。例如,用户可以吟唱、哼唱、用口哨吹出、以节拍敲出等一个音频片断。音频片断可以由客户端通过麦克风接收。麦克风可以是传统的模拟麦克风,在这种情况下客户端可以包括一个A/D转换器,诸如通常在PC的声卡上存在的转换器。麦克风还可以是已经包括A/D转换器的数字麦克风。这种数字麦克风能够以任何适当的形式连接到客户端120/130,例如使用USB,蓝牙,等。音频片断能够以其它形式被输入,诸如使用传统的输入装置指定音符,例如使用鼠标或标准的PC文字键盘,或使用连接到PC的音乐键盘。
优选地,为了将音频片断转换成查询字符串,客户端执行某些形式的预处理。这种预处理可以由处理器124/134在适当的程序控制之下执行。程序从非易失性存储器,诸如硬盘,ROM,或闪存,加载到处理器124/134。预处理可以被限制为压缩音频片断,例如使用MP3压缩。如果音频片断已经以适当的压缩格式存在,如Midi格式,在客户端120/130上不需要进一步的预处理。预处理还可以包括转换成一种适合通过旋律数据库114搜索的格式。原则上,可以使用任何适当的方法来表示数据库中音频片断的实际的音频内容。已知用于此目的的各种方法,如将片断描述为单音序列,可选地具有音符持续时间。还知道其它形式,其中不是指定绝对的单音序列,而是仅仅给出了单音值的变化(单音增加,单音不变,单音降低)。如果需要的话,旋律数据库还可以包括音频片断的谱信息。这些技术通常可以从音频处理领域了解到,特别在语音处理领域,这些技术用于将音频和/或有声输入表示成一种适合进一步分析的形式,特别是用于从数据库搜索匹配。例如,音调检测技术众所周知,并且可被用于建立单音值以及单音持续时间。这种技术不是本发明的一部分。
对于按照本发明的系统,可以使用任何适当的形式指定查询字符串来访问数据库114,只要数据库114支持该查询字符串格式。数据库114能够搜索匹配查询的数据库记录。支持这种查询的旋律数据库是已知的。优选地,所述匹配不需要是一个“完全”匹配,而是一个“统计”匹配,即识别出数据库中的一个或多个记录具有与该查询相似的一个字段。所述相似可以是统计相似性,例如基于查询项目和相应的数据库字段之间的距离度量。优选地,数据库被索引来允许更快的获取匹配。律师文档号为PHNL030182的未预发布的专利申请描述了一种支持非确切匹配的索引数据库的方法。应当理解:对于一个标识的记录,数据库存储可能对系统用户有用的信息。这些信息可能包括被标识片断的提要信息,如作曲家,表演艺术家,唱片公司,录制年份,工作室,等等。一次数据库搜索可以标识一个或多个“匹配”记录(优选地以N-最佳列表的形式,例如数据库中十个最可能命中的记录)并且可以将这些记录与一些或全部存储的提要信息一起展示。在图1的装置中,通过网络从服务器向指定了该查询的客户端提供信息。客户端的用户接口用于向用户展示信息(例如使用一个显示器或语音合成)或用于执行更多的自动操作,如从互联网服务器下载标识的音轨或整个专辑。优选地,数据库能够搜索一个乐句或甚至更小的片断,诸如半个乐句,来增加搜索的鲁棒性。
按照本发明,查询字符串被分解成多个查询子串的一个序列。对于每个子串,独立地从数据库中搜索至少一个与该子串最接近的匹配。如上所述,这优选地导致在相应的相似性测量下数据库中N个最接近的对应部分构成的一个N-最佳列表(N≥2)。相似性测量可以是距离或相似度。对于本领域的技术人员,合适的距离度量/相似度是众所周知的,并且将不再进一步说明。根据对于各个子串的搜索结果,系统为整个查询串确定至少一个最接近的匹配。优选地,系统为整个串产生一个N-最佳列表(N≥2)从而使得用户可以从可能的有限候选列表中做出最后的选择。对于数据库可以为每个子串提供N-最佳列表的系统,整个查询串的匹配接着可以优选地基于子串的N-最佳列表的相似性度量。众所周知如何从子匹配的结果为整个匹配生成结果,例如,通过将子串的N-最佳列表合并成一个N-最佳列表。这可以通过对列表中所有的项目按照其到子串的归一化距离排序来完成。备选地,可以计算出N-最佳列表中等价项目的平均归一化距离。由于子串具有不同的长度,因而需要归一化。注意一个项目出现在每个N-最佳列表中,因为后者表示所有旋律的排序。这个平均值可被用于对项目排序。在两种情况中,对于给定的分解,最顶上的项目代表最佳的候选。
图1显示了服务器110的处理器116被用来执行按照本发明的方法:分解117查询字符串,为每个子串从数据库搜索118匹配,并且基于子串的匹配确定119一个结果。服务器可以在任何适当的服务器平台上被实现,诸如互联网服务器使用的那些。处理器可以是任何适当的处理器,例如Intel服务器处理器。程序可以从后台存储器诸如硬盘(未显示)加载。数据库可以使用任何适当的数据库管理系统来实现,诸如Oracle,SQL-Server,等等。
图2显示了一种备选的方案,其中本发明被用在一个独立的装置200中。这种装置可以例如是PC或移动音频播放器,如苹果iPod。在图2中,对于图1中已知描述的部件使用相同的参考标号。有利地,对于存储的音频片断表示,数据库还可以包括指向包含了该片断的音频标题的一个链接。实际的音频标题可以但不必存储在数据库中。优选地,标题被存储在装置本身。备选地,它可以通过网络访问。在这种情况中,链接可以是一个URL。通过将匹配链接到实际的标题,诸如一个音轨或专辑,标题的快速选择成为可能。甚至有可能通过哼唱音轨的一部分,就可以标识具有该部分的音轨并且完全自动地开始播放。
圈3显示了一种分解查询字符串的优选的方式。在步骤310中分解以估计查询字符串中存在多少个(Ns)子串开始。在一个优选实施例中,通过系统倾向于每个乐句一个子串来实现。这可以通过计算查询字符串中表示的音符的数量Nnotes来实现。由于一个乐句典型地由8到20个音符构成,乐句的数量落在Nnotes/8和Nnotes/20之间。第一分解可以基于使用Nnotes/8作为Ns(经过适当取整后)。在步骤320,查询字符串被分割成Ns个顺序的子串。通过使用等距分布可以获得一个适当的初始分割。图4A中显示了这点。在图4A中,查询字符串410初始时被分割成三个子串,由420,430和440指示。初始时,这些子串都是等尺寸的,即表示由查询字符串410表示的音频片断的相等持续时间。这些子串是顺序的并且一起覆盖了整个查询字符串410。每个子串420,430和440分别由质心425,435和445表示。质心由X指示,在图4A和4B中被可视化为对应的子串的中心位置。众所周知如何计算出代表这样一种子串的质心。例如,使用等尺寸的较短长度的帧(例如,20ms)来分析由用户输入的音频片断。使用常规的信号处理从这些帧中提取低级的谱特征向量,特别是适合区别不同的输入模态(即吟唱风格)的特征向量。在本领域这种特征向量众所周知。使用对数倒频谱系数,质心是音频子串中向量的算术平均。以这种方式,获得了质心的初始值。在现实中,不是所有的子串都是等尺寸的(同一模态的乐句和分段输入一般不具有相等的持续时间)。这意味着现在期望找到子串的最优化位置和尺寸。优选地,动态规划,在文献中也被称为分级构建,被用于发现最优值。动态规划在音频处理领域,特别在语音处理领域,众所周知。给定质心,在步骤330中动态规划可以包括改变子串的长度和位置,同时保持质心值固定不变。以这种方式,进行了子串边界的第一次估计。这是通过最小化每个质心与其对应的子串之间的总体距离度量来实现的。本领域的技术人员能够选择一种合适的距离度量。例如,使用对数倒频谱系数,(加权的)Euclidean距离是一种合适的距离度量。加权可用于强调/弱化特定的系数。在图4A的例子中,在位置450指示了两个相继部分之间的较大停顿(例如输入模态的改变)。图4B显示了第一个最小化回合之后子串的边界是什么样的。在这个例子中,子串420被缩短。子串420的左边界被保持固定在查询字符串410的开始位置。子串430被增大一点并且左边界被左移。应当理解:现在质心的值不再完全代表对应的子串。在步骤340中,基于当前的子串边界计算了新的质心的值。迭代地重复该过程直到满足预定的收敛标准。所述收敛标准可以是质心与其对应的子串之间的距离之和不再减小。在步骤350中对该标准进行了测试。可选地,(例如,基于能量水平)在查询字符串中检测到音符开始。音符开始可被用作乐句边界指示符(优选地不应该在音符中间切断)。因此,可以调整实际的子串边界使之落在音符之间。
在一个实施例中,用户可以通过混合多种查询输入模态来输入查询字符串,诸如哼唱,吟唱,吹口哨,敲节拍,击掌,或敲击声。图3的方法通常能够准确地确定输入模态之间的变化,因为如果选择了合适的质心参数,所述质心参数显示了不同输入模态中底层的音频差异,这种变化将影响距离度量。不同输入模态的音频特征可以总结如下:
·吟唱具有清晰的音调,意味着可以在吟唱波形的谱表示中容易地检测出谐音分量。换言之,谱峰值是单个谱峰值的倍数,也就是说第一谐波或基础频率,其通常被称为吟唱的音调。不同的音域(register)(“胸腔”,“央元音(mid)”,“头,假音”)具有不同的频率范围。
·敲击声(鼓掌,在表面轻拍)最多具有不确定的音调,意味着有多个峰值可以被解释为第一谐音。此外,敲击声是瞬时的或点击声;可以很容易的识别出在所有频率上功率和振幅中的快速变化。
·哼唱包含低频带,具有一些没有任何显著谱峰值的中音频率。
·口哨声具有从700Hz到2800Hz的音调(第一谐音)。它几乎是具有一些很弱的谐音的纯音调。一个人最低的口哨音调接近这个人最高可到的演唱音符(因此,口哨要比吟唱高1.5到2个八度音阶)。
·噪音在本质上是随机的。这导致在一个频带(粉色噪声)或整个频率范围上(白色噪声)的扁平频谱(一个能量级别)。
如果需要,本领域的技术人员能够区分更多的输入模态。
作为使用上述自动最小化方法的子分割的备选方案,可以通过将查询字符串分解成一个子串序列来将查询字符串子分割成子串,其中该序列的每个子串满足一个预定的分类标准,并且每两个连续的子串满足不同的预定分类标准。因此,如果音频片断的一部分表现出固定的一致性(例如,在吟唱使用的固定音阶范围内可清楚区分的音符(音调))并且下一部分表现出另外的一致性(例如,可以清楚区分的音调,但是在通常口哨使用的、高1.5个八度音阶的范围内),这导致所述部分的不同分类并且分类中的变化被解释为新的子串的开始。应当理解只有在对整个片断进行预分析或由用户训练之后才可以完全地确定某种分类标准。例如,这种预分析可以揭示用户是男性或女性并且给出用于吟唱、口哨等的平均音调。对于每个人其它标准可以相同,例如打击声主要是单音调的(例如,噪音,没有清楚的可识别的音调)。一旦建立缺省的和/或个人特定的标准,进一步分析查询字符串(或由该查询字符串表示的音频片断)。为所述查询字符串/片断的各部分确定了用于分类的音频特征并与不同的分类标准进行比较。因而,所述系统优选地包括不同的分类标准组,每组代表一种不同的输入模态。将所述被分析片断的音频特征与每个标准组进行比较。如果所述特征与其中一组相匹配(完全或接近地),就能确定所述音频部分最有可能是通过与该组相对应的输入模态指定的。分类技术众所周知。可以使用任何适当的技术。一种示范的分类方法如下。每次分析所述片断的相对较小的部分(例如一个乐句的1/3或1/2)。在分析过程中,这种宽度的分析窗口可以在整个音频片断上滑动。只要该窗口完全落在整个音频片断的一个一致部分,就能获得一个与对应的分类标准组相对接近的匹配。当窗口移过输入模态发生变化的边界时,所述匹配将不太接近并且随着窗口进一步移动而继续下降。当窗口被偏移得足够远进入下一个一致的部分时,将会发现一个与该输入模态对应的分类标准组更加接近的匹配。随着窗口进一步向该部分偏移,匹配将会增加。以这种方式,可以相对准确地检测到边界。所述分析窗口能够以例如10到30毫秒的帧步被偏移。一旦完成对整个音频片断的分析并且检测到至少一个边界(除了整个音频片断的开始和结束边界),可以在所述边界内形成子串。
上述分类技术可被用于按照上面的描述来执行子分割形成子串。在一个优选实施例中,通过约束子串的位置落在使用所述分类检测到的两个连续的边界内,所述分类被用作图3的自动过程的预处理。约束的动态规划技术众所周知,这里将不再进一步描述。
应当理解上面描述的分类信息不仅可以用来最优化子串位置和尺寸的发现,还可以用来改善数据库搜索。已经为所述音频片断的一部分确定了一个最佳的匹配一致性标准,在大多数情况下,还知道对应的输入模态。这个信息可被用来提高与定位部分相对应的子串的搜索。例如,可以为每种输入模态使用一个最优化的数据库。备选地,所述数据库可以支持使用不同输入模态来搜索相同的片断。因而输入模态是一个附加查询项并且所述数据库为每个音频片断(例如乐句)存储用于指定该片断的输入模态。
在图2所示的方法中,子串数量的初始估计不再改变。所述初始估计优选地描述了预期在整个片断中存在的子串的最大数量。由于所述片断可能比这个“最坏的”假设更加一致,优选地为较少的子串重复所述相同的过程。在图2的例子中,也可以分解成两个子串并执行数据库搜索。还可以从数据库中搜索整个子串。以这种方式,对于三个子串、两个子串以及一个子串(即整个字符串),可以获得整个字符串的匹配。可以对三个结果进行比较并将最有可能的一个呈现给用户。因此,原则上,所述查询字符串能够以许多方式被分解,其中每个分解产生多个可以在数据库中被独立搜索的子串。因此,所述查询字符串可以作为一个整体搜索,独立于将所述查询字符串分解成的两个子串,独立于将所述查询字符串分解成的三个子串等等。对于子串的每个搜索都可以产生一个N-最佳可能的候选列表。这个N-最佳列表可以是数据库中所有旋律按照它们与所述子串的距离进行排序的一个列表。例如,通过将所有可能的分解对应的列表组合成一个列表来呈现给用户,可以得到最终结果。通过合并所有列表并按照它们到对应的子串的归一化距离进行排序来实现这种合并。
如上所述,分解查询字符串的步骤包括将查询字符串分解成子串,每个子串基本上对应于一个乐句。这可以是唯一的分解步骤,或者可以结合其它的分解步骤/标准一起使用,诸如在已经执行了针对输入模态变化的子分割的分解之后进一步进行上述分解。可以使用任何适当的方式来检测乐句。乐句通常以哼唱减弱而结束。或者,能够以较大的音调差异(即间隔)和较大的音调持续时间来区分乐句。已知一些乐句检测算法,例如从“Cambouropoulos,E.(2001)。局部边界检测模型(1bdm)及其在表现定时中的应用。在Proc.ICMC 2001”以及“Ferrand,M.,Nelson,P.,和Wiggins,G.(2003)中。记忆与旋律密度:一种旋律分割模型。在:Proc of the XIV Colloguiu onMusical Informatics(XIV CIM 2003),Firenze,Italy,May 8-9-10,2003”。
应当认识到本发明还扩展到计算机程序,特别是在一个载体中的计算机程序,适用于将本发明付诸实施。所述程序可以是源代码、目标代码的形式,一种源代码和目标代码中间的代码,诸如部分编译的形式,或任何其它适合用于实现按照本发明的方法的形式。所述载体可以是任何能够携带所述程序的实体或装置。例如,所述载体可以包括一个存储介质,诸如ROM,例如CD ROM或半导体ROM,或磁记录介质,例如软盘或硬盘。此外,所述载体可以一种可传输的载体,诸如电信号或光信号,它们可以通过电缆或光缆或无线电或其它装置来传输。当所述程序被体现在这种信号中时,所述载体可以由这种电缆或其它设备或装置来构成。备选地,所述载体可以是集成电路,其中所述程序被嵌入其中,所述集成电路适用于执行相关的方法。
应当注意上面提到的实施例举例说明而不是限制本发明,并且本领域的技术人员能够在不背离所附的权利要求书的情况下设计出许多备选的实施例。在权利要求中,出现在括号中的任何参考符号不应该被理解为限制所述权利要求。动词“包括”及其变形词的使用不排除存在除了权利要求中所陈述的其它元素或步骤。出现在元素前的冠词“一个”不排除存在多个这种元素。本发明能够以包括几个不同元素的硬件方式实现,并能够以适当编程的计算机方式实现。在装置权利要求中枚举了几种装置,这些装置中的几种可以被实现在一个相同的硬件项目中。某些方法在不同的附加权利要求说明的事实并不说明不能使用这些方法的组合获益。

Claims (11)

1.一种在旋律数据库中为代表音频片断的查询字符串搜索匹配的方法,该查询字符串包括分别属于该音频片断的两个或更多个非连续部分的两个或者更多个非连续子串的序列;所述方法包括:
将所述查询字符串分解成所述两个或更多个非连续子串的序列;
对于每个子串,独立地从数据库中搜索与该子串最接近的至少一个匹配;以及
根据各个子串的搜索结果,为所述查询字符串确定至少一个最接近的匹配。
2.按照权利要求1所述的搜索查询字符串的方法,其中分解查询字符串的步骤包括将查询字符串分解成子串,每个子串对应于一个乐句。
3.按照权利要求1所述的搜索查询字符串的方法,包括使得用户能够输入混合了多个查询输入模态的查询字符串。
4.按照权利要求3所述的搜索查询字符串的方法,其中至少其中一种查询输入模态是下列其中之一:哼唱,吟唱,吹口哨,打节拍,击掌,敲击声。
5.按照权利要求3所述的搜索查询字符串的方法,其中查询输入模态中的变化与一个子串边界重合。
6.按照权利要求1所述的查询搜索字符串的方法,其中所述分解查询字符串的步骤包括:
估计所述查询字符串中存在多少个子串Ns
将所述查询字符串分割成Ns个连续的子串;每个子串与表示该子串的一个相应质心相关联;
迭代地:
根据对应的子串为每个质心确定相应的质心值;以及
通过最小化每个质心与其对应的子串之间的总体距离度量,为每个子串确定对应的子串边界;
直到满足预定的收敛标准。
7.按照权利要求6的搜索查询字符串的方法,其中估计所述查询字符串中存在多少个子串的步骤包括用乐句的平均持续时间除所述音频片断的持续时间。
8.按照权利要求5所述的搜索查询字符串的方法,其中分解查询字符串的步骤包括为每个输入模态检索相应的分类标准并且使用分类算法基于所述分类标准来检测查询输入模态中的变化。
9.按照权利要求3或8的搜索查询字符串的方法,其中分解查询字符的步骤包括将一个子串限制在查询输入模态中两个连续的变化内。
10.按照权利要求1所述的搜索查询字符串的方法,其中在数据库中搜索每个子串的步骤包括:借助一种相应的相似度度量,为子串生成数据库中N个最接近的对应部分的一个N-最佳列表,N≥2;并且基于子串的N-最佳列表的相似度度量执行为所述查询字符串确定所述至少一个最接近的匹配。
11.一种在旋律数据库中搜索代表音频片断的查询字符串的系统,该查询字符串包括分别属于该音频片断的两个或更多个非连续部分的两个或者更多个非连续子串的序列;所述系统包括:
用于从用户接收所述查询字符串的输入端(122,132);
用于存储多个音频片断的相应表示的旋律数据库(114);
至少一个处理器(116),用于在程序的控制之下,
-将所述查询字符串分解(117)成两个或者更多个非连续子串的序列;
-对于每个子串,独立地从数据库中搜索(118)该子串的至少一个相应的最接近的匹配;
-根据对于各个子串的搜索结果,为所述查询字符串确定(119)至少一个最接近的匹配。
CNB2004800363955A 2003-12-08 2004-11-22 旋律数据库搜索 Expired - Fee Related CN100454298C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03104572.7 2003-12-08
EP03104572 2003-12-08

Publications (2)

Publication Number Publication Date
CN1890665A CN1890665A (zh) 2007-01-03
CN100454298C true CN100454298C (zh) 2009-01-21

Family

ID=34673592

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800363955A Expired - Fee Related CN100454298C (zh) 2003-12-08 2004-11-22 旋律数据库搜索

Country Status (6)

Country Link
US (1) US20070162497A1 (zh)
EP (1) EP1695239A1 (zh)
JP (1) JP2007519092A (zh)
KR (1) KR20060132607A (zh)
CN (1) CN100454298C (zh)
WO (1) WO2005057429A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7619155B2 (en) * 2002-10-11 2009-11-17 Panasonic Corporation Method and apparatus for determining musical notes from sounds
DE102005005536A1 (de) * 2005-02-07 2006-08-10 Sick Ag Codeleser
US9230029B2 (en) * 2005-07-26 2016-01-05 Creative Technology Ltd System and method for modifying media content playback based on an intelligent random selection
JP2007072023A (ja) * 2005-09-06 2007-03-22 Hitachi Ltd 情報処理装置及び情報処理方法
CN100367279C (zh) * 2005-09-08 2008-02-06 上海交通大学 数字音乐旋律的跨越式高速匹配装置
CN100373383C (zh) * 2005-09-08 2008-03-05 上海交通大学 基于特征音符的音乐旋律分段自动标注方法
CN100373382C (zh) * 2005-09-08 2008-03-05 上海交通大学 基于内容的数字音乐检索旋律特征数据库及生成系统
EP1785891A1 (en) * 2005-11-09 2007-05-16 Sony Deutschland GmbH Music information retrieval using a 3D search algorithm
WO2007059420A2 (en) * 2005-11-10 2007-05-24 Melodis Corporation System and method for storing and retrieving non-text-based information
US7518052B2 (en) * 2006-03-17 2009-04-14 Microsoft Corporation Musical theme searching
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
US8116746B2 (en) 2007-03-01 2012-02-14 Microsoft Corporation Technologies for finding ringtones that match a user's hummed rendition
US7962530B1 (en) * 2007-04-27 2011-06-14 Michael Joseph Kolta Method for locating information in a musical database using a fragment of a melody
US20080300702A1 (en) * 2007-05-29 2008-12-04 Universitat Pompeu Fabra Music similarity systems and methods using descriptors
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US20090075711A1 (en) 2007-06-14 2009-03-19 Eric Brosius Systems and methods for providing a vocal experience for a player of a rhythm action game
CN101567203B (zh) * 2008-04-24 2013-06-05 深圳富泰宏精密工业有限公司 自动搜寻及播放音乐的系统及方法
US8126913B2 (en) * 2008-05-08 2012-02-28 International Business Machines Corporation Method to identify exact, non-exact and further non-exact matches to part numbers in an enterprise database
JP5238935B2 (ja) * 2008-07-16 2013-07-17 国立大学法人福井大学 口笛の吹音・吸音判定装置及び口笛音楽検定装置
US20100304810A1 (en) * 2009-05-29 2010-12-02 Harmonix Music Systems, Inc. Displaying A Harmonically Relevant Pitch Guide
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
US8080722B2 (en) * 2009-05-29 2011-12-20 Harmonix Music Systems, Inc. Preventing an unintentional deploy of a bonus in a video game
US8017854B2 (en) * 2009-05-29 2011-09-13 Harmonix Music Systems, Inc. Dynamic musical part determination
US8026435B2 (en) * 2009-05-29 2011-09-27 Harmonix Music Systems, Inc. Selectively displaying song lyrics
US7982114B2 (en) * 2009-05-29 2011-07-19 Harmonix Music Systems, Inc. Displaying an input at multiple octaves
US20100304811A1 (en) * 2009-05-29 2010-12-02 Harmonix Music Systems, Inc. Scoring a Musical Performance Involving Multiple Parts
US7935880B2 (en) 2009-05-29 2011-05-03 Harmonix Music Systems, Inc. Dynamically displaying a pitch range
US8076564B2 (en) * 2009-05-29 2011-12-13 Harmonix Music Systems, Inc. Scoring a musical performance after a period of ambiguity
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US7923620B2 (en) * 2009-05-29 2011-04-12 Harmonix Music Systems, Inc. Practice mode for multiple musical parts
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
WO2011056657A2 (en) 2009-10-27 2011-05-12 Harmonix Music Systems, Inc. Gesture-based user interface
US8550908B2 (en) 2010-03-16 2013-10-08 Harmonix Music Systems, Inc. Simulating musical instruments
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
EP2579955B1 (en) 2010-06-11 2020-07-08 Harmonix Music Systems, Inc. Dance game and tutorial
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
CN102063904B (zh) * 2010-11-30 2012-06-27 广州酷狗计算机科技有限公司 一种音频文件的旋律提取方法及旋律识别系统
US9122753B2 (en) * 2011-04-11 2015-09-01 Samsung Electronics Co., Ltd. Method and apparatus for retrieving a song by hummed query
US9563701B2 (en) * 2011-12-09 2017-02-07 Yamaha Corporation Sound data processing device and method
US9263013B2 (en) * 2014-04-30 2016-02-16 Skiptune, LLC Systems and methods for analyzing melodies
CN107229629B (zh) * 2016-03-24 2021-03-19 腾讯科技(深圳)有限公司 音频识别方法及装置
US11138230B2 (en) * 2018-03-26 2021-10-05 Mcafee, Llc Methods, apparatus, and systems to aggregate partitioned computer database data
CN110555114A (zh) * 2018-03-29 2019-12-10 北京字节跳动网络技术有限公司 一种媒体检索方法及装置
US11410678B2 (en) * 2021-01-14 2022-08-09 Cirrus Logic, Inc. Methods and apparatus for detecting singing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069575A1 (en) * 2000-03-13 2001-09-20 Perception Digital Technology (Bvi) Limited Melody retrieval system
US20030023421A1 (en) * 1999-08-07 2003-01-30 Sibelius Software, Ltd. Music database searching

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293083A (ja) * 1996-04-26 1997-11-11 Toshiba Corp 楽曲検索装置および検索方法
US5963957A (en) * 1997-04-28 1999-10-05 Philips Electronics North America Corporation Bibliographic music data base with normalized musical themes
JP3467415B2 (ja) * 1998-12-01 2003-11-17 日本電信電話株式会社 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した記録媒体
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3631650B2 (ja) * 1999-03-26 2005-03-23 日本電信電話株式会社 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した計算機読み取り可能な記録媒体
JP3844627B2 (ja) * 1999-04-12 2006-11-15 アルパイン株式会社 音楽検索システム
JP3597735B2 (ja) * 1999-10-12 2004-12-08 日本電信電話株式会社 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した記録媒体
US6633817B1 (en) * 1999-12-29 2003-10-14 Incyte Genomics, Inc. Sequence database search with sequence search trees
US7281034B1 (en) * 2000-01-24 2007-10-09 Friskit, Inc. System and method for media playback over a network using links that contain control signals and commands
JP2002014974A (ja) * 2000-06-30 2002-01-18 Fuji Photo Film Co Ltd 検索装置及び検索システム
JP3612272B2 (ja) * 2000-10-13 2005-01-19 日本電信電話株式会社 音楽情報検索装置、音楽情報検索方法および音楽情報検索用プログラムを記録したコンピュータ読み取り可能な記録媒体
US6528715B1 (en) * 2001-10-31 2003-03-04 Hewlett-Packard Company Music search by interactive graphical specification with audio feedback
US7110540B2 (en) * 2002-04-25 2006-09-19 Intel Corporation Multi-pass hierarchical pattern matching
US7010522B1 (en) * 2002-06-17 2006-03-07 At&T Corp. Method of performing approximate substring indexing
US7584173B2 (en) * 2003-02-24 2009-09-01 Avaya Inc. Edit distance string search
US7522967B2 (en) * 2003-07-01 2009-04-21 Hewlett-Packard Development Company, L.P. Audio summary based audio processing
EP1687803A4 (en) * 2003-11-21 2007-12-05 Agency Science Tech & Res METHOD AND APPARATUS FOR MATCHING AND REPRESENTING MELODIES FOR EXTRACTING MUSIC
US20070282816A1 (en) * 2006-06-05 2007-12-06 Shing-Jung Tsai Method and structure for string partial search

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023421A1 (en) * 1999-08-07 2003-01-30 Sibelius Software, Ltd. Music database searching
WO2001069575A1 (en) * 2000-03-13 2001-09-20 Perception Digital Technology (Bvi) Limited Melody retrieval system

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Audio Segmentation by Feature-Space Clustering UsingLinear Discriminant Analysis and Dynamic Programming. Michael M.Goodwin, Jean Laroche.Applications of signal processing to audio and acoustics,2003 IEEEWorks.. 2003
Audio Segmentation by Feature-Space Clustering UsingLinear Discriminant Analysis and Dynamic Programming. Michael M.Goodwin, Jean Laroche.Applications of signal processing to audio and acoustics,2003 IEEEWorks. 2003 *
Memory and Melodic Density: A Model for MelodySegmentation. Miguel Ferrand, Peter Nelson, Geraint Wiggins.Proceedings of the XIV Colloguium on Musical Informatics. 2003
Memory and Melodic Density: A Model for MelodySegmentation. Miguel Ferrand, Peter Nelson, Geraint Wiggins.Proceedings of the XIV Colloguium on Musical Informatics. 2003 *
Query by Humming: Matching Humming Query to Polyphonic Audio. Jungmin Song, So-Young Bae, Kyoungro Yoon.IEEE,Vol.1 No.26. 2002
Query by Humming: Matching Humming Query to Polyphonic Audio. Jungmin Song, So-Young Bae, Kyoungro Yoon.IEEE,Vol.1 No.26. 2002 *
The Local Boundary Detection Model (LBDM) and itsApplication in the Study of Expressive Timing. Emilios Cambouropoulos.Proceedings of the International computer Music Conference. 2001
The Local Boundary Detection Model (LBDM) and itsApplication in the Study of Expressive Timing. Emilios Cambouropoulos.Proceedings of the International computer Music Conference. 2001 *

Also Published As

Publication number Publication date
CN1890665A (zh) 2007-01-03
WO2005057429A1 (en) 2005-06-23
US20070162497A1 (en) 2007-07-12
JP2007519092A (ja) 2007-07-12
EP1695239A1 (en) 2006-08-30
KR20060132607A (ko) 2006-12-21

Similar Documents

Publication Publication Date Title
CN100454298C (zh) 旋律数据库搜索
Typke et al. A survey of music information retrieval systems
KR100838674B1 (ko) 오디오 핑거프린팅 시스템 및 방법
JP4945877B2 (ja) 高い雑音、歪み環境下でサウンド・楽音信号を認識するシステムおよび方法
US7342167B2 (en) Apparatus and method for generating an encoded rhythmic pattern
KR100717387B1 (ko) 유사곡 검색 방법 및 그 장치
US20170300567A1 (en) Media content items sequencing
US8344233B2 (en) Scalable music recommendation by search
US8190663B2 (en) Method and a system for identifying similar audio tracks
Marolt A mid-level representation for melody-based retrieval in audio collections
US20090031882A1 (en) Method for Classifying Music
KR100895009B1 (ko) 음악추천 시스템 및 그 방법
US7777121B2 (en) Information processing apparatus, information processing method, and computer program
AU2006288921A1 (en) Music analysis
US10623480B2 (en) Music categorization using rhythm, texture and pitch
US11271993B2 (en) Streaming music categorization using rhythm, texture and pitch
CN104380371A (zh) 用于生成输入音乐数据的伴奏的装置、系统和方法
CN110377782A (zh) 音频检索方法、装置和存储介质
CN105575400A (zh) 一种获取歌曲信息的方法、终端、服务器和系统
KR20140129443A (ko) 적응형 음원 추천 시스템 및 방법
Li et al. Music data mining: an introduction
Aucouturier et al. Tools and Architecture for the Evaluation of Similarity Measures: Case Study of Timbre Similarity.
West et al. Incorporating machine-learning into music similarity estimation
JP2004531758A (ja) 信号識別子の抽出方法及びその装置、信号識別子からデータベースを作成する方法及びその装置、及び、検索時間信号を参照する方法及びその装置
EP4250134A1 (en) System and method for automated music pitching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090121

Termination date: 20121122