音频推荐方法及装置与流程

文档序号:11155307阅读:370来源:国知局
音频推荐方法及装置与制造工艺

本发明涉及多媒体处理技术领域,特别涉及一种音频推荐方法及装置。



背景技术:

随着科技技术的快速发展,移动终端具备的功能越来越多,这为人们的日常休闲娱乐提供了极大的便利。比如,时下智能移动终端上均可安装K歌应用,通过K歌应用用户无需走进KTV,便可随时随地实现K歌。在歌唱过程中,为了避免用户反复执行搜索操作以确定演绎音频,大部分K歌应用均提供了音频推荐功能,即基于用户的当前演绎音频进行音频推荐。

目前在进行音频推荐时,主要采取多种维度结合的手段,比如通过协同过滤算法和音频相似算法等算法相结合,计算各个音频的声音特征,基于声音特征的相似性进行音频推荐。

基于声音特征的音频推荐方式计算量较大,算法复杂度过高,特别是对于刚上线的新歌来说,很难及时计算出与海量老歌的相似度,因此推荐耗时较长,不能及时进行音频推荐。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种音频推荐方法及装置。所述技术方案如下:

一方面,提供了一种音频推荐方法,所述方法包括:

获取当前演绎音频的第一乐曲信息和至少一项候选音频的第二乐曲信息;

对于所述至少一项候选音频中的每一项候选音频,计算所述第一乐曲信息与所述候选音频的第二乐曲信息之间的距离信息;

根据所述距离信息,计算所述候选音频与所述当前演绎音频之间的主旋律相似度;

根据所述至少一项候选音频中每一项候选音频与所述当前演绎音频之间的主旋律相似度,在所述至少一项候选音频中确定待推荐音频;

将所述待推荐音频的标识信息发送给移动终端,由所述移动终端对所述标识信息进行显示。

另一方面,提供了一种音频推荐装置,所述装置包括:

获取模块,用于获取当前演绎音频的第一乐曲信息和至少一项候选音频的第二乐曲信息;

第一计算模块,用于对于所述至少一项候选音频中的每一项候选音频,计算所述第一乐曲信息与所述候选音频的第二乐曲信息之间的距离信息;

第二计算模块,用于根据所述距离信息,计算所述候选音频与所述当前演绎音频之间的主旋律相似度;

确定模块,用于根据所述至少一项候选音频中每一项候选音频与所述当前演绎音频之间的主旋律相似度,在所述至少一项候选音频中确定待推荐音频;

发送模块,用于将所述待推荐音频的标识信息发送给移动终端,由所述移动终端对所述标识信息进行显示。

本发明实施例提供的技术方案带来的有益效果是:

在进行音频推荐时,会分别获取用户当前演绎音频和至少一个候选音频的第一乐曲信息和第二乐曲信息,并基于第一乐曲信息和第二乐曲信息之间的量化距离来计算二者的主旋律相似度,进而实现基于主旋律相似度的音频推荐,由于该种推荐方式的计算量小,算法复杂度低,因此即便是对于刚上线的新歌来说,也可及时基于主旋律计算出与海量老歌的相似度,所以推荐耗时短,可及时进行音频推荐。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A是本发明实施例提供的一种音频推荐方法的流程图;

图1B是本发明实施例提供的一种音频推荐方法的流程图;

图2A是本发明实施例提供的一种MIDI文件的示意图;

图2B是本发明实施例提供的一种音频推荐原理的示意图;

图2C是本发明实施例提供的一种播放显示页面的示意图;

图3是本发明实施例提供的一种音频推荐装置的结构示意图;

图4是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细地解释说明之前,先对本发明涉及到的一些专有名词进行解释说明。

主旋律:指代一项音频(即一首歌曲)中歌手演唱部分的音高走势,也即旋律主题。

