获取多媒体文件的方法、装置及计算机可读存储介质与流程

文档序号:12963774阅读:122来源:国知局
本发明涉及网络通信
技术领域
:,特别涉及一种获取多媒体文件的方法、装置及计算机可读存储介质。
背景技术
::目前,大部分终端都支持音乐软件,并且大部分音乐软件都具有听歌识曲的功能;在用户不知道歌名时,用户可以对着终端哼出想要搜索的歌曲的旋律,终端通过听歌识曲的功能,从多媒体服务器中搜索出该旋律对应的歌曲。终端从多媒体服务器中搜索该旋律对应的歌曲时,终端采集用户输入的语音信号,向多媒体服务器发送该语音信号;多媒体服务器接收该语音信号,提取该语音信号的音高序列,计算该音高序列与歌曲库中每个歌曲的音高序列之间的匹配度,根据该音高序列与每个歌曲的音高序列之间的匹配度,从歌曲库中选择匹配度最高的歌曲,向终端发送该选择的歌曲。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于一首歌曲的时长一般在4分钟左右,因此一首歌曲的音高序列包括一百多个音高,多媒体服务器计算该语音信号的音高序列与歌曲库中的每个歌曲的音高序列之间的匹配度比较耗时,从而导致终端获取歌曲的效率低。技术实现要素:为了解决现有技术的问题,本发明提供了一种获取多媒体文件的方法、装置及计算机可读存储介质。技术方案如下:一方面,本发明提供了一种获取多媒体文件的方法,所述方法包括:提取采集的语音信号的参考音符序列,所述参考音符序列包括多个音符;对于多媒体文件库中的任一多媒体文件,当所述任一多媒体文件的音符序列具有重复结构时,获取所述任一多媒体文件的基准音符子序列,所述基准音符子序列包括至少一个音符,且所述基准音符子序列包括的音符的数目小于所述任一多媒体文件包括的音符的数目;根据所述参考音符序列和所述任一多媒体文件的基准音符子序列,确定所述语音信号与所述任一多媒体文件之间的匹配度;根据所述语音信号与所述任一多媒体文件之间的匹配度,从所述多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。在一种可能的实现方式中,所述获取所述任一多媒体文件的基准音符子序列之前,所述方法还包括:将所述任一多媒体文件的音符序列划分为多个音符子序列,每个音符子序列包括至少一个音符;基于预设重复度算法,确定所述每个音符子序列之间的重复度;如果所述每个音符子序列之间的重复度大于预设重复度,确定所述任一多媒体文件的音符序列具有重复结构。在一种可能的实现方式中,所述基于预设重复度算法,确定所述每个音符子序列之间的重复度,包括:基于相似矩阵算法,确定所述每个音符子序列之间的至少一个相似矩阵,根据每个相似矩阵,确定所述每个相似矩阵的特征值,根据所述每个相似矩阵的特征值,确定所述每个音符子序列之间的重复度;或者,基于互相关算法,确定所述每个音符子序列之间的至少一个互相关度,根据每个互相关度,确定所述每个音符子序列之间的重复度;或者,基于编辑距离算法,确定所述每个音符子序列之间的至少一个编辑距离,根每个编辑距离,确定所述每个音符子序列之间的重复度;或者,基于emd距离算法,确定所述每个音符子序列之间的至少一个emd距离,根据每个emd距离,确定所述每个音符子序列之间的重复度。在一种可能的实现方式中,所述获取所述任一多媒体文件的基准音符子序列,包括:从所述多个音符子序列中随机选择一个音符子序列作为所述任一多媒体文件的基准音符子序列;或者,从所述多个音符子序列中选择一个包括音符数最多的音符子序列作为所述任一多媒体文件的基准音符子序列;或者,从所述多个音符子序列中选择一个包括音符数最少的音符子序列作为所述任一多媒体文件的基准音符子序列。在一种可能的实现方式中,相邻两个音符子序列之间的交集包括预设数目个音符,所述预设数目为大于或者等于0,且小于指定数值的整数,所述指定数值为所述任一多媒体文件包括音符的数目与划分的音符子序列的数目之商。在一种可能的实现方式中,所述音符包括音高和/或音长,所述音高为所述音符的绝对音高或者相邻两个音符之间的相对音高。另一方面,本发明提供了一种获取多媒体文件的装置,所述装置包括:提取模块,用于提取采集的语音信号的参考音符序列,所述参考音符序列包括多个音符;第一获取模块,用于对于多媒体文件库中的任一多媒体文件,当所述任一多媒体文件的音符序列具有重复结构时,获取所述任一多媒体文件的基准音符子序列,所述基准音符子序列包括至少一个音符,且所述基准音符子序列包括的音符的数目小于所述任一多媒体文件包括的音符的数目;确定模块,用于根据所述参考音符序列和所述任一多媒体文件的基准音符子序列,确定所述语音信号与所述任一多媒体文件之间的匹配度;第二获取模块,用于根据所述语音信号与所述任一多媒体文件之间的匹配度,从所述多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。在一种可能的实现方式中,所述装置还包括:划分模块,用于将所述任一多媒体文件的音符序列划分为多个音符子序列,每个音符子序列包括至少一个音符;所述确定模块,还用于基于预设重复度算法,确定所述每个音符子序列之间的重复度;所述确定模块,还用于如果所述每个音符子序列之间的重复度大于预设重复度,确定所述任一多媒体文件的音符序列具有重复结构。在一种可能的实现方式中,所述确定模块,还用于基于相似矩阵算法,确定所述每个音符子序列之间的至少一个相似矩阵,根据每个相似矩阵,确定所述每个相似矩阵的特征值,根据所述每个相似矩阵的特征值,确定所述每个音符子序列之间的重复度;或者,所述确定模块,还用于基于互相关算法,确定所述每个音符子序列之间的至少一个互相关度,根据每个互相关度,确定所述每个音符子序列之间的重复度;或者,所述确定模块,还用于基于编辑距离算法,确定所述每个音符子序列之间的至少一个编辑距离,根每个编辑距离,确定所述每个音符子序列之间的重复度;或者,所述确定模块,还用于基于emd距离算法,确定所述每个音符子序列之间的至少一个emd距离,根据每个emd距离,确定所述每个音符子序列之间的重复度。在一种可能的实现方式中,所述第一获取模块,还用于从所述多个音符子序列中随机选择一个音符子序列作为所述任一多媒体文件的基准音符子序列;或者,所述第一获取模块,还用于从所述多个音符子序列中选择一个包括音符数最多的音符子序列作为所述任一多媒体文件的基准音符子序列;或者,所述第一获取模块,还用于从所述多个音符子序列中选择一个包括音符数最少的音符子序列作为所述任一多媒体文件的基准音符子序列。在一种可能的实现方式中,相邻两个音符子序列之间的交集包括预设数目个音符,所述预设数目为大于或者等于0,且小于指定数值的整数,所述指定数值为所述任一多媒体文件包括音符的数目与划分的音符子序列的数目之商。在一种可能的实现方式中,所述音符包括音高和/或音长,所述音高为所述音符的绝对音高或者相邻两个音符之间的相对音高。另一方面,本发明提供了一种获取多媒体文件的装置,所述装置包括:处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现第一方面任一项所述的方法。另一方面,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一方面任一项所述的方法。本发明实施例提供的技术方案带来的有益效果是:对于音符序列具有重复结构的多媒体文件,获取该多媒体文件的基准音符子序列,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,基于匹配度,从多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。由于该多媒体文件的基准音符子序列包括的音符的数目小于该多媒体文件包括的音符的数目,因此在本发明实施例中,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,降低了计算时间,提高了获取多媒体文件的效率。附图说明图1是本发明实施例提供的一种实施环境的示意图;图2是本发明实施例提供的一种获取多媒体文件的方法流程图;图3是本发明实施例提供的一种获取多媒体文件的方法流程图;图4是本发明实施例提供的一种获取多媒体文件的方法流程图;图5是本发明实施例提供的一种获取多媒体文件的装置结构示意图;图6是本发明实施例提供的一种多媒体服务器的框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。在现有技术中,多媒体服务器在基于采集的语音信号,为用户推荐多媒体文件时,多媒体服务器计算该采集的语音信号的音高序列与多媒体文件库中每个多媒体文件的音高序列之间的匹配度,基于该采集的语音信号的音高序列与每个多媒体文件的音高序列之间的匹配度,为用户推荐多媒体文件。然而由于多媒体文件的音高序列包括的音高较多,因此多媒体文件计算该采集的语音信号的音高序列与每个多媒体文件的音高序列之间的匹配度比较耗时,从而导致获取多媒体文件的效率低。为了提高获取多媒体文件的效率;在本发明实施例中,对于音符序列具有重复结构的多媒体文件,从该多媒体文件中提取部分音符序列,为了便于描述,将部分音符序列称为基准音符子序列,直接计算该基准音符子序列与采集的语音信号的参考音符序列之间的匹配度,由于基准音符子序列包括的音符的数目小于该多媒体文件包括的音符的数目,从而降低了计算时间,提高了获取多媒体文件的效率。图1是本发明实施例提供的一种实施环境,参见图1,该实施环境包括终端101和多媒体服务器102。终端101与多媒体服务器102之间通过通信网络连接。其中,终端101中运行多媒体服务器102关联的应用,可以通过该应用与多媒体服务器102之间进行交互。例如,终端101基于用户标识登录该应用或者直接登录该应用,从而与多媒体服务器102进行交互。该应用可以为音频应用或者视频应用等多种应用。该用户标识可以为用户账号、电话号码等,本发明实施例对此不做限定。终端101可以为手机终端101、pad(portableandroiddevice,平板电脑)终端101或者电脑终端101等。多媒体服务器102可以是一台多媒体服务器102,或者由若干台多媒体服务器102组成的多媒体服务器102集群,或者是一个云计算多媒体服务器102中心,本公开实施例对此不做限定;多媒体服务器102可以为视频服务器或者音频服务器。本发明实施例提供了一种获取多媒体文件的方法,该方法应用多媒体服务器中,参见图2,该方法包括:步骤201:提取采集的语音信号的参考音符序列,该参考音符序列包括多个音符。步骤202:对于多媒体文件库中的任一多媒体文件,当该任一多媒体文件的音符序列具有重复结构时,获取该任一多媒体文件的基准音符子序列,该基准音符子序列包括至少一个音符,且该基准音符子序列包括的音符的数目小于该任一多媒体文件包括的音符的数目。步骤203:根据该参考音符序列和该任一多媒体文件的基准音符子序列,确定该语音信号与该任一多媒体文件之间的匹配度。步骤204:根据该语音信号与该任一多媒体文件之间的匹配度,从该多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。在一种可能的实现方式中,该获取该任一多媒体文件的基准音符子序列之前,该方法还包括:将该任一多媒体文件的音符序列划分为多个音符子序列,每个音符子序列包括至少一个音符;基于预设重复度算法,确定该每个音符子序列之间的重复度;如果该每个音符子序列之间的重复度大于预设重复度,确定该任一多媒体文件的音符序列具有重复结构。在一种可能的实现方式中,该基于预设重复度算法,确定该每个音符子序列之间的重复度,包括:基于相似矩阵算法,确定该每个音符子序列之间的至少一个相似矩阵,根据每个相似矩阵,确定该每个相似矩阵的特征值,根据该每个相似矩阵的特征值,确定该每个音符子序列之间的重复度;或者,基于互相关算法,确定该每个音符子序列之间的至少一个互相关度,根据每个互相关度,确定该每个音符子序列之间的重复度;或者,基于编辑距离算法,确定该每个音符子序列之间的至少一个编辑距离,根每个编辑距离,确定该每个音符子序列之间的重复度;或者,基于emd距离算法,确定该每个音符子序列之间的至少一个emd距离,根据每个emd距离,确定该每个音符子序列之间的重复度。在一种可能的实现方式中,该获取该任一多媒体文件的基准音符子序列,包括:从该多个音符子序列中随机选择一个音符子序列作为该任一多媒体文件的基准音符子序列;或者,从该多个音符子序列中选择一个包括音符数最多的音符子序列作为该任一多媒体文件的基准音符子序列;或者,从该多个音符子序列中选择一个包括音符数最少的音符子序列作为该任一多媒体文件的基准音符子序列。在一种可能的实现方式中,相邻两个音符子序列之间的交集包括预设数目个音符,该预设数目为大于或者等于0,且小于指定数值的整数,该指定数值为该任一多媒体文件包括音符的数目与划分的音符子序列的数目之商。在一种可能的实现方式中,该音符包括音高和/或音长,该音高为该音符的绝对音高或者相邻两个音符之间的相对音高。在本发明实施例中,对于音符序列具有重复结构的多媒体文件,获取该多媒体文件的基准音符子序列,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,基于匹配度,从多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。由于该多媒体文件的基准音符子序列包括的音符的数目小于该多媒体文件包括的音符的数目,因此在本发明实施例中,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,降低了计算时间,提高了获取多媒体文件的效率。在获取多媒体文件之前,多媒体服务器需要确定多媒体文件库中的多媒体文件的音符序列是否具有重复结构;如果多媒体文件的音符序列具有重复结构,才按照本发明实施例提供的方法获取多媒体文件。参见图3,该方法包括:步骤301:对于多媒体文件库中的任一多媒体文件,多媒体服务器将该任一多媒体文件的音符序列划分为多个音符子序列,每个音符子序列包括至少一个音符。音符序列包括音高和/或音长;音高可以为绝对音高,也可以为相邻两个音高之间的相对音高。相应的,每个音符子序列包括至少一个音高和/或每个音高的音长。多媒体服务器将该任一多媒体文件的音符序列划分的多个音符子序列的数目可以为大于2的任一数值;每个音符子序列包括的音符数目可以相同,也可以不相同。并且,相邻两个音符子序列之间的交集可以预设数目个音符。其中,预设数目为大于或者等于0,且小于指定数值的整数。指定数值为该任一多媒体文件包括音符的数目与划分的音符子序列的数目之商。多个音符子序列的并集等于该任一多媒体文件的音符序列。需要说明的是,为了提高准确性,相邻两个音符子序列之间的交集不为空集,也即相邻两个音符子序列包括几个相同的音符。例如,该任一多媒体文件的音符序列包括n个音高,则音符序列m=[m1m2m3……mn-1mn];多媒体服务器将该音符序列划分为两个音符子序列,分别为x1和x2,且x1=[m1m2m3……mn/2+k-1mn/2+k],x2=[mn/2-kmn/2-k+1mn/2-k+2……mn-1mn]。两个音符序列包括相同的k个音符,k的取值范围为[0,n/2)。步骤302:多媒体服务器基于预设重复度算法,确定每个音符子序列之间的重复度。该预设重复度算法可以为相似矩阵算法、互相关算法、编辑距离算法或者emd距离算法等。当预设重复度算法为相似矩阵算法,本步骤可以通过以下第一种方式实现。当预设重复度算法为互相关算法,本步骤可以通过以下第二种方式实现。当预设重复度算法为编辑距离算法,本步骤可以通过以下第三种方式实现。当预设重复度算法为emd(earthmover'sdistance)距离算法,本步骤可以通过以下第四种方式实现。对于第一种实现方式,本步骤可以通过以下步骤(1)至(3)实现,包括:(1):多媒体服务器基于相似矩阵算法,确定每个音符子序列之间的至少一个相似矩阵。多媒体服务器确定至少一组音符子序列,每组音符子序列包括两个音符子序列,通过相似矩阵算法计算每组音符子序列之间的相似矩阵,得到至少一个相似矩阵。其中,对于一组音符子序列,多媒体服务器通过以下公式一计算该组音符子序列之间的相似矩阵。公式一:其中,xm和xn分别为一组音符子序列中包括的两个音符子序列。xmi为音符子序列xm中的第i个音符,xnj为音符子序列xn中的第j个音符。cmn[i][j]为音符子序列xm和xn之间的相似矩阵。其中,多媒体服务器在确定至少一组音符子序列时,多媒体服务器可以将相邻两个音符子序列确定为一组音符子序列,或者将任意两个音符子序列确定为一组音符子序列。例如,多媒体服务器将该任一多媒体文件划分为两个音符子序列,分别为音符子序列x1和音符子序列x2;且音符子序列x1和音符子序列x2均仅包括音高。其中,音符子序列x1=[52535455565758],音符子序列x2=[505152535455505758]。相应的,相似矩阵算法为基于该相似矩阵算法可以得出音符子序列x1和x2之间的相似矩阵为:(2):多媒体服务器根据每个相似矩阵,确定每个相似矩阵的特征值。在本步骤中,对于每个相似矩阵,多媒体服务器可以将音符重复最长片段的长度作为该相似矩阵的特征值。多媒体服务器也可以将音符重复片段的长度之和作为该相似矩阵的特征值。多媒体服务器也可以将多个对角线上音符重复片段的长度之和的最大长度之和作为该相似矩阵的特征值。需要说明的是,该相似矩阵中对角线上连续不为0的数值的数目即为该音符重复片段的长度。例如,当多媒体服务器将音符重复最长片段的长度作为该相似矩阵的特征值时,则以上相似矩阵中音符重复片段为[1234],[12],[11]。音符重复片段的长度分别为4,2和2,则多媒体服务器确定该相似矩阵的特征值为4。再如,当多媒体服务器将音符重复片段的长度之和作为该相似矩阵的特征值时,以上相似矩阵的音符重复片段的长度之和为4+2+2=8;则多媒体服务器确定该相似矩阵的特征值为8。再如,当多媒体服务器将多个对角线上音符重复片段的长度之和的最大长度之和作为该相似矩阵的特征值时,以上两个对角线上的音符重复片段的长度之和分别为4+2=6以及2,则多媒体服务器确定该相似矩阵的特征值为6。(3):多媒体服务器根据每个相似矩阵的特征值确定每个音符子序列之间的重复度。多媒体服务器从每个相似矩阵的特征值中选择最小特征值,将该最小特征值作为每个音符子序列之间的重复度。需要说明的是,多媒体服务器还可以从每个相似矩阵的特征值中选择最大特征值,将该最大特征值作为每个音符子序列之间的重复度。或者,多媒体服务器对每个相似矩阵的特征值进行加权运算,得到每个音符子序列之间的重复度。对于第二种实现方式,本步骤可以为:多媒体服务器基于互相关算法,确定每个音符子序列之间的至少一个互相关度,根据每个互相关度确定每个音符子序列之间的重复度。多媒体服务器确定至少一组音符子序列,每组音符子序列包括两个音符子序列,通过互相关算法计算每组音符子序列之间的互相关度,得到至少一个互相关度;从每个互相关度中选择最小互相关度,将该最小互相关度确定为每个音符子序列之间的重复度。需要说明的是,多媒体服务器也可以从多个互相关度中选择最大互相关度,将该最大互相关度确定为每个音符子序列之间的重复度。或者,多媒体服务器对每个互相关度进行加权运算,得到每个音符子序列之间的重复度。其中,对于一组音符子序列,多媒体服务器通过以下公式二计算该组音符子序列之间的互相关度。公式二:其中,xm和xn分别为一组音符子序列中包括的两个音符子序列。xm(j)为音符子序列xm中的第j个音符,yn(j-i)为音符子序列xn中的第j-i个音符,cmn(i,j)为音符子序列xm和xn之间的互相关度。同样,多媒体服务器在确定至少一组音符子序列时,多媒体服务器可以将相邻两个音符子序列确定为一组音符子序列,或者将任意两个音符子序列确定为一组音符子序列。对于第三种实现方式,本步骤可以为:多媒体服务器基于编辑距离算法,确定每个音符子序列之间的至少一个编辑距离,根据每个编辑距离确定每个音符子序列之间的重复度。多媒体服务器确定至少一组音符子序列,每组音符子序列包括两个音符子序列,通过编辑距离算法,计算每组音符子序列之间的编辑距离,得到至少一个编辑距离;从每个编辑距离中选择最小编辑距离,将该最小编辑距离确定为每个音符子序列之间的重复度。需要说明的是,多媒体服务器也可以从多个编辑距离中选择最大编辑距离,将该最大编辑距离确定为每个音符子序列之间的重复度。或者,多媒体服务器对每个编辑距离进行加权运算,得到每个音符子序列之间的重复度。其中,对于一组音符子序列,多媒体服务器通过以下公式三计算该组音符子序列之间的编辑距离。公式三:其中,xm和xn分别为一组音符子序列中包括的两个音符子序列。cmn[i][j]为两个音符子序列xm和xn之间的编辑距离,i为音符子序列xm中的音符的编号,j为音符子序列xn中的音符的编号。a、b和c分别为加权系数。且a、b和c都可以根据需要进行设置并更改,在本发明实施例中,对a、b和c都不作具体限定。并且,a、b和c之间的大小关系也可以任意设置。为了提高准确性,一般取a>b,c>b,a和c之间的大小关系不作限定。同样,多媒体服务器在确定至少一组音符子序列时,多媒体服务器可以将相邻两个音符子序列确定为一组音符子序列,或者将任意两个音符子序列确定为一组音符子序列。对于第四种实现方式,本步骤可以为:多媒体服务器基于emd距离算法,确定每个音符子序列之间的至少一个emd距离,根据每个emd距离确定每个音符子序列之间的重复度。多媒体服务器确定至少一组音符子序列,每组音符子序列包括两个音符子序列,通过emd距离算法,计算每组音符子序列之间的emd距离,得到至少一个emd距离;从每个emd距离中选择最小emd距离,将该最小emd距离确定为每个音符子序列之间的重复度。需要说明的是,多媒体服务器也可以从多个emd距离中选择最大emd距离,将该最大emd距离确定为每个音符子序列之间的重复度。或者,多媒体服务器对每个emd距离进行加权运算,得到每个音符子序列之间的重复度。同样,多媒体服务器在确定至少一组音符子序列时,多媒体服务器可以将相邻两个音符子序列确定为一组音符子序列,或者将任意两个音符子序列确定为一组音符子序列。需要说明的是,预设重复度算法还可以为最长公共子序列或者dynamictimescaling、earthmover'sdistance等。并且,多媒体服务器确定每个音符子序列之间的重复度时,可以结合以上四种实现方式中的一种或者多种确定每个音符子序列之间的重复度。当结合以上四种实现方式中的多种确定每个音符子序列之间的重复度时,基于每种实现方式得出的重复度进行加权运算,得到每个音符子序列之间的重复度。例如,多媒体服务器结合第一种实现方式和第二种实现方式,确定每个音符子序列之间的重复度,则多媒体服务器基于相似矩阵算法,确定每个音符子序列之间的相似矩阵,根据该相似矩阵,确定该相似矩阵的特征值;多媒体服务器基于互相关算法,确定每个音符子序列之间的互相关度,对该该相似矩阵的特征值和每个音符子序列之间的互相关度进行加权运算,得到每个音符子序列之间的重复度。步骤303:多媒体服务器确定每个音符子序列之间的重复度是否大于预设重复度,如果该重复度大于预设重复度,确定该任一多媒体文件的音符序列具有重复结构。如果该重复度不大于预设重复度,确定该任一多媒体文件的音符序列不具有重复结构。其中,预设重复度可以根据需要进行设置并更改,在本发明实施例中,对预设重复度不作具体限定;例如,预设重复度可以为8或者5等。步骤304:多媒体服务器从该任一多媒体文件的多个音符子序列中选择一个音符子序列作为该任一多媒体文件的基准音符子序列。在本步骤中,多媒体服务器在确定该任一多媒体文件的基准音符子序列时,为了提高确定效率,可以从该任一多媒体文件的多个音符子序列中随机选择一个音符子序列作为该任一多媒体文件的基准音符子序列。为了提高后续获取多媒体文件的准确性,多媒体服务器可以从该多个音符子序列中选择一个包括音符数最多的音符子序列作为该任一多媒体文件的基准音符子序列。为了提高后续获取多媒体文件的效率,多媒体服务器可以从该多个音符子序列中选择一个包括音符数最少的音符子序列作为该任一多媒体文件的基准音符子序列。步骤305:多媒体服务器绑定该任一多媒体文件的标识和该任一多媒体文件的基准音符子序列之间的对应关系。多媒体服务器绑定该任一多媒体文件的标识和该任一多媒体文件的基准音符子序列之间的对应关系,以便于后续多媒体服务器搜索多媒体文件时,从多媒体文件的标识和基准音符子序列的对应关系中获取多媒体文件的基准音符子序列,基于基准音符子序列进行检索。需要说明的是,多媒体服务器将多媒体文件库中的每个多媒体文件都通过以上步骤301-304确定出每个多媒体文件的基准音符子序列。对于音符序列不具有重复结构的多媒体文件,多媒体服务器绑定该多媒体文件的标识和该多媒体文件的音符序列之间的对应关系。在本发明实施例中,获取多媒体文件之前,多媒体服务器确定多媒体文件的音符序列是否具有重复结构;如果具有重复结构,绑定该多媒体文件的标识和该多媒体文件的基准音符子序列之间的对应关系,以便于后续多媒体服务器搜索多媒体文件时,从多媒体文件的标识和基准音符子序列的对应关系中获取多媒体文件的基准音符子序列,基于基准音符子序列进行检索,从而提高后续获取多媒体文件的效率。本发明实施例提供了一种获取多媒体文件的方法,该方法应用在终端和多媒体服务器之间,参见图4,该方法包括:步骤401:终端获取采集的语音信号,向多媒体服务器发送获取请求,该获取请求携带该语音信号。终端的当前界面中包括听歌识曲的识别按钮,当用户搜索多媒体文件时,用户可以点击该识别按钮;当终端检测到该识别按钮被触发时,终端采集用户输入的或者其他设备播放的语音信号,向多媒体服务器发送获取请求,该获取请求携带该语音信号。步骤402:多媒体服务器接收终端发送的该获取请求,提取该语音信号的参考音符序列。其中,参考音符序列包括多个音符,该音符可以仅包括音高,也可以仅包括音长,也可以既包括音高,也包括音长。该音高可以为该音符的绝对音高,也可以为相邻两个音符的音高之间的相对音高。步骤403:对于多媒体文件库中具有重复结构的多媒体文件,多媒体服务器获取该多媒体文件的基准音符子序列。多媒体服务器中存储多媒体标识库,该多媒体标识库中包括音符序列具有重复结构的多媒体文件的标识。多媒体服务器从多媒体标识库中获取音符序列具有重复结构的多媒体文件的标识,根据音符序列具有重复结构的多媒体文件的标识,从多媒体文件的标识和基准音符子序列的对应关系中获取音符序列具有重复结构的多媒体文件的基准音符子序列。对于多媒体文件库中音符序列不具有重复结构的多媒体文件,多媒体服务器根据该多媒体文件的标识,从多媒体文件的标识和音符序列的对应关系中获取该多媒体文件的音符序列。需要说明的是,基准音符子序列包括至少一个音符,且某个多媒体文件的基准音符子序列包括的音符的数目小于该多媒体文件的音符序列包括的音符的数目。例如,某个多媒体文件的音符序列包括8个音符,则该多媒体文件的基准音符子序列可能仅包括4个或者5个音符。步骤404:多媒体服务器根据该参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度。多媒体服务器通过现有任一一种计算音符序列之间的匹配度的算法,计算该参考音符序列和该多媒体文件的基准音符子序列之间的匹配度。例如,两个音符序列之间包括相同音符的数目作为两个音符序列之间的匹配度。则本步骤可以为:多媒体服务器确定该参考音符序列和该多媒体文件的基准音符子序列包括相同音符的数目,将该数目确定为该参考音符序列和该多媒体文件之间的匹配度。对于多媒体文件库中音符序列不具有重复结构的多媒体文件,多媒体服务器根据该参考音符序列和该多媒体文件的音符序列,确定该语音信号与该多媒体文件之间的匹配度。步骤405:多媒体服务器根据该语音信号与多媒体文件库中的每个多媒体文件之间的匹配度,从多媒体文件库中选择匹配度满足预设条件的目标多媒体文件。预设条件可以为匹配度最大或者选择匹配度超过预设匹配度。其中,预设匹配度可以根据需要进行设置并更改,在本发明实施例中,对预设匹配度不作具体限定。例如,预设匹配度可以为10或者20等。例如,当预设条件为匹配度最大,则本步骤可以为:多媒体服务器根据该语音信号与多媒体文件库中的每个多媒体文件之间的匹配度,从多媒体文件库中选择匹配度最大的预设数目个目标多媒体文件。预设数目可以根据需要进行设置并更改,在本发明实施例中,对预设数目不作具体限定。例如,预设数目可以为3或者5等。再如,当预设条件为匹配度大于预设匹配度,则本步骤可以为:多媒体服务器根据该语音信号与多媒体文件库中的每个多媒体文件之间的匹配度,从多媒体文件库中选择匹配度超过预设匹配度的目标多媒体文件。步骤406:多媒体服务器向终端发送目标多媒体文件。终端向多媒体服务器发送的获取请求中携带终端的终端标识,多媒体服务器从该获取请求中获取该终端标识,根据该终端标识,向终端发送该目标多媒体文件。在一个可能的实现方式中,为了减少终端的网络资源消耗,多媒体服务器可以不向终端发送该目标多媒体文件,仅向终端发送该目标多媒体文件的标识,在接收到终端发送的下载请求或者播放请求时,才向终端发送该目标多媒体文件。其中,该终端标识和该目标多媒体文件的标识可以根据需要进行设置并更改,在本发明实施例中,对该终端标识和该目标多媒体文件的标识不作具体限定;例如,该终端标识可以为终端的手机号码或者登录该应用的用户标识。该目标多媒体文件的标识可以为该目标多媒体文件的名称或者编号等。需要说明的是,如果多媒体文件库中不存在与该语音信号匹配的目标多媒体文件,向终端发送失败指示,该失败指示用于指示识别失败。终端接收多媒体服务器发送的失败指示,显示该失败指示。其中,终端接收到该失败指示后,终端还可以重新采集语音信号,再次向多媒体服务器发送获取请求,该获取请求携带该重新采集的语音信号。多媒体服务器接收该获取请求,基于该重新采集的语音信号,通过以上步骤获取与该重新采集的语音信号匹配的目标多媒体文件。步骤407:终端接收多媒体服务器发送的目标多媒体文件。终端接收多媒体服务器发送的该目标多媒体文件,存储该目标多媒体文件,显示该目标多媒体文件的标识,用户可以点击该目标多媒体文件以触发终端播放该目标多媒体文件;终端检测到该目标多媒体文件被触发时,获取已存储的该目标多媒体文件,播放该目标多媒体文件。需要说明的是,如果在步骤406中多媒体服务器仅向终端发送该目标多媒体文件的标识,则本步骤可以为:终端接收多媒体服务器发送的该目标多媒体文件的标识,显示该目标多媒体文件的标识;用户可以点击该目标多媒体文件的标识以触发终端播放该目标多媒体文件;终端检测到该目标多媒体文件被触发时,向多媒体服务器发送播放请求,该播放请求携带该目标多媒体文件的标识。多媒体服务器接收终端发送的播放请求,根据该目标多媒体文件的标识,获取该目标多媒体文件,向终端发送该目标多媒体文件;终端接收多媒体服务器发送的该目标多媒体文件,播放该目标多媒体文件。在本发明实施例中,对于音符序列具有重复结构的多媒体文件,获取该多媒体文件的基准音符子序列,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,基于匹配度,从多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。由于该多媒体文件的基准音符子序列包括的音符的数目小于该多媒体文件包括的音符的数目,因此在本发明实施例中,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,降低了计算时间,提高了获取多媒体文件的效率。另外,本发明实施例提供的获取多媒体文件的方法也可以应用在终端中。如果该获取多媒体文件的方法应用在终端中,则多媒体文件库包括终端本地已下载的多个多媒体文件。并且,以上步骤301-305的执行主体均为终端;并且,终端采集到语音信号之后,不需要向多媒体服务器发送获取请求,直接提取该语音信号的参考音符序列;对于多媒体文件库中具有重复结构的多媒体文件,多媒体服务器获取该多媒体文件的基准音符子序列,根据该参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,根据该语音信号与多媒体文件库中的每个多媒体文件之间的匹配度,从多媒体文件库中选择匹配度满足预设条件的目标多媒体文件,显示获取的目标多媒体文件。本发明实施例提供了一种获取多媒体文件的装置,参见图5,该装置包括:提取模块501,用于提取采集的语音信号的参考音符序列,该参考音符序列包括多个音符;第一获取模块502,用于对于多媒体文件库中的任一多媒体文件,当该任一多媒体文件的音符序列具有重复结构时,获取该任一多媒体文件的基准音符子序列,该基准音符子序列包括至少一个音符,且该基准音符子序列包括的音符的数目小于该任一多媒体文件包括的音符的数目;确定模块503,用于根据该参考音符序列和该任一多媒体文件的基准音符子序列,确定该语音信号与该任一多媒体文件之间的匹配度;第二获取模块504,用于根据该语音信号与该任一多媒体文件之间的匹配度,从该多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。在一种可能实现方式中,该装置还包括:划分模块,用于将该任一多媒体文件的音符序列划分为多个音符子序列,每个音符子序列包括至少一个音符;该确定模块503,还用于基于预设重复度算法,确定该每个音符子序列之间的重复度;该确定模块503,还用于如果该每个音符子序列之间的重复度大于预设重复度,确定该任一多媒体文件的音符序列具有重复结构。在一种可能实现方式中,该确定模块503,还用于基于相似矩阵算法,确定该每个音符子序列之间的至少一个相似矩阵,根据每个相似矩阵,确定该每个相似矩阵的特征值,根据该每个相似矩阵的特征值,确定该每个音符子序列之间的重复度;或者,该确定模块503,还用于基于互相关算法,确定该每个音符子序列之间的至少一个互相关度,根据每个互相关度,确定该每个音符子序列之间的重复度;或者,该确定模块503,还用于基于编辑距离算法,确定该每个音符子序列之间的至少一个编辑距离,根每个编辑距离,确定该每个音符子序列之间的重复度;该确定模块503,还用于基于emd距离算法,确定该每个音符子序列之间的至少一个emd距离,根据每个emd距离,确定该每个音符子序列之间的重复度。在一种可能实现方式中,该第一获取模块502,还用于从该多个音符子序列中随机选择一个音符子序列作为该任一多媒体文件的基准音符子序列;或者,该第一获取模块502,还用于从该多个音符子序列中选择一个包括音符数最多的音符子序列作为该任一多媒体文件的基准音符子序列;或者,该第一获取模块502,还用于从该多个音符子序列中选择一个包括音符数最少的音符子序列作为该任一多媒体文件的基准音符子序列。在一种可能实现方式中,相邻两个音符子序列之间的交集包括预设数目个音符,该预设数目为大于或者等于0,且小于指定数值的整数,该指定数值为该任一多媒体文件包括音符的数目与划分的音符子序列的数目之商。在一种可能实现方式中,该音符包括音高和/或音长,该音高为该音符的绝对音高或者相邻两个音符之间的相对音高。在本发明实施例中,对于音符序列具有重复结构的多媒体文件,获取该多媒体文件的基准音符子序列,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,基于匹配度,从多媒体文件库中获取匹配度满足预设条件的目标多媒体文件。由于该多媒体文件的基准音符子序列包括的音符的数目小于该多媒体文件包括的音符的数目,因此在本发明实施例中,根据语音信号的参考音符序列和该多媒体文件的基准音符子序列,确定该语音信号与该多媒体文件之间的匹配度,降低了计算时间,提高了获取多媒体文件的效率。需要说明的是:上述实施例提供的获取多媒体文件的装置在获取多媒体文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的获取多媒体文件的装置与获取多媒体文件的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图6是本发明实施例提供的一种多媒体服务器的框图。参见图6,多媒体服务器600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理部件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述获取多媒体文件的方法。多媒体服务器600还可以包括一个电源组件626被配置为执行多媒体服务器600的电源管理,一个有线或无线网络接口650被配置为将多媒体服务器600连接到网络,和一个输入输出(i/o)接口658。多媒体服务器600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的获取多媒体文件的方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1