会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

歌曲高潮片段识别方法及装置

申请号 CN201911295062.9 申请日 2019-12-16 公开(公告)号 CN111081272B 公开(公告)日 2024-04-05
申请人 腾讯科技(深圳)有限公司; 发明人 缪畅宇;
摘要 本 申请 实施例 公开了一种歌曲高潮 片段 识别方法及装置,该方法首先对歌曲的音频文件进行 采样 ,然后根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据,之后根据音频段落的采样数据,获取音频段落对应的和旋,根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期,并根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期,最后将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段;即本申请是基于歌曲的本质因素,例如音符时值、节奏型以及和旋走向等因素对歌曲进行高潮片段的识别,提高了歌曲高潮片段的识别准确率。
权利要求

1.一种歌曲高潮片段识别方法,其特征在于,包括:
对歌曲的音频文件进行采样,得到所述歌曲的采样数据,所述采样数据包括采样时间和信号强度;
根据所述歌曲的音符时值和节奏型,将所述歌曲的采样数据划分为多个音频段落的采样数据;
根据音频段落的采样数据,获取音频段落对应的和旋;
根据所述歌曲的和旋走向以及所述音频段落对应的和旋,确定高潮片段所包括的和旋周期;
根据所述歌曲的歌词数据所包含的分句与所述和旋周期的对齐关系,对所述高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
将所述歌曲对应所述修正后的高潮片段所包括的和旋周期的部分,识别为所述歌曲的高潮片段。
2.根据权利要求1所述的歌曲高潮片段识别方法,其特征在于,所述根据所述歌曲的音符时值和节奏型,将所述歌曲的采样数据划分为多个音频段落的采样数据的步骤,包括:
根据所述歌曲的音符时值和节奏型,确定段落时长;
根据所述段落时长以及采样频率,确定单个段落所包含的采样数据数量;
根据所述单个段落所包含的采样数据数量,将所述歌曲的采样数据划分为多个音频段落的采样数据。
3.根据权利要求2所述的歌曲高潮片段识别方法,其特征在于,所述根据所述单个段落所包含的采样数据数量,将所述歌曲的采样数据划分为多个音频段落的采样数据的步骤,包括:
根据所述单个段落所包含的采样数据数量,确定所述歌曲的采样数据中的段落起始点;
根据所述段落起始点、以及所述单个段落所包含的采样数据数量,对所述歌曲的采样数据进行划分,得到多个音频段落的采样数据。
4.根据权利要求3所述的歌曲高潮片段识别方法,其特征在于,所述根据所述单个段落所包含的采样数据数量,确定所述歌曲的采样数据中的段落起始点的步骤,包括:
根据所述单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;
根据所述单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;
根据各候选起始点对应的信号强度之和,从所述候选起始点确定所述段落起始点。
5.根据权利要求1所述的歌曲高潮片段识别方法,其特征在于,所述根据音频段落的采样数据,获取音频段落对应的和旋的步骤,包括:
对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;
对所述频谱图进行采样,得到音频段落对应的频谱序列;
根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
6.根据权利要求1所述的歌曲高潮片段识别方法,其特征在于,所述根据所述歌曲的和旋走向以及所述音频段落对应的和旋,确定高潮片段所包括的和旋周期的步骤,包括:
根据所述和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;
获取和旋周期对应的能量
根据所述和旋周期对应的能量,确定所述高潮片段所包括的起始和旋周期和结束和旋周期;
将所述起始和旋周期、所述结束和旋周期以及位于所述起始和旋周期和结束和旋周期之间的和旋周期,确定为所述高潮片段所包括的和旋周期。
7.根据权利要求6所述的歌曲高潮片段识别方法,其特征在于,所述根据所述和旋周期对应的能量,确定所述高潮片段所包括的起始和旋周期和结束和旋周期的步骤,包括:
根据和旋周期对应的能量,得到相邻和旋周期的能量差值;
根据所述相邻和旋周期的能量差值,确定所述起始和旋周期和所述结束和旋周期。
8.根据权利要求1所述的歌曲高潮片段识别方法,其特征在于,所述根据所述歌曲的歌词数据所包含的分句与所述和旋周期的对齐关系,对所述高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期的步骤,包括:
获取所述歌词数据所包含的分句;
获取分句与和旋周期的对齐关系;
根据所述对齐关系,以和旋周期为单位、分句为边界,对所述高潮片段所包括的和旋周期进行外延处理,直至所述高潮片段所包括的和旋周期与分句对齐,以得到所述修正后的高潮片段所包括的和旋周期。
9.根据权利要求1至8任一项所述的歌曲高潮片段识别方法,其特征在于,在所述对歌曲的音频文件进行采样的步骤之前,还包括:
根据所述歌曲的歌词数据,确定所述歌曲的高潮片段候选部分;
所述对歌曲的音频文件进行采样,得到所述歌曲的采样数据包括:对所述高潮片段候选部分对应的音频文件进行采样,得到所述歌曲的采样数据。
10.一种歌曲高潮片段识别装置,其特征在于,包括:
采样模,用于对歌曲的音频文件进行采样,得到所述歌曲的采样数据,所述采样数据包括采样时间和信号强度;
划分模块,用于根据所述歌曲的音符时值和节奏型,将所述歌曲的采样数据划分为多个音频段落的采样数据;
获取模块,用于根据音频段落的采样数据,获取音频段落对应的和旋;
确定模块,用于根据所述歌曲的和旋走向以及所述音频段落对应的和旋,确定高潮片段所包括的和旋周期;
修正模块,用于根据所述歌曲的歌词数据所包含的分句与所述和旋周期的对齐关系,对所述高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
识别模块,用于将所述歌曲对应所述修正后的高潮片段所包括的和旋周期的部分,识别为所述歌曲的高潮片段。
11.一种计算机设备,其特征在于,其包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如权利要求1 9任一项所述方法的~
步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如权利要求1 9任一项所述方法中的步骤。
~

说明书全文

歌曲高潮片段识别方法及装置

技术领域

[0001] 本申请涉及歌曲处理领域,具体涉及一种歌曲高潮片段识别方法及装置。

背景技术