音高:指代各种不同高低的声音,即音的高度,音的基本特征的一种。音的高低是由振动频率决定的,两者成正比关系:频率(即单位时间内振动次数多)高则音“高”,反之则“低”。其中,音高的规则化计算公式为12*log2f/440+69.5。

音符:指代用来记录不同长短的音的符号,一个音符包含两个信息,一个是该音符的音高,另一个是该音符演绎的时长。

乐曲信息通常情况下指代MIDI(Musical Instrument Digital Interface,乐器数字接口)信息。其中,MIDI信息是编曲界最广泛的音乐标准格式,可称为“计算机能理解的乐谱”。它用音符的数字控制信号来记录音乐。一首完整的MIDI音乐通常仅有几十KB大,但是却能包含数十条音乐轨道。

在本发明实施例中,由于K歌过程与听歌过程的本质不同,即K歌的主要目的在于用户需要进行演唱,而听歌用户则无需进行演唱,在演绎音频时,音频本身主旋律相关的音域、节奏等维度的信息对音频推荐是有重大影响的,且基于主旋律进行相似音频计算的计算量要远远小于基于声音特征等协同过滤算法,因此本发明实施例为了提升音频推荐的准确度以及推荐速度,基于不同歌曲的主旋律相似性进行推荐。特别是对于刚上线的新歌来说,由于新歌的用户量小、所以类似于协同过滤这样基于用户数据进行挖掘等传统手段无法使用,而本发明实施例提出的基于主旋律相似性的音频推荐方法可以有效地弥补这一空白。

图1A是本发明实施例所涉及的实施环境的架构示意图。参见图1A,该架构中包括移动终端和服务器。其中,移动终端上安装有K歌应用。用户通过K歌应用可以演绎音频。需要说明的是,在本发明实施例中,演绎音频还可称之为演唱歌曲或演唱曲目等,本发明实施例对此不进行具体限定。在本发明实施例中,移动终端上安装的K歌应用在获知用户当前正在进行音频演绎时,会向服务器进行上报,而服务器在获取到当前演绎音频的第一乐曲信息后,还会统计至少一项候选音频的第二乐曲信息,之后根据第一乐曲信息与该候选音频的第二乐曲信息之间的距离信息,来计算当前演绎音频与候选音频的主旋律相似度,进而实现基于主旋律相似度进行音频推荐。详细地音频推荐过程请参见下述实施例。

图1B是本发明实施例提供的一种音频推荐方法的流程图,执行主体为服务器。参见图1B,本发明实施例提供的方法流程包括:

101、获取当前演绎音频的第一乐曲信息和至少一项候选音频的第二乐曲信息。

首先需要说明的是,在本发明实施例中一项音频即指代一首歌曲。以第一乐曲信息指代用户当前演绎音频的乐曲信息,以第二乐曲信息对每一个候选歌曲的乐曲信息进行统称。其中,服务器可预先设置一个候选曲库,该候选曲库中包括了海量的候选音频。候选曲库中的曲目可来自于各个音乐公司的授权和网络,本发明实施例对此不进行具体限定。候选曲库中记录的全部音频均可作为用户当前演绎音频的至少一项候选音频。在另一个实施例中,为了加快音频推荐速度,还可将候选曲库中记录的全部音频初步按照音乐风格等进行分类。以便在获取到第一乐曲信息后,可以重点将第一乐曲信息与某一些分类进行比对,本发明实施例对此同样不进行具体限定。

其中,无论针对第一乐曲信息还是第二乐曲信息来说,其可视化格式均可如图2A所示。在图2A中每一行代表一个音符,第一列为音符的起始时间(单位为ms),第二列为音符的持续时间(单位为ms),第三列为音符的音高值。一项音频中有多少个音符,其对应的乐曲信息中便有多少列由起始时间、持续时间和音高值组成的序列。对于第一乐曲信息,既可以由服务器统计也可由移动终端自行统计,本发明实施例对此不进行具体限定。比如,移动终端在统计完用户当前演绎音频的第一乐曲信息后,将其直接上传至服务器。也即,统计第一乐曲信息的步骤由移动终端完成。或者,移动终端直接将用户当前演绎音频的标识信息上传至服务器,这样服务器在接收到该标识信息后,服务器可在获取到当前演绎音频后,自行统计当前演绎音频的第一乐曲信息。也即,统计第一乐曲信息的步骤由服务器完成。对于至少一项候选音频的第二乐曲信息,服务器可预先进行统计并存储起来,这样在获取到第一乐曲信息后,可直接从存储介质中获取每一项候选音频的乐曲信息进行主旋律相似性的判定。

