一种移动终端及其识别歌曲高潮部分的方法和装置
技术领域
本发明涉及移动终端技术领域,具体涉及一种移动终端及其识别歌曲高潮部分的方法和装置。
背景技术
许多音乐播放器提供浏览试听歌曲的功能,以方便用户在记不清楚歌名的情况下找到自己喜欢的歌曲。另外有些公司提供高音质歌曲的付费下载功能,用户下载之前希望能够试听一下歌曲的某个片段,防止因为歌曲同名而下载了错误的歌曲。
但是一般歌曲的开始部分都比较平淡,或者只有背景音,用户无法试听到歌曲的精华部分,使得用户无法快速找到自己要听的歌曲,或者是试听了很长时间才能听到歌手的声音,用户的体验比较糟糕。
现有技术中识别歌曲的高潮部分所用的方法大多是根据歌词进行查找,由于歌曲的高潮部分普遍存在重唱的情况,通过这种方法也能够定位到某些歌曲的高潮部分,但是这种方法的查找范围很有限,首先是得针对有歌词的音乐才行,其次还要求高潮部分的歌词得相同而不仅仅是曲调相同,类似轻音乐、乐器演奏等无歌词的乐曲则无法定位到高潮部分,适用范围小。
发明内容
本发明提供一种移动终端及其识别歌曲高潮部分的方法和装置,以达到使所有歌曲、乐曲的高潮部分都能被定位到的目的,克服上述现有的歌曲高潮部分的定位方法适用范围小的缺陷。
本发明解决上述技术问题的技术方案如下。
根据本发明的一个方面,提供的,一种识别歌曲高潮部分的方法,该方法包括:
提取用户选择的歌曲的音强数据;
获取音强数据中的最大值;
计算最大值与最大值左端的时间点的音强值的差值;
根据差值确定对应歌曲的高潮部分所在的起始时间。
优选地,所述至少一个音强峰值左端的时间点由所述至少一个音强峰值所在的时间点以及预设的时间步长来确定。。
优选地,根据所述音强数据获取至少一个音强峰值的步骤还包括:
获取所述音强数据中的所有峰值,并确定所有峰值中的最大峰值;
计算所述最大峰值与所有峰值中的其它峰值之间的差值;
判断所述峰值之间的差值是否小于预设的时间阈值,若是,则选取所述音强峰值。
优选地,该方法具体还包括:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值左端的时间点t1-s、t2-s、t3-s、…、tn-s;
计算所述每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11、d21、d31、…、dn1;
判断d11~dn1中的最大值是否超过预设的第一阈值,若否,则将当前的左端的时间点定位到t1-2s、t2-2s、t3-2s、…、tn-2s;
计算新定位的每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11’、d21’、d31’、…、dn1’;
判断d11’~dn1’中的最大值是否超过预设的第一阈值,若否,则继续重复将所有当前的左端的时间点向左延伸一个时间步长s,并将每个当前的左端的时间点的值与所述最大值求差,直到计算出当前左端的时间点的最大差值的绝对值超过预设的第一阈值时,选取当前左端的时间点作为高潮部分的起始时间;
其中,n为自然数。
优选地,该方法还包括:
计算所述至少一个音强峰值与所述至少一个音强峰值右端的时间点的音强值的差值,所述至少一个音强峰值右端的时间点由所述至少一个音强峰值所在的时间点以及预设的时间步长来确定;
根据在右端的时间点的值与至少一个音强峰值的差值计算高潮部分的结束时间。
优选地,该方法还包括:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值右端的时间点t1+s、t2+s、t3+s、…、tn+s;
计算所述每个右端的时间点的音强数据值与对应音强峰值的差值的绝对值d12、d22、d32、…、dn2;
判断d12~dn2中的最大值是否超过预设的第二阈值,若否,则将当前的右端的时间点定位到t1+2s、t2+2s、t3+2s、…、tn+2s;
计算新定位的每个右端的时间点的音强数值与对应音强峰值的差值的绝对值d12’、d22’、d32’、…、dn2’;
判断d12’~dn2’中的最大值是否超过预设的第二阈值,若否,则继续重复将所有当前的右端的时间点向右延伸一个时间步长s,并将每个当前的右端的时间点的值与所述最大值求差,直到计算出当前右端的时间点的最大差值的绝对值超过预设的第二阈值时,选取当前右端的时间点作为高潮部分的结束时间;
其中,n为自然数。
根据本发明的另一个方面,提供的一种识别歌曲高潮部分的装置,该装置包括:
数据提取模块,用于提取用户选择的歌曲的音强数据;
最大值获取模块,用于根据音强数据选取至少一个音强峰值;
差值计算模块,用于计算至少一个音强峰值与至少一个音强峰值左端的时间点的音强值的差值;
起始时间确定模块,用于根据差值确定对应歌曲的高潮部分所在的起始时间。
优选地,上述差值计算模块包括:
最大峰值获取单元,用于获取音强数据中的所有峰值,并确定所有峰值中的最大峰值;
差值计算单元,用于计算最大峰值与所有峰值中的其它峰值之间的差值;
音强峰值选取单元,用于判断峰值之间的差值是否小于预设的时间阈值,若是,则选取音强峰值。
优选地,该装置还包括:
右端时间点选定单元,用于计算至少一个音强峰值与至少一个音强峰值右端的时间点的音强值的差值,至少一个音强峰值右端的时间点由至少一个音强峰值所在的时间点以及预设的时间步长来确定;
结束时间计算单元,用于根据在右端的时间点的值与至少一个音强峰值的差值计算高潮部分的结束时间。
根据本发明的又一个方面,提供的一种移动终端,该移动终端包括上述的识别歌曲高潮部分的装置。
本发明提供了一种移动终端及其识别歌曲高潮部分的方法和装置,使得在识别歌曲的高潮部分时,是根据歌曲的音强数据进行识别的,适用范围广,该方法使用在歌曲、乐曲的试听功能中时,能帮用户快速定位到歌曲的高潮部分而不用从歌曲的前凑开始听起,该方法使用在音乐铃声的制作中时,能帮助用户快速的找到适合作为铃声的歌曲片段,为用户节约时间。
附图说明
图1为根据本发明的一个实施例的识别歌曲高潮部分的方法的流程图;
图2为根据本发明的一个实施例的包括识别歌曲高潮部分的结束时间的方法的流程图;
图3为根据本发明的一个实施例的识别歌曲高潮部分的装置的示范性结构框图;
图4为根据本发明的一个实施例的移动终端的示范性结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一
图1为根据本发明的一个实施例的识别歌曲高潮部分的方法的流程图,下面结合图1来描述根据本发明的一个实施例的识别歌曲高潮部分的方法,该方法可以应用于例如手机、平板电脑等便携式移动终端,也可以应用在电脑上,如图1所示,该方法包括以下步骤:
S10、提取用户选择的歌曲的音强数据;
S20、根据音强数据选取至少一个音强峰值;
S30、计算至少一个音强峰值与至少一个音强峰值左端的时间点的音强值的差值;
S40、根据差值确定对应歌曲的高潮部分所在的起始时间。
其中,上述提取用户选择的歌曲的音强数据的具体实现方法是根据音频文件的每个数据帧的内容将所有的数据帧整合成一个包括所有音强数据的完整的音频文件,再从该音频文件中获取音强数据的最大值。
其中,由于歌曲的音强、音频等音强数据与时间的关系一般呈波浪形分布,上述获取音强数据中的最大值即获取所述波形数据中的峰值。
为了使得高潮部分的起始时间计算的更加准确,可以获取音强数据中的多个较大的值作为“音强峰值”投入计算,根据本发明的一个示例的具体的选定哪些较大的值作为“音强峰值”的方法为:
获取音强数据中的所有峰值,并确定所有峰值中的最大峰值;
计算最大峰值与所有峰值中的其它峰值之间的差值;
判断峰值之间的差值是否小于预设的时间阈值,若是,则选取音强峰值。
实施例二
为了更为简洁的说明,本实施例在包括上述实施例一的基础上只阐述与本实施例的相关部分。
上述至少一个音强峰值左端的时间点由至少一个音强峰值所在的时间点以及预设的时间步长来确定。
根据该实施例的一个示例,具体的计算高潮部分起始时间的方法包括:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值左端的时间点t1-s、t2-s、t3-s、…、tn-s;
计算所述每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11、d21、d31、…、dn1;
判断d11~dn1中的最大值是否超过预设的第一阈值,若否,则将当前的左端的时间点定位到t1-2s、t2-2s、t3-2s、…、tn-2s;
计算新定位的每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11’、d21’、d31’、…、dn1’;
判断d11’~dn1’中的最大值是否超过预设的第一阈值,若否,则继续重复将所有当前的左端的时间点向左延伸一个时间步长s,并将每个当前的左端的时间点的值与所述最大值求差,直到计算出当前左端的时间点的最大差值的绝对值超过预设的第一阈值时,选取当前左端的时间点作为高潮部分的起始时间;
其中,n为自然数,s为预设的时间步长。
该实施例的一个应用场景例如在线歌曲的试听,当用户需要试听某个歌曲或乐曲时,直接从识别到的歌曲、乐曲的高潮部分开始播放起,以提高用户的试听体验,并促成用户进行下载。
实施例三
图2为根据本发明的一个实施例的包括识别歌曲高潮部分的结束时间的方法的流程图,如图2所示,该方法在包括上述步骤S10、S20、S30、S40的基础上,还包括:
S50、计算至少一个音强峰值与至少一个音强峰值右端的时间点的音强值的差值,至少一个音强峰值右端的时间点由至少一个音强峰值所在的时间点以及预设的时间步长来确定;
S60、根据在右端的时间点的值与至少一个音强峰值最大值的差值计算高潮部分的结束时间。
根据该实施例的一个示例,具体的计算高潮部分结束时间的方法包括:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值右端的时间点t1+s、t2+s、t3+s、…、tn+s;
计算所述每个右端的时间点的音强数据值与对应音强峰值的差值的绝对值d12、d22、d32、…、dn2;
判断d12~dn2中的最大值是否超过预设的第二阈值,若否,则将当前的右端的时间点定位到t1+2s、t2+2s、t3+2s、…、tn+2s;
计算新定位的每个右端的时间点的音强数值与对应音强峰值的差值的绝对值d12’、d22’、d32’、…、dn2’;
判断d12’~dn2’中的最大值是否超过预设的第二阈值,若否,则继续重复将所有当前的右端的时间点向右延伸一个时间步长s,并将每个当前的右端的时间点的值与所述最大值求差,直到计算出当前右端的时间点的最大差值的绝对值超过预设的第二阈值时,选取当前右端的时间点作为高潮部分的结束时间;
其中,n为自然数,s为预设的时间步长。
该实施例的一个使用场景例如铃声片段的推荐截取,当用户需要将某个歌曲或者乐曲制作为铃声时,将识别的高潮部分的开始部分和结束部分推荐给用户,为用户节约制作时间。
实施例四
图3为根据本发明的一个实施例的识别歌曲高潮部分的装置的示范性结构框图,下面根据图3来描述根据本发明的一个实施例的识别歌曲高潮部分的装置100,如图4所示,该装置包括:
数据提取模块10,用于提取用户选择的歌曲的音强数据;
最大值获取模块20,用于根据音强数据选取至少一个音强峰值;
差值计算模块30,用于计算至少一个音强峰值与至少一个音强峰值左端的时间点的音强值的差值;
起始时间确定模块40,用于根据差值确定对应歌曲的高潮部分所在的起始时间。
其中该最大值获取模块20具体用于:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值左端的时间点t1-s、t2-s、t3-s、…、tn-s。
差值计算模块30具体用于:
计算所述每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11、d21、d31、…、dn1;
判断d11~dn1中的最大值是否超过预设的第一阈值,若否,则将当前的左端的时间点定位到t1-2s、t2-2s、t3-2s、…、tn-2s;
计算新定位的每个左端的时间点的音强数据值与对应音强峰值的差值的绝对值d11’、d21’、d31’、…、dn1’;
判断d11’~dn1’中的最大值是否超过预设的第一阈值,若否,则继续重复将所有当前的左端的时间点向左延伸一个时间步长s,并将每个当前的左端的时间点的值与所述最大值求差,直到计算出当前左端的时间点的最大差值的绝对值超过预设的第一阈值时,起始时间确定模块40选取当前左端的时间点作为高潮部分的起始时间;
其中,n为自然数,s为预设的时间步长。
作为可选地,该识别歌曲高潮部分的装置100还包括:
右端时间点选定单元,用于计算至少一个音强峰值与至少一个音强峰值右端的时间点的音强值的差值,至少一个音强峰值右端的时间点由至少一个音强峰值所在的时间点以及预设的时间步长来确定;
结束时间计算单元,用于根据在右端的时间点的值与至少一个音强峰值最大值的差值计算高潮部分的结束时间。
其中,该右端时间点选定单元具体用于:
获取所述至少一个音强峰值所在的时间点t1、t2、t3、...、tn;
选取所述至少一个音强峰值右端的时间点t1+s、t2+s、t3+s、…、tn+s。
结束时间计算单元具体用于:
计算所述每个右端的时间点的音强数据值与对应音强峰值的差值的绝对值d12、d22、d32、…、dn2;
判断d12~dn2中的最大值是否超过预设的第二阈值,若否,则将当前的右端的时间点定位到t1+2s、t2+2s、t3+2s、…、tn+2s;
计算新定位的每个右端的时间点的音强数值与对应音强峰值的差值的绝对值d12’、d22’、d32’、…、dn2’;
判断d12’~dn2’中的最大值是否超过预设的第二阈值,若否,则继续重复将所有当前的右端的时间点向右延伸一个时间步长s,并将每个当前的右端的时间点的值与所述最大值求差,直到计算出当前右端的时间点的最大差值的绝对值超过预设的第二阈值时,选取当前右端的时间点作为高潮部分的结束时间;
其中,n为自然数,s为预设的时间步长。
实施例五
图4为根据本发明的一个实施例的移动终端的示范性结构框图,如图4所示的移动终端11,该移动终端包括上述的识别歌曲高潮部分的装置100。
通过本发明,使得在识别歌曲的高潮部分时,是根据歌曲的音强数据进行识别的,适用范围广,该方法使用在歌曲、乐曲的试听功能中时,能帮用户快速定位到歌曲的高潮部分而不用从歌曲的前凑开始听起,该方法使用在音乐铃声的制作中时,能帮助用户快速的找到适合作为铃声的歌曲片段,为用户节约时间。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。