[0002] 歌曲的高潮片段能让用户迅速预览歌曲、形成对歌曲的第一印象,因此许多音乐播放器提供歌曲高潮片段的试听功能,以求更快的吸引用户。
[0003] 当前在识别歌曲的高潮片段时,通过分析歌曲的歌词、时间序列特性、频谱特性等等,用一套标准算法流程提取片段,尤其是高潮片段,但是这些方法只是从歌曲对外的表现形式,比如歌词、音高、频谱等去间接提取高潮片段,并没有从根本上去理解歌曲,因此会存在歌曲高潮片段提取错误等现象的出现,导致歌曲高潮片段的识别准确率较小。发明内容
[0004] 本申请实施例提供一种歌曲高潮片段识别方法及装置,以提高歌曲高潮片段的识别准确率。
[0005] 为解决上述技术问题,本申请实施例提供以下技术方案:
[0006] 一方面,本申请实施例提供了一种歌曲高潮片段识别方法,其包括:
[0007] 对歌曲的音频文件进行采样,得到歌曲的采样数据,采样数据包括采样时间和信号强度;
[0008] 根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据;
[0009] 根据音频段落的采样数据,获取音频段落对应的和旋;
[0010] 根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期;
[0011] 根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
[0012] 将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0013] 一方面,本申请实施例提供了一种歌曲高潮片段识别装置,其包括:
[0014] 采样模,用于对歌曲的音频文件进行采样,得到歌曲的采样数据,采样数据包括采样时间和信号强度;
[0015] 划分模块,用于根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据;
[0016] 获取模块,用于根据音频段落的采样数据,获取音频段落对应的和旋;
[0017] 确定模块,用于根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期;
[0018] 修正模块,用于根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
[0019] 识别模块,用于将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0020] 在一实施例中,划分模块用于根据歌曲的音符时值和节奏型,确定段落时长;根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据。
[0021] 在一实施例中,划分模块用于根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点;根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0022] 在一实施例中,划分模块用于根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点。
[0023] 在一实施例中,获取模块用于对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;对频谱图进行采样,得到音频段落对应的频谱序列;根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0024] 在一实施例中,确定模块用于根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;获取和旋周期对应的能量;根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期;将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0025] 在一实施例中,确定模块用于根据和旋周期对应的能量,得到相邻和旋周期的能量差值;根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期。
[0026] 在一实施例中,修正模块用于获取歌词数据所包含的分句;获取分句与和旋周期的对齐关系;根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0027] 在一实施例中,采样模块用于根据歌曲的歌词数据,确定歌曲的高潮片段候选部分;对高潮片段候选部分对应的音频文件进行采样,得到歌曲的采样数据。
[0028] 一方面,本申请实施例提供了一种计算机设备,其包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述方法的步骤。
[0029] 一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述方法中的步骤。
[0030] 本申请实施例提供了一种歌曲高潮片段识别方法及装置,该方法首先对歌曲的音频文件进行采样,得到歌曲的采样数据,然后根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据,之后根据音频段落的采样数据,获取音频段落对应的和旋,根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期,并根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期,最后将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段;即本申请是基于歌曲的本质因素,例如音符时值、节奏型以及和旋走向等因素对歌曲进行高潮片段的识别,实现了从根本上对理解歌曲,这样所提取得到的歌曲高潮片段是准确且完整的,提高了歌曲高潮片段的识别准确率,进而可以提升用户的使用体验,增强了用户粘度附图说明
[0031] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1是本申请实施例提供的歌曲处理系统的组网示意图。
[0033] 图2是本申请实施例提供的歌曲高潮片段识别方法的第一种流程示意图。
[0034] 图3是本申请实施例提供的歌曲高潮片段识别方法的第二种流程示意图。
[0035] 图4是本申请实施例提供的歌曲高潮片段识别方法的第三种流程示意图。
[0036] 图5是本申请实施例提供的歌曲高潮片段识别装置的结构示意图。
[0037] 图6是本申请实施例提供的计算机设备的结构示意图。
[0038] 图7a和图7b是本申请实施例提供的模型示意图。
[0039] 图8a至图8g是本申请实施例提供的数据处理示意图。
[0040] 图9a至图9b是本申请实施例提供的数据示意图。

具体实施方式