102、对于至少一项候选音频中的每一项候选音频,计算第一乐曲信息与该候选音频的第二乐曲信息之间的距离信息。

在本发明实施例中,在计算第一乐曲信息与候选音频的第二乐曲信息之间的距离信息时,可采取下述方式实现:

第一步、将第一乐曲信息转化为第一三元组序列。

其中,第一三元组序列中包括当前演绎音频中每一个音符的起始时间、持续时间和音高值;其中,一个音符的起始时间、持续时间和音高值构成一个三元组。需要说明的是,在本发明实施例中第一三元组序列指代用户当前演绎音频的乐曲信息,以第二三元组序列对每一个候选歌曲的乐曲信息进行统称。

以一个三元组序列W=Oii∈[1,n]为例,其中O为三元组(t,p,d),t为该三元组对应音符的起始时间、p为该三元组对应音符的音高值、d为该三元组对应音符的持续时间,n为这个三元组序列中的三元组总个数,即该三元组序列表征的音频包含的音符总个数。

第二步、将该候选音频的第二乐曲信息转化为第二三元组序列,第二三元组序列中包括候选音频中每一个音符的起始时间、持续时间和音高值;

需要说明的是,上述第一步和第二步的执行先后顺序可互换,也即还可先转化第二三元组序列,后转化第一三元组序列,本发明实施例对此不进行具体限定。

第三步、计算第一三元组序列和第二三元组序列之间的量化距离,得到距离信息。

在对基于第一三元组序列和第二三元组序列计算两项音频之间的距离信息之前,先对两个三元组之间的距离信息进行定义。

以两个三元组Oi与Oj为例,Oi与Oj之间的距离定义如下:

其中,Δpij=min(|pi-pj|,|pi-pj-12|+k2,|pi-pj+12|+k2),Δpij为三元组Oi对应音符和三元组Oj对应音符的音高值之差,pi为三元组Oi对应音符的音高值,pj为三元组Oj对应音符的的音高值,Δdij为三元组Oi对应音符和三元组Oj对应音符的时间差,di为三元组Oi对应音符的持续时间,dj为三元组Oj对应音符的持续时间;k1为常数,指代该时间差的权重,k2为常数,指代半倍频惩罚值。

其中,在计算第一三元组序列和第二三元组序列之间的量化距离时,可采取下述方式实现:

第一步、设定第一三元组第二三元组

其中,nx指代Wx中的三元组个数,ny指代Wy中的三元组个数,nx、ny均为常数。

第二步、定义第一三元组和第二三元组之间的量化距离为s(Wx,Wy)=s(nx,Ox,ny,Oy)。

其中,s(nx,Ox,ny,Oy)表示nx个Ox与ny个Oy对比后的量化距离。

s(0,Ox,0,Oy)=0、s(1,Ox,0,Oy)=k3、s(0,Ox,1,Oy)=k3,k3指代未匹配惩罚值,且为常数。

第三步、当n∈[1,nx],m∈[1,ny]时,重复进行迭代运算,计算第一三元组序列中n个三元组与第二三元组序列中m个三元组之间的量化距离;当n取值为第一三元组序列中的三元组个数nx,且m取值为第二三元组序列中的三元组个数ny时,终止迭代运算过程,得到第一三元组序列和第二三元组序列之间的量化距离。

在本发明实施例中,i、n、m均为正整数,应用下述公式,计算第一三元组序列中n个三元组与第二三元组序列中m个三元组之间的量化距离s(n,Ox,m,Oy,):

s(n,Ox,m,Oy,)=min[s(n-1,Ox,m-1,Oy)+s(Onx,Omy),s(n,Ox,m-1,Oy)+k3,s(n-1,Ox,m,Oy)+k3]

其中,s(n,Ox,m,Oy,)指代Wx中n个三元组与Wy中m个三元组之间的量化距离,s(n-1,Ox,m-1,Oy)指代Wx中n-1个三元组与Wy中m-1个三元组之间的量化距离,s(n,Ox,m-1,Oy)指代Wx中n个三元组与Wy中m-1个三元组之间的量化距离;s(n-1,Ox,m,Oy)指代Wx中n-1个三元组与Wy中m个三元组之间的量化距离。

其中,s(Onx,Omy)指代Wx中第n个三元组与Wy中第m个三元组之间的量化距离;Ox、Oy分别指代Wx和Wy中的任一个三元组。

比如,当n=1,且m=1时,

s(1,Ox,1,Oy,)=min[s(0,Ox,0,Oy)+s(O1x,O1y),s(1,Ox,0,Oy)+k3,s(0,Ox,1,Oy)+k3]=

=min[s(O1x,O1y),2k3,2k3]

比如,当n=2,且m=1时,

s(2,Ox,1,Oy,)=min[s(1,Ox,0,Oy)+s(O2x,O1y),s(2,Ox,0,Oy)+k3,s(1,Ox,1,Oy)+k3]

其中,s(1,Ox,0,Oy)=k3、s(1,Ox,1,Oy)=min[s(O1x,O1y),2k3,2k3],s(O2x,O1y)可参考下述计算两个三元组之间的量化距离公式得到。

以此类推,层层不断进行迭代运算,利用之前得到的迭代结果计算之后的量化距离。其中,在计算Wx中第n个三元组与Wy中第m个三元组之间的量化距离s(Onx,Omy)时,采取下述公式实现:

其中,Δpnm=min(|pn-pm|,|pn-pm-12|+k2,|pn-pm+12|+k2),Δpnm为三元组对应音符和三元组对应音符的音高值之差,pn为三元组对应音符的音高值,pm为三元组对应音符的的音高值,Δdnm为三元组对应音符和三元组对应音符的时间差,dn为三元组对应音符的持续时间,dm为三元组对应音符的持续时间。

103、根据该距离信息,计算该候选音频与当前演绎音频之间的主旋律相似度。

以s(Wx,Wy)指代当前演绎音频的第一三元组序列与任一候选音频的第二三元组序列之间的距离信息为例,则将该距离信息取倒数即可得到该候选音频与当前演绎音频之间的主旋律相似度。也即,主旋律相似度为1/s(Wx,Wy)。

104、根据至少一项候选音频中每一项候选音频与当前演绎音频之间的主旋律相似度,在至少一项候选音频中确定待推荐音频。

在得到至少一项候选音频中每一项音频与当前演绎音频之间的主旋律相似度后,服务器会在得到的至少一个主旋律相似度中,选取主旋律相似度最大的指定主旋律相似度,并将该指定主旋律相似度指示的候选音频确定为待推荐音频。此外,服务器还对至少一个主旋律相似度进行排序,将排在前几位的主旋律相似度对应的候选音频确定为待推荐音频,也即待推荐音频可为一项音频或多项音频,本发明实施例对此不进行具体限定。

其中,上述步骤101至步骤104所述的音频推荐过程可参见图2B所示的原理示意图。在图2B中,候选音频1至候选音频n指代上述提及的至少一项候选音频。

105、将待推荐音频的标识信息发送给移动终端,由移动终端对标识信息进行显示。