[0041] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042] 本申请实施例提供一种歌曲高潮片段识别方法及装置、计算机设备和计算机可读存储介质。其中,该歌曲高潮片段识别装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备,下文以该计算机设备为服务器为例进行说明。
[0043] 在本申请实施例中,音符用来记录不同长短的音的进行符号,例如常见的全音符、二分音符、四分音符、八分音符、十六分音符等;音符时值也称为音符值或音值,在乐谱中用来表达各音符之间的相对持续时间,一个全音符的时长等于两个二分音符、四个四分音符、八个八分音符、十六个十六分音符的时长,这只是音符时值的比例,例如下文以每个四分音符的音符时值为1秒为例;段落指歌曲的最小完整单元,由音符组成,类似文本里的一句话,节奏型是歌曲所采用的节拍类型,比如4/4、3/8拍,一个段落的时长是由节奏型和音符时长共同决定的;和弦走向指的是歌曲的和弦编排方式,比如C‑G‑Em‑F等各种和弦编排方式,和弦编排方式中的每个字母代表一个和弦,每个和弦对应一个段落,例如代表歌曲的段落按C‑G‑Em‑F的和弦编排方式的顺序进行编排,然后整首歌曲全部或者大部分内容都是这四个和弦的循环重复;歌词数据是指歌曲的歌词。
[0044] 在本申请实施例中,歌曲的创作过程包括:选择合适的节奏型和音符时值,选择某个固定的和弦走向,如C‑G‑Em‑F等,根据节奏型、和弦走向,为每个段落填充音符,也就是主旋律,可选的根据节奏型、和弦走向、主旋律,为主旋律加上伴奏(伴奏包括但不限于鼓点、弦乐、键盘等),然后根据旋律填写歌词,歌手演唱歌曲,最后将主旋律、歌手的声音(也就是人声)、伴奏(如果有的话)合成得到歌曲。由此可知,歌手的声音以及伴奏等都是和歌曲的主旋律匹配的,在识别得到歌曲主旋律的高潮片段之后,就可以较为准确的定位整个歌曲的高潮片段,在某些场景下歌词可能比旋律的高潮先出现或晚出现,那么基于歌曲的歌词数据对主旋律的高潮片段进行修正之后,就可以准确的识别出歌曲的高潮片段。
[0045] 请参阅图1,图1为本申请实施例所提供的歌曲处理系统的场景示意图,该系统可以包括终端以及服务器,终端之间、服务器之间、以及终端与服务器之间通过各种网关组成的互联网等方式连接通信,不再赘述,其中,终端包括用户终端11等,服务器包括处理服务器12以及推荐服务器13等;其中:
[0046] 用户终端11包括但不局限于平板电脑笔记本电脑、个人计算(PC,Personal Computer)、微型处理盒子、或者其他设备等;在本申请实施例中,主要包括上传歌曲的歌曲上传终端以及使用歌曲服务的客户端等;
[0047] 服务器包括本地服务器和/或远程服务器等;处理服务器12用于为歌曲打各种标签,例如歌曲的语言、演唱者、作词、时长等,以及识别歌曲的高潮片段等各种功能;推荐服务器13用于根据歌曲的各种特征、用户的各种特征、用户的历史歌曲播放序列、当前的环境信息等,为用户推荐歌曲。
[0048] 需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
[0049] 图2是本申请实施例提供的歌曲高潮片段识别方法的第一种流程示意图,请参阅图2,该歌曲高潮片段识别方法包括以下步骤:
[0050] 201:对歌曲的音频文件进行采样,得到歌曲的采样数据。
[0051] 在本申请中,如图8a所示,歌曲的声音信号在时间上是连续的,但是计算机只能存储离散的信号,所以需要先对声音信号采样,以得到离散的信号数据,即对歌曲的音频文件进行采样,得到如图8b所示的歌曲的采样数据,采样数据包括采样时间和信号强度。采样时所采用的频率越密集越精确,具体的采样频率可以根据实际应用场景和需求设置,下文以采样频率为100hz为例进行说明。
[0052] 如图8b所示,在对歌曲的音频文件进行采样之后,一首歌曲便成了一个离散的时间序列T(1)~T(n),时间序列里每个值T(i)代表了歌曲在该采样时刻i时的信号强弱。
[0053] 202:根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据。
[0054] 歌曲的音符时值和节奏型可以由歌曲上传者提供,或者根据歌曲的名称以及内容,从服务器上获取等方式得到。
[0055] 在一种实施例中,本步骤包括:根据歌曲的音符时值和节奏型,确定段落时长;根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据。
[0056] 在一种实施例中,根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据的步骤包括:根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点;根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0057] 在一种实施例中,根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点的步骤,包括:根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点。
[0058] 具体的,本申请可以使用段落时长和段落模式来描述一个段落。针对段落时长,歌曲的音符时值和节奏型都是给定的(由歌曲上传者提供),那么就可以算出歌曲一个段落的时长,比如节奏型是4/4拍,每个4分音符是1s,那么这个歌曲的每个段落有4s,如果采样频率是100hz,那么每个段落将包含4*100=400个时间序列。针对段落模式,歌曲每个段落都遵循特定节奏型的强弱模式,比如节奏型是4/4拍,那么一个段落的拍子模式是“强、弱、次强、弱”,这种强弱模式也会反映在伴奏和人声的响度上,比如作为段落起始音,鼓点会比较重,人声也会有明显的加强,也就是说声音信号的振幅会比较大。
[0059] 由于歌曲存在前奏、过渡、尾音等不规范元素,并不能从第一个音符开始就默认为进入到歌曲的第一个段落,而是需要检测出真实段落的位置,本申请提出时间序列差分法来识别出段落模式,进而确定歌曲的段落起始点,从而检测出一个段落的开头结尾。具体的,将时间序列T(1)~T(n)每个值跟前一时刻做差,即dT(i)=T(i)–T(i‑1),得到差分序列后,按照一个段落所包含的时间序列数,去检测突变位置,即dT(i)比较大的位置,比如一个段落包含400个时间序列,现在一个起始时间序列k(属于1~n中的一个,可以根据经验设置,例如设置为k=500),每隔400个采样点收集序列信号,算出以k,k+400,k+800,....为段落起始点的序列信号的幅值集和∑dT(k),然后令k=k+1~k+399,得到399个∑dT(k),然后取k_max=argmax(∑dT(k)),对应的k_max便是第一个段落起始点,其中,函数argmax(…)为用于寻找具有最大评分的参量的函数,最后例如图8c所示,从而按照每隔400个时间序列进行切分,将歌曲切成不同的段落。
[0060] 203:根据音频段落的采样数据,获取音频段落对应的和旋。
[0061] 在一种实施例中,本步骤包括:对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;对频谱图进行采样,得到音频段落对应的频谱序列;根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0062] 在本申请中,在切分出段落后,需要根据段落里的音符(段落的旋律片段)来识别出该段落的主和弦,可以将段落对应的特征输入分类器,得到段落对应的类别,类别就是和弦的种类,比如C、Cm、Cmaj等。
[0063] 具体的,对每个段落的400个时间序列,做快速傅里叶变换(FFT)等处理,得到每个段落对应的频率域的频谱图,频谱图中的横坐标代表频率,纵坐标代表每个频率的幅度,对频谱图按一定采样频率(如10hz等)进行采样,就得到如图8d所示的离散的频谱序列F1~Fm。因为和弦是由几个主要音符组成,每个音符都有自己独特的频率,这样就能通过挖掘频谱序列F1~Fm的模式,来识别段落里面的主要和弦。
[0064] 将段落表示成频谱序列F1~Fm之后,每个频谱Fi都对应一个固定的频率fi,然后输入训练好的分类器(即上文中的分类模型)y=g(F1,...,Fm),就可以得到段落对应的和弦种类,其中g(…)为分类器所对应的函数,而分类器的输入y就是段落对应的和弦种类。
[0065] 在一种实施例中,通过有监督学习的方法,先用人工标识出一系列段落的和弦,然后用一个分类器y=g(x),学习出分类器y=g(F1,...,Fm)。
[0066] 204:根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期。
[0067] 在一种实施例中,本步骤包括:根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;获取和旋周期对应的能量;根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期;将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0068] 在一种实施例中,根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期的步骤,包括:根据和旋周期对应的能量,得到相邻和旋周期的能量差值;根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期。
[0069] 具体的,高潮片段一般都是包含多个完整的和弦周期,一个和弦周期包括多个段落,比如前面提到的和旋走向C‑G‑Em‑F,一个和弦周期包括4个段落,那么在识别出段落的和弦后,可以将同一个和弦周期内的段落合成在一起,作为一个和旋周期,并在此基础上识别出高潮片段对应的多个连续的和弦周期。
[0070] 在一种实施例中,本步骤包括:取每个和弦周期对应的段落,比如C‑G‑Em‑F包含4个段落,将这些段落的时间训练通过FFT变换后得到频谱序列F1~Fq,然后调用能量函数E=∑(mag(Fi)*fi),其中fi是频谱Fi对应的频率,函数mag(…)为用于矢量求模的函数,mag(fi)是Fi的幅值,基于能量函数可知,高频信号能量高,低频信号能量低。
[0071] 根据能量函数,可以算出歌曲的每个和弦周期的能量E,然后采用前述的差分法,只不过这里的差分对象是E,定义dE(i)=E(i)–E(i‑1),找出dE(i)比较大的位置,此处代表了歌曲的高潮片段的开始,将E(i)对应的和旋周期作为高潮片段的起始和旋周期,dE(i)较小,此处代表了歌曲的高潮片段的结尾,将E(i)对应的和旋周期作为高潮片段的结束和旋周期;这是因为高潮片段开始时,E(i)突变很大,所以dE(i)很大,而当高潮片段结束时,E(i)突然很小,dE(i)是较小的负数,如图8e所示,得到歌曲的高潮片段。
[0072] 205:根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期。
[0073] 针对存在歌词的歌曲,歌曲的歌词数据可以由歌曲上传者提供,或者根据歌曲的名称以及内容,从服务器上获取;针对不存在歌词的歌曲(即仅包括主旋律和/或伴奏的歌曲),可以不执行本步骤205,而直接得到歌曲高潮片段。
[0074] 在一种实施例中,本步骤包括:获取歌词数据所包含的分句;获取分句与和旋周期的对齐关系;根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0075] 具体的,步骤204从旋律度提取了歌曲的高潮片段,在理论上,旋律变得很饱满、情绪很充分的地方,就是高潮部分的开始;但仅有旋律分析是不够准确的,因为歌曲很重要的是歌手的歌唱,而歌唱是以歌词的语句为最小单元的,有时候歌词可能比旋律的高潮先出现或晚出现。
[0076] 如图8f所示,比如“我们一起学*叫,一起***”这句歌词,“我们”比旋律的高潮先出现,“一起学”才是旋律高潮的开始位置。那么,本申请结合歌词对旋律高潮进行修饰,对歌词进行句子划分,可以按标点符号切分,如果没有标点符号的话,也可以用自然语言处理里序列标注的方法去识别出句子的起始位置,在划分出歌词的句子之后,可以跟旋律的高潮片段进行对齐,然后以和旋周期为单位扩展高潮的外延,将句子超出的部分纳入到最终的高潮片段中。
[0077] 206:将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0078] 如图8g所示,本步骤基于修正后的高潮片段所包括的和旋周期的部分所对应的时间值,将歌曲中对应的部分,识别为歌曲的高潮片段。
[0079] 在一种实施例中,为了降低处理服务器的数据处理量,可以先对歌曲的不规范元素,例如前奏、过渡、尾音等进行去除,此时,图2所示方法在对歌曲的音频文件进行采样的步骤之前,还包括:根据歌曲的歌词数据,确定歌曲的高潮片段候选部分;此时,对歌曲的音频文件进行采样,得到歌曲的采样数据包括:对高潮片段候选部分对应的音频文件进行采样,得到歌曲的采样数据。例如仅将歌曲中与歌词数据对应的片段作为高潮片段候选部分,这是歌曲的高潮片段往往包括人声,而人声则与歌词对应,这样就可以降低处理服务器的数据处理量,提高歌曲高潮片段的识别效率。
[0080] 本实施例提供了一种歌曲高潮片段识别方法,该方法基于歌曲的本质因素,例如音符时值、节奏型以及和旋走向等因素对歌曲进行高潮片段的识别,实现了从根本上对理解歌曲,这样所提取得到的歌曲高潮片段是准确且完整的,提高了歌曲高潮片段的识别准确率,进而可以提升用户的使用体验,增强了用户粘度。
[0081] 图3是本申请实施例提供的歌曲高潮片段识别方法的第二种流程示意图,本实施例针对如何应用识别得到的歌曲高潮片段进行详细描述;请参阅图3,该歌曲高潮片段识别方法包括以下步骤:
[0082] 301:处理服务器进行分类器训练。
[0083] 本步骤通过有监督学习的方法,先用人工标识出一系列段落的和弦,然后用一个分类器y=g(x),学习出分类器y=g(F1,...,Fm),其中g(...)为分类器所对应的函数,而分类器的输入y就是段落对应的和弦种类,F1~Fm为段落对应的频谱序列。
[0084] 302:歌曲上传者上传歌曲到处理服务器。
[0085] 歌曲上传者在上传歌曲的同时,上传歌曲的音符时值、节奏型、和旋走向以及歌词数据。
[0086] 303:处理服务器处理歌曲。
[0087] 处理服务器为歌曲打各种标签,例如歌曲的语言、演唱者、作词、时长等作为歌曲的歌曲特征信息,以及识别歌曲的高潮片段等各种功能。
[0088] 针对如何识别歌曲的高潮片段,本步骤包括:
[0089] 对歌曲的音频文件进行采样,得到歌曲的采样数据。
[0090] 如图8a所示,歌曲的声音信号在时间上是连续的,需要先对声音信号采样,以得到离散的信号数据,即对歌曲的音频文件进行采样,得到如图8b所示的歌曲的采样数据,如图8b所示,在对歌曲的音频文件进行采样之后,一首歌曲便成了一个离散的时间序列T(1)~T(n),时间序列里每个值T(i)代表了歌曲在该采样时刻i时的信号强弱。
[0091] 根据歌曲的音符时值和节奏型,确定段落时长;根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点;根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0092] 具体的,将时间序列T(1)~T(n)每个值跟前一时刻做差,即dT(i)=T(i)–T(i‑1),得到差分序列后,按照一个段落所包含的时间序列数,去检测突变位置,即dT(i)比较大的位置,比如一个段落包含400个时间序列,现在一个起始时间序列k(属于1~n中的一个,可以根据经验设置,例如设置为k=500),每隔400个采样点收集序列信号,算出以k,k+400,k+800,....为段落起始点的序列信号的幅值和∑dT(k),然后令k=k+1~k+399,得到399个∑dT(k),然后取k_max=argmax(∑dT(k)),对应的k_max便是第一个段落起始点,其中,函数argmax(…)为用于寻找具有最大评分的参量的函数,最后例如图8c所示,从而按照每隔400个时间序列进行切分,将歌曲切成不同的段落。
[0093] 对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;对频谱图进行采样,得到音频段落对应的频谱序列;根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0094] 具体的,对每个段落的400个时间序列,做快速傅里叶变换(FFT)等处理,得到每个段落对应的频率域的频谱图,频谱图中的横坐标代表频率,纵坐标代表每个频率的幅度,对频谱图按一定采样频率(如10hz等)进行采样,就得到如图8d所示的离散的频谱序列F1~Fm。将段落表示成频谱序列F1~Fm之后,每个频谱Fi都对应一个固定的频率fi,然后输入训练好的分类器(即上文中的分类模型)y=g(F1,...,Fm),就可以得到段落对应的和弦种类,其中g(...)为分类器所对应的函数,而分类器的输入y就是段落对应的和弦种类。
[0095] 根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;获取和旋周期对应的能量;根据和旋周期对应的能量,得到相邻和旋周期的能量差值;根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期;将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0096] 具体的,取每个和弦周期对应的段落,比如C‑G‑Em‑F包含4个段落,将这些段落的时间训练通过FFT变换后得到频谱序列F1~Fq,然后调用能量函数E=∑(mag(Fi)*fi),根据能量函数,可以算出歌曲的每个和弦周期的能量E,然后定义dE(i)=E(i)–E(i‑1),找出dE(i)比较大的位置,此处代表了歌曲的高潮片段的开始,将E(i)对应的和旋周期作为高潮片段的起始和旋周期,dE(i)较小,此处代表了歌曲的高潮片段的结尾,将E(i)对应的和旋周期作为高潮片段的结束和旋周期,如图8e所示,得到歌曲的高潮片段。
[0097] 获取歌词数据所包含的分句;获取分句与和旋周期的对齐关系;根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0098] 具体的,如图8f所示,比如“我们一起学*叫,一起***”这句歌词,“我们”比旋律的高潮先出现,“一起学”才是旋律高潮的开始位置。那么,本申请结合歌词对旋律高潮进行修饰,对歌词进行句子划分,可以按标点符号切分,如果没有标点符号的话,也可以用自然语言处理里序列标注的方法去识别出句子的起始位置,在划分出歌词的句子之后,可以跟旋律的高潮片段进行对齐,然后以和旋周期为单位扩展高潮的外延,将句子超出的部分纳入到最终的高潮片段中。
[0099] 如图8g所示,基于修正后的高潮片段所包括的和旋周期的部分所对应的时间值,将歌曲中对应的部分识别为歌曲的高潮片段。
[0100] 304:用户向推荐服务器请求歌曲。
[0101] 在本步骤中,歌曲服务用户向推荐服务器请求歌曲,例如某个具体的歌曲,或者让推荐服务器进行歌曲推荐等,下文以需要推荐服务器进行歌曲推荐为例进行描述,直接请求歌曲的方式参照现有方式即可。
[0102] 305:推荐服务器生成推荐结果。
[0103] 在本步骤中,推荐服务器可以仅根据歌曲的歌曲特征信息进行歌曲推荐得到推荐结果,也可以同时根据歌曲的歌曲特征信息、用户的特征信息进行歌曲推荐得到推荐结果,还可以同时根据歌曲的歌曲特征信息、用户的特征信息、用户的历史歌曲播放序列以及当前的环境信息等进行歌曲推荐得到推荐结果。
[0104] 推荐结果包括一个或多个歌曲的链接地址,以及各歌曲的语言、演唱者、作词、时长以及歌曲的高潮片段等信息。
[0105] 306:推荐服务器发送推荐结果到用户终端。
[0106] 在本步骤中,推荐服务器发送推荐结果到用户终端。
[0107] 307:终端展示推荐结果。
[0108] 在本步骤中,终端展示推荐结果,用户可以基于歌曲的语言、演唱者、作词、时长以及歌曲的高潮片段等信息选择所需要收听的歌曲,基于歌曲的高潮片段进行歌曲预览或者精彩片段抢唱等服务。
[0109] 本实施例给出了一种歌曲高潮片段的应用场景,可以提高歌曲应用的吸引
[0110] 图4是本申请实施例提供的歌曲高潮片段识别方法的第三种流程示意图,本实施例针对如何应用识别得到的歌曲高潮片段以及进行歌曲推荐进行详细描述;请参阅图4,该歌曲高潮片段识别方法包括以下步骤:
[0111] 401:推荐服务器进行模型训练。
[0112] 在本步骤中,推荐服务器针对短时歌曲,构建如图7a所示的第一序列标注模型Bi‑LSTM‑CRF,其中Bi‑LSTM层为数据输入层,所输入的数据包括短时歌曲x1的歌曲特征信息(图7a中分别以t1~tk分别表示短时歌曲x1的歌曲特征信息)以及用户的特征信息(图7a中以u表示用户的特征信息),将u拼接到这个用户所有的短时歌曲t1~tk的表示上,构成整个模型的输入,然后输入Bi‑LSTM层进行双向交互,得到进一步的特征表示,然后输入CRF进行短时歌曲x1被当前时刻播放的概率y1。
[0113] 在进行第一序列标注模型训练时,根据前文描述,构建第一训练数据x1={x1,…,xk},y1={1,…,0},x1和y1的维度相同(即数量相同),y1里的元素与x1里的元素一一对应,y1里的某个元素yi为1表示用户当下(记载预设时间t内)重复收听了歌曲xi,y1里的某个元素yi为0则表示用户当下没有重复收听歌曲xi。本申请取一小段时间来提取y1,所以y1里面可以有多个1,也就是说用户在这个小时间窗口里重复听了多首短时歌曲,基于此,构建一个序列标注模型来学习f(x)=y。如图7a所示,输入的t1~tk小方块代表歌曲ti的特征表示(即歌曲的歌曲特征信息),比如歌手、歌曲类型、歌曲时长等直接特征,以及一些间接特征,拼接在一起作为歌曲的表示,小方块u代表用户向量(即用户的特征信息),比如直接特征,以及一些间接特征,将u拼接到这个用户所有的短时歌曲t1~tk的表示上,构成整个模型的输入,然后输入Bi‑LSTM层进行双向交互,得到进一步的特征表示,然后输入到CRF并输出进行模型训练。
[0114] 针对长时歌曲,构建如图7b所示的第二序列标注模型Bi‑LSTM‑CRF,其中Bi‑LSTM层为数据输入层,所输入的数据包括长时歌曲x2的歌曲特征信息(图7b中分别以tk~tn分别表示长时歌曲xm的歌曲特征信息)、用户的特征信息(图7b中以u表示用户的特征信息)以及环境信息(图7b中以c表示当前的环境信息),将u以及c拼接到这个用户所有的短时歌曲t1~tk的表示上,构成整个模型的输入,然后输入Bi‑LSTM层进行双向交互,得到进一步的特征表示,然后输入CRF进行长时歌曲x2被当前时刻播放的概率y2。
[0115] 在进行第二序列标注模型训练时,根据前文描述,构建第二训练数据x2={x1,…,xk},y2={1,…,0},x2和y2的维度相同(即数量相同),y2里的元素与x2里的元素一一对应,y2里的某个元素yi为1表示用户当下(记载预设时间t内)重复收听了歌曲xi,y2里的某个元素yi为0则表示用户当下没有重复收听歌曲xi。本申请取一小段时间来提取y2,所以y2里面可以有多个1,也就是说用户在这个小时间窗口里重复听了多首长时歌曲,基于此,构建一个序列标注模型来学习f(x)=y。如图7b所示,输入的t1~tk小方块代表歌曲ti的特征表示(即歌曲的歌曲特征信息),比如歌手、歌曲类型、歌曲时长等直接特征以及一些间接特征,拼接在一起作为歌曲的表示,小方块u代表用户向量(即用户的特征信息),比如直接特征以及一些间接特征,小方块c代表环境向量(即当前的环境信息),将u拼和c接到这个用户所有的短时歌曲t1~tk的表示上,构成整个模型的输入,然后输入Bi‑LSTM层进行双向交互,得到进一步的特征表示,然后输入到CRF层并输出进行模型训练。
[0116] 402:处理服务器进行分类器训练。
[0117] 本步骤参考步骤301。
[0118] 403:歌曲上传者上传歌曲到处理服务器。
[0119] 歌曲上传者在上传歌曲的同时,上传歌曲的音符时值、节奏型、和旋走向以及歌词数据。
[0120] 404:处理服务器根据歌曲的音符时值和节奏型等处理歌曲。
[0121] 处理服务器为歌曲打各种标签,例如歌曲的语言、演唱者、作词、时长等作为歌曲的歌曲特征信息,以及识别歌曲的高潮片段等各种功能。
[0122] 本步骤参考步骤303。
[0123] 405:用户向推荐服务器请求歌曲。
[0124] 在本步骤中,歌曲服务用户向推荐服务器请求歌曲,例如某个具体的歌曲,或者让推荐服务器进行歌曲推荐等,下文以需要推荐服务器进行歌曲推荐为例进行描述,直接请求歌曲的方式参照现有方式即可。
[0125] 406:推荐服务器根据历史歌曲播放序列生成推荐结果。
[0126] 推荐结果包括一个或多个歌曲的链接地址,以及各歌曲的语言、演唱者、作词、时长以及歌曲的高潮片段等信息。
[0127] 在本步骤中,推荐服务器可以仅根据歌曲的歌曲特征信息进行歌曲推荐得到推荐结果,也可以同时根据歌曲的歌曲特征信息、用户的特征信息进行歌曲推荐得到推荐结果,还可以同时根据歌曲的歌曲特征信息、用户的特征信息、用户的历史歌曲播放序列以及当前的环境信息等进行歌曲推荐得到推荐结果。
[0128] 基于上述描述,本步骤包括:
[0129] 推荐服务器获取目标用户在至少一个歌曲应用平台上的历史歌曲播放序列。例如基于用户授权登录用户所使用过的歌曲应用平台获取该用户的播放列表,然后根据播放时间将这些播放列表的歌曲按照时间顺序组合为历史歌曲播放序列;或者接收用户上传的播放列表,然后根据播放时间将这些播放列表的歌曲按照时间顺序组合为历史歌曲播放序列等方式,得到如图9a所示的目标用户的历史歌曲播放序列。
[0130] 根据歌曲在历史歌曲播放序列中的位置信息确定歌曲到当前时刻的位置属性或者时间属性,将满足预设位置属性或者预设时间属性的歌曲标识为短时歌曲;获取历史歌曲播放序列中的未满足预设位置信息的歌曲的播放信息;播放信息包括播放时长以及歌曲高潮播放状态中的至少一种;根据预设播放信息以及歌曲的播放信息,对历史歌曲播放序列中的未满足预设位置信息的歌曲,进行筛选得到长时歌曲。
[0131] 例如预设位置属性为距离当前时刻最近的50个歌曲作为短时歌曲,那么,将历史歌曲播放序列中距离当前时刻最近的50个歌曲作为短时歌曲;又如,预设时间属性为距离当前时刻24小时内的歌曲作为短时歌曲,那么,将历史歌曲播放序列中歌曲的播放时间距离当前时刻24小时内的歌曲作为短时歌曲。例如预设播放信息为播放时长大于3分钟,或者整个歌曲时长的60%等,只要歌曲tk~歌曲tn中某个歌曲的播放时长满足播放时长大于3分钟,或者整个歌曲时长的60%,就可以将这个歌曲作为长时歌曲x2;又如预设播放信息为歌曲高潮片段播放完毕,那么只要歌曲tk~歌曲tn中某个歌曲的歌曲高潮片段被播放完毕,则将这个歌曲作为长时歌曲x2。
[0132] 针对短时歌曲,获取目标用户的特征信息、以及短时歌曲的歌曲特征信息;使用训练后的第一神经网络模型,根据用户的特征信息以及短时歌曲的歌曲特征信息,得到目标用户对短时歌曲的播放概率;根据目标用户对短时歌曲的播放概率,对短时歌曲进行筛选得到第一歌曲序列。
[0133] 使用如图7a所示的训练完后的Bi‑LSTM‑CRF,就可以用来预测用户对短时歌曲t1~tk的偏好得分并进行排序,划分阈值后输出记为y1_short,y1_short=(0,1,……0)等,表示x1={x1,…,xk}中每个歌曲会被用户重复收听的标注类型,y1=f(x1)=f(ti)=1,表示短时歌曲ti会被用户重复收听,而y1=f(x1)=f(ti)=0,表示短时歌曲ti不会被用户重复收听,将y1=1所对应的短时歌曲都作为第一歌曲序列内的歌曲即可。
[0134] 针对长时歌曲,获取目标用户的特征信息、当前的环境信息、以及长时歌曲的歌曲特征信息;使用训练后的第二神经网络模型,根据用户的特征信息、当前的环境信息以及长时歌曲的歌曲特征信息,得到目标用户对长时歌曲的播放概率;根据目标用户对长时歌曲的播放概率,对长时歌曲进行筛选得到第二歌曲序列。
[0135] 使用如图7b所示的训练完后的Bi‑LSTM‑CRF,就可以用来预测用户对长时歌曲tk~tn的偏好得分并进行排序,划分阈值后输出记为y2_long,y2_long=(0,1,……0)等,表示x2={x1,…,xk}中每个歌曲会被用户重复收听的标注类型,y2=f(x2)=f(tm)=1,表示长时歌曲tm在当前环境下会被用户重复收听,而y2=f(x2)=f(tn)=0,表示长时歌曲tm在当前环境下不会被用户重复收听,将y2=1所对应的长时歌曲都作为第二歌曲序列内的歌曲即可。
[0136] 最后,将第一歌曲序列和第二歌曲序列中的歌曲,作为用户可能会重复收听的歌曲进行推荐。例如将y1_short和y2_long作为用户可能播放的历史序列里的歌曲,可以合并起来,也可以分别输出,作为用户歌单,然后既可以直接作为用户歌单呈现给用户,也可以用来丰富推荐系统召回的结果,也可以参与排序,融入到最终给用户推荐的歌曲列表中作为推荐结果。
[0137] 407:推荐服务器发送推荐结果到用户终端。
[0138] 在本步骤中,推荐服务器发送推荐结果到用户终端。
[0139] 408:终端展示推荐结果。
[0140] 在本步骤中,终端展示推荐结果,用户可以基于歌曲的语言、演唱者、作词、时长以及歌曲的高潮片段等信息选择所需要收听的歌曲,基于歌曲的高潮片段进行歌曲预览或者精彩片段抢唱等服务。
[0141] 在图4所示实施例中,神经网络模型可以是各种具备预测功能的模型,只要模型具备对输入数据进行处理后得到该歌曲被用户重复收听的概率的功能,即可作为本申请的神经网络模型,例如序列标注模型、循环神经网络、残差神经网络等,下文以神经网络模型为图7a或者图7b所示的Bi‑LSTM‑CRF等序列标注模型为例进行说明。
[0142] 在图4所示实施例中,历史歌曲播放序列是指用户所播放歌曲的序列,如图9a所示,歌曲t1离当前时刻最近,歌曲tn离当前时刻最远,但是因为计算机的存储容量和模型能力的限制,只能针对历史歌曲播放序列中离当前时刻较近的预定数量的歌曲(即下文中的短时歌曲),例如歌曲t1~歌曲tk分别进行重复播放概率的预测,而离当前时刻较远的歌曲,例如歌曲tk~歌曲tn只能选择部分歌曲(即下文中的长时歌曲)进行重复播放概率的预测。
[0143] 在图4所示实施例中,神经网络模型涉及的训练数据如图9b所示,获取指定数量的用户u1~用户un的历史歌曲播放序列,确定一个预设时间t(例如09月01日12:00到09月01日12:59这一个小时等),针对每个用户ui的历史歌曲播放序列,确定短时歌曲x1(属于歌曲t1~歌曲tk)、长时歌曲x2(属于歌曲tk~歌曲tn中满足预设播放信息的歌曲),短时歌曲x1在预设时间t内是否被播放的播放信息y1,若短时歌曲x1被播放则对应的播放信息y1为1,若短时歌曲x1没有被播放则对应的播放信息y1为0,长时歌曲x2在预设时间t内是否被播放的播放信息y2,若长时歌曲x2被播放则对应的播放信息y2为1,若长时歌曲x2没有被播放则对应的播放信息y2为0;并获取预设时间t内的环境信息,例如当前时间、播放设备、用户在其他场景下的行为、用户网络环境等等,获取每个用户ui的特征信息,如直接特征,以及一些嵌入特征等间接特征,获取每个歌曲(包括短时歌曲x1和长时歌曲x2)的歌曲特征信息,如歌手、歌曲类型、歌曲时长等直接特征,以及一些嵌入特征等间接特征,以进行模型训练。由于预设时间t是一个时间段,那么可能出现多个短时歌曲x1的播放信息y1为1,以及多个长时歌曲x2的播放信息y2为1。
[0144] 本实施例给出了一种歌曲高潮片段的应用场景,可以提高歌曲应用的吸引力。
[0145] 相应的,图5是本申请实施例提供的歌曲高潮片段识别装置的结构示意图,请参阅图5,该歌曲高潮片段识别装置包括以下模块:
[0146] 采样模块501,用于对歌曲的音频文件进行采样,得到歌曲的采样数据,采样数据包括采样时间和信号强度;
[0147] 划分模块502,用于根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据;
[0148] 获取模块503,用于根据音频段落的采样数据,获取音频段落对应的和旋;
[0149] 确定模块504,用于根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期;
[0150] 修正模块505,用于根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
[0151] 识别模块506,用于将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0152] 在一实施例中,划分模块502用于根据歌曲的音符时值和节奏型,确定段落时长;根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据。
[0153] 在一实施例中,划分模块502用于根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点;根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0154] 在一实施例中,划分模块502用于根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点。
[0155] 在一实施例中,获取模块503用于对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;对频谱图进行采样,得到音频段落对应的频谱序列;根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0156] 在一实施例中,确定模块504用于根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;获取和旋周期对应的能量;根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期;将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0157] 在一实施例中,确定模块504用于根据和旋周期对应的能量,得到相邻和旋周期的能量差值;根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期。
[0158] 在一实施例中,修正模块505用于获取歌词数据所包含的分句;获取分句与和旋周期的对齐关系;根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0159] 在一实施例中,采样模块501用于根据歌曲的歌词数据,确定歌曲的高潮片段候选部分;对高潮片段候选部分对应的音频文件进行采样,得到歌曲的采样数据。
[0160] 相应的,本申请实施例还提供一种计算机设备,如图6所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
[0161] 该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0162] 处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体检测。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
[0163] 存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问
[0164] 计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0165] 该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0166] 尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
[0167] 对歌曲的音频文件进行采样,得到歌曲的采样数据,采样数据包括采样时间和信号强度;
[0168] 根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据;
[0169] 根据音频段落的采样数据,获取音频段落对应的和旋;
[0170] 根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期;
[0171] 根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
[0172] 将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0173] 在一种实施例中,实现功能:
[0174] 根据歌曲的音符时值和节奏型,确定段落时长;
[0175] 根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;
[0176] 根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据。
[0177] 在一种实施例中,实现功能:
[0178] 根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点;
[0179] 根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0180] 在一种实施例中,实现功能:
[0181] 根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;
[0182] 根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;
[0183] 根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点。
[0184] 在一种实施例中,实现功能:
[0185] 对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;
[0186] 对频谱图进行采样,得到音频段落对应的频谱序列;
[0187] 根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0188] 在一种实施例中,实现功能:
[0189] 根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;
[0190] 获取和旋周期对应的能量;
[0191] 根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期;
[0192] 将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0193] 在一种实施例中,实现功能:
[0194] 根据和旋周期对应的能量,得到相邻和旋周期的能量差值;
[0195] 根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期。
[0196] 在一种实施例中,实现功能:
[0197] 获取歌词数据所包含的分句;
[0198] 获取分句与和旋周期的对齐关系;
[0199] 根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0200] 在一种实施例中,实现功能:
[0201] 根据歌曲的歌词数据,确定歌曲的高潮片段候选部分;
[0202] 对高潮片段候选部分对应的音频文件进行采样,得到歌曲的采样数据。
[0203] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对歌曲高潮片段识别方法的详细描述,此处不再赘述。
[0204] 本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0205] 为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
[0206] 对歌曲的音频文件进行采样,得到歌曲的采样数据,采样数据包括采样时间和信号强度;
[0207] 根据歌曲的音符时值和节奏型,将歌曲的采样数据划分为多个音频段落的采样数据;
[0208] 根据音频段落的采样数据,获取音频段落对应的和旋;
[0209] 根据歌曲的和旋走向以及音频段落对应的和旋,确定高潮片段所包括的和旋周期;
[0210] 根据歌曲的歌词数据,对高潮片段所包括的和旋周期进行修正,得到修正后的高潮片段所包括的和旋周期;
[0211] 将歌曲对应修正后的高潮片段所包括的和旋周期的部分,识别为歌曲的高潮片段。
[0212] 在一种实施例中,实现功能:
[0213] 根据歌曲的音符时值和节奏型,确定段落时长;
[0214] 根据段落时长以及采样频率,确定单个段落所包含的采样数据数量;
[0215] 根据单个段落所包含的采样数据数量,将歌曲的采样数据划分为多个音频段落的采样数据。
[0216] 在一种实施例中,实现功能:
[0217] 根据单个段落所包含的采样数据数量,确定歌曲的采样数据中的段落起始点;
[0218] 根据段落起始点、以及单个段落所包含的采样数据数量,对歌曲的采样数据进行划分,得到多个音频段落的采样数据。
[0219] 在一种实施例中,实现功能:
[0220] 根据单个段落所包含的采样数据数量,选择数量匹配且连续的候选起始点;
[0221] 根据单个段落所包含的采样数据数量,确定各候选起始点对应的段落起始点集合对应的信号强度之和;
[0222] 根据各候选起始点对应的信号强度之和,从候选起始点确定段落起始点。
[0223] 在一种实施例中,实现功能:
[0224] 对音频段落的采样数据进行变换,得到音频段落频率域的频谱图;
[0225] 对频谱图进行采样,得到音频段落对应的频谱序列;
[0226] 根据音频段落对应的频谱序列、以及训练后的分类模型,确定音频段落对应的和旋。
[0227] 在一种实施例中,实现功能:
[0228] 根据和旋走向以及音频段落对应的和旋,将属于同一和旋周期的音频段落进行组合,得到多个和旋周期;
[0229] 获取和旋周期对应的能量;
[0230] 根据和旋周期对应的能量,确定高潮片段所包括的起始和旋周期和结束和旋周期;
[0231] 将起始和旋周期、结束和旋周期以及位于起始和旋周期和结束和旋周期之间的和旋周期,确定为高潮片段所包括的和旋周期。
[0232] 在一种实施例中,实现功能:
[0233] 根据和旋周期对应的能量,得到相邻和旋周期的能量差值;
[0234] 根据相邻和旋周期的能量差值,确定起始和旋周期和结束和旋周期。
[0235] 在一种实施例中,实现功能:
[0236] 获取歌词数据所包含的分句;
[0237] 获取分句与和旋周期的对齐关系;
[0238] 根据对齐关系,以和旋周期为单位、分句为边界,对高潮片段所包括的和旋周期进行外延处理,直至高潮片段所包括的和旋周期与分句对齐,以得到修正后的高潮片段所包括的和旋周期。
[0239] 在一种实施例中,实现功能:
[0240] 根据歌曲的歌词数据,确定歌曲的高潮片段候选部分;
[0241] 对高潮片段候选部分对应的音频文件进行采样,得到歌曲的采样数据。
[0242] 以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0243] 其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0244] 由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0245] 以上对本申请实施例所提供的一种歌曲高潮片段识别方法及装置、计算机设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。