其中,标识信息可为待推荐音频的音频名称或服务器为该音频设置的序列号信息等,本发明实施例对此不进行具体限定。移动终端在通过K歌应用接收到待推荐音频的标识信息后,可在用户当前演绎歌曲的播放显示页面的指定区域上显示该标识信息。其中,播放显示页面上可显示有当前演绎歌曲的名称、歌词、歌唱进度等。指定区域可为播放显示页面的上半部分区域或下半部分区域等。比如,在播放显示页面的上半部分区域以渐入渐出、滚动、或者气泡等方式对该标识信息进行显示,本发明实施例对此不进行具体限定。其中,图2C给出了播放显示页面的一种可能显示方式,其中指定区域以上半部分区域为例。

本发明实施例提供的方法,在进行音频推荐时,会分别获取用户当前演绎音频和至少一个候选音频的第一乐曲信息和第二乐曲信息,并基于第一乐曲信息和第二乐曲信息之间的量化距离来计算二者的主旋律相似度,进而实现基于主旋律相似度的音频推荐,由于该种推荐方式的计算量小,算法复杂度低,因此即便是对于刚上线的新歌来说,也可及时基于主旋律计算出与海量老歌的相似度,所以推荐耗时短,可及时进行音频推荐。此外,针对歌唱过程来说,主旋律相关的音域或节奏等维度的信息更能体现出不同音频之间的相似性,因此该种推荐方式精准度更高。

图3是本发明实施例提供的一种音频推荐方法的流程图。参见图3,该装置包括:获取模块301、第一计算模块302、第二计算模块303、确定模块304以及发送模块305

获取模块301,用于获取当前演绎音频的第一乐曲信息和至少一项候选音频的第二乐曲信息;

第一计算模块302,用于对于所述至少一项候选音频中的每一项候选音频,计算所述第一乐曲信息与所述候选音频的第二乐曲信息之间的距离信息;

第二计算模块303,用于根据所述距离信息,计算所述候选音频与所述当前演绎音频之间的主旋律相似度;

确定模块304,用于根据所述至少一项候选音频中每一项候选音频与所述当前演绎音频之间的主旋律相似度,在所述至少一项候选音频中确定待推荐音频;

发送模块305,用于将所述待推荐音频的标识信息发送给移动终端,由所述移动终端对所述标识信息进行显示。

在另一个实施例中,所述第一计算模块302,具体如何计算当前演绎音频的乐曲信息与至少一项候选音频的乐曲信息之间的量化距离,可参考上述方法实施例中步骤102。

在另一个实施例中,所述第二计算模块303,具体如何根据所述距离信息计算所述候选音频与所述当前演绎音频之间的主旋律相似度,可参考上述方法实施例中步骤103;

相应地,所述确定模块304,用于在得到的至少一个主旋律相似度中,选取主旋律相似度最大的指定主旋律相似度;将所述指定主旋律相似度指示的候选音频确定为所述待推荐音频。

本发明实施例提供的装置,在进行音频推荐时,会分别获取用户当前演绎音频和至少一个候选音频的第一乐曲信息和第二乐曲信息,并基于第一乐曲信息和第二乐曲信息之间的量化距离来计算二者的主旋律相似度,进而实现基于主旋律相似度的音频推荐,由于该种推荐方式的计算量小,算法复杂度低,因此即便是对于刚上线的新歌来说,也可及时基于主旋律计算出与海量老歌的相似度,所以推荐耗时短,可及时进行音频推荐。此外,针对歌唱过程来说,主旋律相关的音域或节奏等维度的信息更能体现出不同音频之间的相似性,因此该种推荐方式精准度更高。

需要说明的是:上述实施例提供的音频推荐装置在进行音频推荐时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音频推荐装置与音频推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4是根据一示例性实施例示出的一种服务器,该服务器可以用于实施上述任一示例性实施例示出的音频推荐方法。具体来讲:参见图4,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Unit,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出)。

服务器400还可以包括一个或一个以上电源428,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于执行音频推荐的指令。

本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入服务器中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行上述音频推荐方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1