一种音频处理方法及装置转让专利

申请号 : CN201410568013.9

文献号 : CN104978380B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵伟峰

申请人 : 广州酷狗计算机科技有限公司

摘要 :

本发明实施例提供一种音频处理方法及装置,其中的方法可包括:获取音频文件对应的MIDI文件;解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性;采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列;采用所述至少一个音符的特征值,构建所述音频文件的特征序列;对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。本发明可以基于音频文件对应的MIDI文件对音频文件进行副歌定位,提升音频处理的准确度,提升音频处理的智能性。

权利要求 :

1.一种音频处理方法,其特征在于,包括:

获取音频文件对应的乐器数字接口MIDI文件;

解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性,所述时间属性包括开始时间和结束时间;

采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列,包括:根据所述至少一个音符,及所述至少一个音符的特征值与时间属性,确定至少一个参考元素,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性;根据所述至少一个参考元素所包含音符的时间属性,确定所述至少一个参考元素的索引;按照所述至少一个参考元素的索引,顺序排列所述至少一个参考元素,获得所述音频文件的参考序列;

采用所述至少一个音符的特征值,构建所述音频文件的特征序列;

对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。

2.如权利要求1所述的方法,其特征在于,所述参考序列包括:至少一个参考元素及所述至少一个参考元素的索引;

其中,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性;

所述特征序列包括:至少一个特征元素及所述至少一个特征元素的索引;

其中,一个特征元素包含一个音符的特征值。

3.如权利要求2所述的方法,其特征在于,所述对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌,包括:对所述特征序列进行最大值计算,获得所述特征序列的最大值及所述最大值对应的目标特征元素的索引;

根据所述目标特征元素的索引,确定与所述目标特征元素的索引相对应的目标参考元素的索引;

根据所述目标参考元素的索引,从所述参考序列中获得所述目标参考元素所包含音符的时间属性;

采用所述目标参考元素所包含音符的时间属性,确定副歌的位置信息;

根据所述副歌的位置信息,在所述音频文件中定位副歌。

4.如权利要求3所述的方法,其特征在于,所述根据所述副歌的位置信息,在所述音频文件中定位副歌,包括:对所述副歌的位置信息进行归一化处理;

按照副歌的归一化的位置信息,在所述音频文件中定位副歌。

5.如权利要求1所述的方法,其特征在于,所述采用所述至少一个音符的特征值,构建所述音频文件的特征序列,包括:根据所述至少一个音符的特征值,确定至少一个特征元素,一个特征元素包含一个音符的特征值;

按照所述至少一个参考元素的索引,确定对应的所述至少一个特征元素的索引;

按照所述至少一个特征元素的索引,顺序排列所述至少一个特征元素,获得所述音频文件的特征序列。

6.一种音频处理装置,其特征在于,包括:

文件获取单元,用于获取音频文件对应的MIDI文件;

解析单元,用于解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性,所述时间属性包括开始时间和结束时间;

参考序列构建单元,用于采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列,所述参考序列构建单元包括:参考元素确定单元,用于根据所述至少一个音符,及所述至少一个音符的特征值与时间属性,确定至少一个参考元素,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性;第一索引确定单元,用于根据所述至少一个参考元素所包含音符的时间属性,确定所述至少一个参考元素的索引;第一构建单元,用于按照所述至少一个参考元素的索引,顺序排列所述至少一个参考元素,获得所述音频文件的参考序列;

特征序列构建单元,用于采用所述至少一个音符的特征值,构建所述音频文件的特征序列;

定位单元,用于对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。

7.如权利要求6所述的装置,其特征在于,所述参考序列包括:至少一个参考元素及所述至少一个参考元素的索引;

其中,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性;

所述特征序列包括:至少一个特征元素及所述至少一个特征元素的索引;

其中,一个特征元素包含一个音符的特征值。

8.如权利要求7所述的装置,其特征在于,所述定位单元包括:最大值计算单元,用于对所述特征序列进行最大值计算,获得所述特征序列的最大值及所述最大值对应的目标特征元素的索引;

目标索引确定单元,用于根据所述目标特征元素的索引,确定与所述目标特征元素的索引相对应的目标参考元素的索引;

时间属性确定单元,用于根据所述目标参考元素的索引,从所述参考序列中获得所述目标参考元素所包含音符的时间属性;

位置信息确定单元,用于采用所述目标参考元素所包含音符的时间属性,确定副歌的位置信息;

副歌定位单元,用于根据所述副歌的位置信息,在所述音频文件中定位副歌。

9.如权利要求8所述的装置,其特征在于,所述副歌定位单元包括:归一化处理子单元,用于对所述副歌的位置信息进行归一化处理;

副歌定位子单元,用于按照副歌的归一化的位置信息,在所述音频文件中定位副歌。

10.如权利要求6所述的装置,其特征在于,所述特征序列构建单元包括:特征元素确定单元,用于根据所述至少一个音符的特征值,确定至少一个特征元素,一个特征元素包含一个音符的特征值;

第二索引确定单元,用于按照所述至少一个参考元素的索引,确定对应的所述至少一个特征元素的索引;

第二构建单元,用于按照所述至少一个特征元素的索引,顺序排列所述至少一个特征元素,获得所述音频文件的特征序列。

说明书 :

一种音频处理方法及装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及音频技术领域,具体涉及一种音频处理方法及装置。

背景技术

[0002] 副歌,通常指音频文件(如歌曲、音乐等等)的高潮部分。以歌曲为例,一首歌曲通常采用AA’BA’Form(音乐结构),A代表主歌,而B代表副歌;也即时说,通常一首歌曲由“前奏+两段主歌+一段副歌+过门音乐+一段副歌+一段主歌+结尾音乐”按顺序连接构成。副歌定位对音频文件的分析和处理起着重要作用,现有技术主要是基于对音频文件的分析处理定位副歌,但是,基于音频文件的分析处理计算量大,准确度低,从而降低了音频处理的智能性。

发明内容

[0003] 本发明实施例提供一种音频处理方法及装置,可以基于音频文件对应的MIDI(Musical Instrument Digital Interface,乐器数字接口)文件对音频文件进行副歌定位,提升音频处理的准确度,提升音频处理的智能性。
[0004] 本发明实施例第一方面提供一种音频处理方法,可包括:
[0005] 获取音频文件对应的MIDI文件;
[0006] 解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性;
[0007] 采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列;
[0008] 采用所述至少一个音符的特征值,构建所述音频文件的特征序列;
[0009] 对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。
[0010] 本发明实施例第二方面提供一种音频处理装置,可包括:
[0011] 文件获取单元,用于获取音频文件对应的MIDI文件;
[0012] 解析单元,用于解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性;
[0013] 参考序列构建单元,用于采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列;
[0014] 特征序列构建单元,用于采用所述至少一个音符的特征值,构建所述音频文件的特征序列;
[0015] 定位单元,用于对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。
[0016] 实施本发明实施例,具有如下有益效果:
[0017] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。

附图说明

[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1为本发明实施例提供的一种音频处理方法的流程图;
[0020] 图2为图1所示的步骤S103的实施例的流程图;
[0021] 图3为图1所示的步骤S104的实施例的流程图;
[0022] 图4为图1所示的步骤S105的实施例的流程图;
[0023] 图5为本发明实施例提供的一种音频处理装置的结构示意图;
[0024] 图6为本发明实施例提供的一种参考序列构建单元的结构示意图;
[0025] 图7为本发明实施例提供的一种特征序列构建单元的结构示意图;
[0026] 图8为本发明实施例提供的一种定位单元的结构示意图;
[0027] 图9为本发明实施例提供的一种副歌定位单元的结构示意图。

具体实施方式

[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 本发明实施例中,音频文件可以包括但不限于:歌曲、歌曲片段、音乐、音乐片段、演奏乐、演奏乐片段、哼唱歌曲、哼唱歌曲片段等文件。MIDI是一个工业标准的电子通信协议,MIDI传输诸如音符、控制参数等非声音信号的指令,用于指示MIDI设备的操作以及控制MIDI设备之间的交互。MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。
[0030] 本发明实施例的音频处理方案主要是基于音频文件对应的MIDI文件,对音频文件的副歌进行快速定位。本发明实施例的音频处理方案可以应用于互联网领域的多个场景中,例如:可以应用于对互联网音频库中的音频文件进行分析处理的场景,包括:可应用于主音查找的场景中进行副歌的快速定位和准确提取,也可应用于哼唱搜索的场景中进行副歌的快速定位和准确提取,还可应用于乐曲识别的场景中进行副歌的快速定位和准确提取等等;再如:可以应用于对互联网音频库中的音频文件进行试听的场景,包括:可提供副歌进行在线播放或音乐下载前的试听;或者,可以应用于彩铃下载或试听场景,包括:快速定位和准确提取副歌,将副歌作为彩铃提供给用户进行下载或试听,等等。
[0031] 下面将结合附图1-附图4,对本发明实施例提供的音频处理方法进行详细介绍。需要说明的是,附图1-附图4所示的音频处理方法可以由本发明实施例提供的音频处理装置所执行,该音频处理装置可运行于终端设备或服务器中,其中,终端设备可包括但不限于:PC(Personal Computer,个人计算机)、PAD(平板电脑)、手机、智能手机、笔记本电脑等设备。
[0032] 请参见图1,为本发明实施例提供的一种音频处理方法的流程图;该方法可包括以下步骤S101-步骤S105。
[0033] S101,获取音频文件对应的MIDI文件。
[0034] 一个音频文件通常对应一个MIDI文件,该MIDI文件可以由诸如音频文件的作曲者等音频制作人制作生成,也可以由具备MIDI制作功能的设备根据音频文件制作生成。音频文件对应的MIDI文件可以作为该音频文件的音准参考文件,当用户对音频文件进行重新演绎时,可以采用该音频文件对应的MIDI文件对重新演绎的内容进行音准比对,并可用于对重新演绎的内容进行评分。本步骤中,可以从互联网音频库中获取待处理的音频文件对应的MIDI文件。
[0035] S102,解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性。
[0036] 一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。本步骤中,根据MIDI文件的格式标准解析所述MIDI文件,可以获得至少一个音符,及所述至少一个音符的特征值与时间属性。
[0037] 其中,音符是指用来记录长短音的符号。其中,音符的特征值可用于表示音符的音调特征,一般地,音符的特征值的取值范围为[21,108],音符的特征值越大,表示该音符的音调越高;音符的特征值越小,表示该音符的音调越低。其中,音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。
[0038] S103,采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列。
[0039] 所述参考序列包括:至少一个参考元素及所述至少一个参考元素的索引;其中,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性。本步骤中,可以将一个音符、该音符的特征值及该音符的时间属性确定为一个参考元素的三要素,那么,所述至少一个音符,及所述至少一个音符的特征值与时间属性,则可以分别作为至少一个参考元素的三要素。将所述至少一个参考元素顺序排列,生成所述音频文件的参考序列。
[0040] S104,采用所述至少一个音符的特征值,构建所述音频文件的特征序列。
[0041] 所述特征序列包括:至少一个特征元素及所述至少一个特征元素的索引;其中,一个特征元素包含一个音符的特征值。本步骤中,可以将一个音符的特征值确定为一个特征元素的要素,那么,所述至少一个音符的特征值,则可以分别作为至少一个特征元素的要素。将所述至少一个特征元素顺序排列,生成所述音频文件的特征序列。
[0042] S105,对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。
[0043] 副歌,通常指音频文件的高潮部分。以歌曲为例,一首歌曲通常采用AA’BA’Form,A代表主歌,而B代表副歌;也即时说,通常一首歌曲由“前奏+两段主歌+一段副歌+过门音乐+一段副歌+一段主歌+结尾音乐”按顺序连接构成。本步骤中,通过对所述参考序列和所述特征序列进行分析处理,可以定位音频文件的至少一段副歌。
[0044] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0045] 请参见图2,为图1所示的步骤S103的实施例的流程图;该步骤S103可包括以下步骤s2001-步骤s2003。
[0046] s2001,根据所述至少一个音符,及所述至少一个音符的特征值与时间属性,确定至少一个参考元素,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性。
[0047] 假设所述至少一个音符的数量为N,N为正整数,本步骤中,可以确定所述至少一个参考元素的数量也为N;该N个参考元素可分别表示为a1…aN,每个参考元素均包含三要素,该三要素包括:音符、音符的特征值及音符的时间属性;例如:参考元素a1包括音符一、音符一的特征值及音符一的时间属性;以此类推,参考元素aN包括音符N、音符N的特征值及音符N的时间属性。
[0048] s2002,根据所述至少一个参考元素所包含音符的时间属性,确定所述各参考元素的索引。
[0049] 一个音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。本步骤中,可以按照各参考元素所包含音符的开始时间的先后顺序,确定所述各参考元素的索引;例如:假设音符一至音符N中,音符一的开始时间最先,音符二的开始时间其次,以此类推,音符N的开始时间最末,则可确定参考元素a1的索引为1,参考元素a2的索引为2,以此类推,参考元素aN的索引为N。
[0050] s2003,按照所述至少一个参考元素的索引,顺序排列所述至少一个参考元素,获得所述音频文件的参考序列。
[0051] 按照本实施例所示例子,所述音频文件的参考序列可表示为note(i),该参考序列note(i)的长度为N,其中,i表示所述参考序列note(i)中各参考元素的索引,i为正整数且0<i≤N。
[0052] 实际应用中,可以采用一个结构体来存储该参考序列note(i),该结构体可表示如下:
[0053] tydef struct tag_note{
[0054] int start_ms;
[0055] int end_ms;
[0056] int note_value;
[0057] }Tnote
[0058] Tnote note;
[0059] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0060] 请参见图3,为图1所示的步骤S104的实施例的流程图;该步骤S104可包括以下步骤s3001-步骤s3003。
[0061] s3001,根据所述至少一个音符的特征值,确定至少一个特征元素,一个特征元素包含一个音符的特征值。
[0062] 按照图2所示实施例中的例子,本步骤中,可以确定所述至少一个特征元素的数量也为N;该N个特征元素可分别表示为b1…bN,每个特征元素均包含一个音符的特征值;例如:特征元素b1包括音符一的特征值;以此类推,特征元素bN包括音符N的特征值。
[0063] s3002,按照所述至少一个参考元素的索引,确定对应的所述至少一个特征元素的索引。
[0064] 参考元素和特征元素通过所包含音符的特征值相互对应,例如:参考元素a1包含音符一的特征值,特征元素b1也包含音符一的特征值,则参考元素a1与特征元素b1相对应;以此类推,参考元素aN包含音符N的特征值,特征元素bN也包含音符N的特征值,则参考元素aN与特征元素bN相对应。本步骤中,根据所述各参考元素的索引,可确定对应的所述各特征元素的索引,例如:假设参考元素a1的索引为1,则与所述参考元素a1相对应特征元素b1的索引也为1;以此类推,假设参考元素aN的索引为N,则与所述参考元素aN相对应特征元素bN的索引也为N。
[0065] s3003,按照所述至少一个特征元素的索引,顺序排列所述至少一个特征元素,获得所述音频文件的特征序列。
[0066] 按照本实施例所示例子,所述音频文件的特征序列可表示为note_value(i),该特征序列note_value(i)的长度为N,其中,i表示所述特征序列note_value(i)中各特征元素的索引,i为正整数且0<i≤N。
[0067] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0068] 请参见图4,为图1所示的步骤S105的实施例的流程图;该步骤S105可包括以下步骤s4001-步骤s4005。
[0069] s4001,对所述特征序列进行最大值计算,获得所述特征序列的最大值及所述最大值对应的目标特征元素的索引。
[0070] 本步骤中,可以采用下述公式(1),对所述特征序列note_value(i)进行最大值计算,该公式(1)可表示如下:
[0071] [ind,dval]=max(note_value(i))            (1)
[0072] 上述公式(1)中,max()为求取最大值操作;dval表示最大值的取值;ind表示最大值对应的目标特征元素的索引,即表示索引为ind的目标特征元素对应的note_value(ind)的值为最大值dval。
[0073] s4002,根据所述目标特征元素的索引,确定与所述目标特征元素的索引相对应的目标参考元素的索引。
[0074] 所述目标特征元素的索引为ind,即所述目标特征元素在所述特征序列note_value(i)中的索引为ind,本步骤可确定与所述目标特征元素的索引相对应的目标参考元素的索引也为ind,即所述目标参考元素在所述参考序列note(i)中的索引也为ind。
[0075] s4003,根据所述目标参考元素的索引,从所述参考序列中获得所述目标参考元素所包含音符的时间属性。
[0076] 本步骤中,可以首先从所述参考序列note(i)中定位索引为ind的目标参考元素aind,然后获取该目标参考元素aind所包含音符的时间属性。
[0077] s4004,采用所述目标参考元素所包含音符的时间属性,确定副歌的位置信息。
[0078] 本步骤中,可以采用下述公式(2),将所述目标参考元素aind所包含音符的开始时间,确定为副歌的位置信息;该公式(2)可表示如下:
[0079] Pos=note(ind).start_ms              (2)
[0080] 上述公式(2)中,Pos表示副歌在所述音频文件中的位置信息。
[0081] s4005,根据所述副歌的位置信息,在所述音频文件中定位副歌。
[0082] 由于采用上述公式(2)可以获得副歌在所述音频文件中的位置信息,本步骤则可根据副歌的位置信息,在所述音频文件中查找到或定位出该副歌。
[0083] 步骤s4005具体可包括以下步骤ss451-ss452:
[0084] ss451,对所述副歌的位置信息进行归一化处理。
[0085] 本步骤ss451中,可以根据实际需要,设置用于归一化处理的时间参数,例如:可以根据歌曲的特点,在区间[1s,20s]内随机选取m1和m2设置为用于归一化处理的时间参数,其中,m1和m2的取值可以相等,也可以不等。本步骤ss551中,对所述副歌的位置信息进行归一化处理可以包括:将公式(2)计算获得的副歌的位置信息Pos归一化为[Pos-m1,Pos+m2]。
[0086] ss452,按照副歌的归一化的位置信息,在所述音频文件中定位副歌。
[0087] 本步骤中,可以将归一化的位置信息[Pos-m1,Pos+m2]作为该段副歌在所述音频文件中的持续时间段,从所述音频文件中定位该段副歌。
[0088] 需要说明的是,图4所示实施例阐述了在所述音频文件中定位一段副歌的过程,实际应用中,若所述音频文件存在多段副歌,则步骤s4001可以获得至少一个最大值及每个最大值对应的目标特征元素的索引,本发明实施例中,针对每个最大值及对应的目标特征元素的索引,可以分别按照图4所示实施例描述的过程,在所述音频文件中分别定位各段副歌。
[0089] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0090] 下面将结合附图5-附图9,对本发明实施例提供的音频处理装置进行详细介绍。需要说明的是,附图5-附图9所示的音频处理装置可运行于终端设备或服务器中,用于执行附图1-附图4所示的音频处理方法。其中,终端设备可包括但不限于:PC、PAD、手机、智能手机、笔记本电脑等设备。
[0091] 请参见图5,为本发明实施例提供的一种音频处理装置的结构示意图;该装置可包括:文件获取单元101、解析单元102、参考序列构建单元103、特征序列构建单元104和定位单元105。
[0092] 文件获取单元101,用于获取音频文件对应的MIDI文件。
[0093] 一个音频文件通常对应一个MIDI文件,该MIDI文件可以由诸如音频文件的作曲者等音频制作人制作生成,也可以由具备MIDI制作功能的设备根据音频文件制作生成。音频文件对应的MIDI文件可以作为该音频文件的音准参考文件,当用户对音频文件进行重新演绎时,可以采用该音频文件对应的MIDI文件对重新演绎的内容进行音准比对,并可用于对重新演绎的内容进行评分。所述文件获取单元101可以从互联网音频库中获取待处理的音频文件对应的MIDI文件。
[0094] 解析单元102,用于解析所述MIDI文件,获得至少一个音符,及所述至少一个音符的特征值与时间属性。
[0095] 一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。所述解析单元102根据MIDI文件的格式标准解析所述MIDI文件,可以获得至少一个音符,及所述至少一个音符的特征值与时间属性。
[0096] 其中,音符是指用来记录长短音的符号。其中,音符的特征值可用于表示音符的音调特征,一般地,音符的特征值的取值范围为[21,108],音符的特征值越大,表示该音符的音调越高;音符的特征值越小,表示该音符的音调越低。其中,音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。
[0097] 参考序列构建单元103,用于采用所述至少一个音符,及所述至少一个音符的特征值与时间属性,构建所述音频文件的参考序列。
[0098] 所述参考序列包括:至少一个参考元素及所述至少一个参考元素的索引;其中,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性。可以将一个音符、该音符的特征值及该音符的时间属性确定为一个参考元素的三要素,那么,所述至少一个音符,及所述至少一个音符的特征值与时间属性,则可以分别作为至少一个参考元素的三要素。所述参考序列构建单元103将所述至少一个参考元素顺序排列,生成所述音频文件的参考序列。
[0099] 特征序列构建单元104,用于采用所述至少一个音符的特征值,构建所述音频文件的特征序列。
[0100] 所述特征序列包括:至少一个特征元素及所述至少一个特征元素的索引;其中,一个特征元素包含一个音符的特征值。可以将一个音符的特征值确定为一个特征元素的要素,那么,所述至少一个音符的特征值,则可以分别作为至少一个特征元素的要素。所述特征序列构建单元104将所述至少一个特征元素顺序排列,生成所述音频文件的特征序列。
[0101] 定位单元105,用于对所述参考序列和所述特征序列进行分析处理,定位所述音频文件的副歌。
[0102] 副歌,通常指音频文件的高潮部分。以歌曲为例,一首歌曲通常采用AA’BA’Form,A代表主歌,而B代表副歌;也即时说,通常一首歌曲由“前奏+两段主歌+一段副歌+过门音乐+一段副歌+一段主歌+结尾音乐”按顺序连接构成。所述定位单元105通过对所述参考序列和所述特征序列进行分析处理,可以定位音频文件的至少一段副歌。
[0103] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0104] 请参见图6,为本发明实施例提供的一种参考序列构建单元的结构示意图;该参考序列构建单元103可包括:参考元素确定单元1301、第一索引确定单元1302和第一构建单元1303。
[0105] 参考元素确定单元1301,用于根据所述至少一个音符,及所述至少一个音符的特征值与时间属性,确定至少一个参考元素,一个参考元素包含一个音符、所包含音符的特征值及所包含音符的时间属性。
[0106] 假设所述至少一个音符的数量为N,N为正整数,所述参考元素确定单元1301可以确定所述至少一个参考元素的数量也为N;该N个参考元素可分别表示为a1…aN,每个参考元素均包含三要素,该三要素包括:音符、音符的特征值及音符的时间属性;例如:参考元素a1包括音符一、音符一的特征值及音符一的时间属性;以此类推,参考元素aN包括音符N、音符N的特征值及音符N的时间属性。
[0107] 第一索引确定单元1302,用于根据所述至少一个参考元素所包含音符的时间属性,确定所述各参考元素的索引。
[0108] 一个音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。所述第一索引确定单元1302可以按照各参考元素所包含音符的开始时间的先后顺序,确定所述各参考元素的索引;例如:假设音符一至音符N中,音符一的开始时间最先,音符二的开始时间其次,以此类推,音符N的开始时间最末,则可确定参考元素a1的索引为1,参考元素a2的索引为2,以此类推,参考元素aN的索引为N。
[0109] 第一构建单元1303,用于按照所述至少一个参考元素的索引,顺序排列所述至少一个参考元素,获得所述音频文件的参考序列。
[0110] 按照本实施例所示例子,所述音频文件的参考序列可表示为note(i),该参考序列note(i)的长度为N,其中,i表示所述参考序列note(i)中各参考元素的索引,i为正整数且0<i≤N。
[0111] 实际应用中,可以采用一个结构体来存储该参考序列note(i),该结构体可表示如下:
[0112] tydef struct tag_note{
[0113] int start_ms;
[0114] int end_ms;
[0115] int note_value;
[0116] }Tnote
[0117] Tnote note;
[0118] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0119] 请参见图7,为本发明实施例提供的一种特征序列构建单元的结构示意图;该特征序列构建单元104可包括:特征元素确定单元1401、第二索引确定单元1402和第二构建单元1403。
[0120] 特征元素确定单元1401,用于根据所述至少一个音符的特征值,确定至少一个特征元素,一个特征元素包含一个音符的特征值。
[0121] 按照图6所示实施例中的例子,所述特征元素确定单元1401可以确定所述至少一个特征元素的数量也为N;该N个特征元素可分别表示为b1…bN,每个特征元素均包含一个音符的特征值;例如:特征元素b1包括音符一的特征值;以此类推,特征元素bN包括音符N的特征值。
[0122] 第二索引确定单元1402,用于按照所述至少一个参考元素的索引,确定对应的所述至少一个特征元素的索引。
[0123] 参考元素和特征元素通过所包含音符的特征值相互对应,例如:参考元素a1包含音符一的特征值,特征元素b1也包含音符一的特征值,则参考元素a1与特征元素b1相对应;以此类推,参考元素aN包含音符N的特征值,特征元素bN也包含音符N的特征值,则参考元素aN与特征元素bN相对应。所述第二索引确定单元1402根据所述各参考元素的索引,可确定对应的所述各特征元素的索引,例如:假设参考元素a1的索引为1,则与所述参考元素a1相对应特征元素b1的索引也为1;以此类推,假设参考元素aN的索引为N,则与所述参考元素aN相对应特征元素bN的索引也为N。
[0124] 第二构建单元1403,用于按照所述至少一个特征元素的索引,顺序排列所述至少一个特征元素,获得所述音频文件的特征序列。
[0125] 按照本实施例所示例子,所述音频文件的特征序列可表示为note_value(i),该特征序列note_value(i)的长度为N,其中,i表示所述特征序列note_value(i)中各特征元素的索引,i为正整数且0<i≤N。
[0126] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0127] 请参见图8,为本发明实施例提供的一种定位单元的结构示意图;该定位单元105可包括:最大值计算单元1501、目标索引确定单元1502、时间属性确定单元1503、位置信息确定单元1504和副歌定位单元1505。
[0128] 最大值计算单元1501,用于对所述特征序列进行最大值计算,获得所述特征序列的最大值及所述至少最大值对应的目标特征元素的索引。
[0129] 所述最大值计算单元1501可以采用图4所示实施例中的公式(1),对所述特征序列note_value(i)进行最大值计算。
[0130] 目标索引确定单元1502,用于根据所述目标特征元素的索引,确定与所述目标特征元素的索引相对应的目标参考元素的索引。
[0131] 所述目标特征元素的索引为ind,即所述目标特征元素在所述特征序列note_value(i)中的索引为ind,所述目标索引确定单元1502可确定与所述目标特征元素的索引相对应的目标参考元素的索引也为ind,即所述目标参考元素在所述参考序列note(i)中的索引也为ind。
[0132] 时间属性确定单元1503,用于根据所述目标参考元素的索引,从所述参考序列中获得所述目标参考元素所包含音符的时间属性。
[0133] 所述时间属性确定单元1503可以首先从所述参考序列note(i)中定位索引为ind的目标参考元素aind,然后获取该目标参考元素aind所包含音符的时间属性。
[0134] 位置信息确定单元1504,用于采用所述目标参考元素所包含音符的时间属性,确定副歌的位置信息。
[0135] 所述位置信息确定单元1504可以采用图4所示实施例中的公式(2),将所述目标参考元素aind所包含音符的开始时间,确定为副歌的位置信息。
[0136] 副歌定位单元1505,用于根据所述副歌的位置信息,在所述音频文件中定位副歌。
[0137] 由于采用上述公式(2)可以获得副歌在所述音频文件中的位置信息,所述副歌定位单元1505可根据副歌的位置信息,在所述音频文件中查找到或定位出该副歌。
[0138] 请一并参见图9,为本发明实施例提供的一种副歌定位单元的结构示意图;该副歌定位单元1505可包括:归一化处理子单元1551和副歌定位子单元1552。
[0139] 归一化处理子单元1551,用于对所述副歌的位置信息进行归一化处理。
[0140] 所述归一化处理子单元1551可以根据实际需要,设置用于归一化处理的时间参数,例如:可以根据歌曲的特点,在区间[1s,20s]内随机选取m1和m2设置为用于归一化处理的时间参数,其中,m1和m2的取值可以相等,也可以不等。所述归一化处理子单元1551对所述副歌的位置信息进行归一化处理可以包括:将公式(2)计算获得的副歌的位置信息Pos归一化为[Pos-m1,Pos+m2]。
[0141] 副歌定位子单元1552,用于按照副歌的归一化的位置信息,在所述音频文件中定位副歌。
[0142] 所述副歌定位子单元1552可以将归一化的位置信息[Pos-m1,Pos+m2]作为该段副歌在所述音频文件中的持续时间段,从所述音频文件中定位该段副歌。
[0143] 需要说明的是,若所述音频文件存在多段副歌,图8所示实施例中的最大值计算单元1501可以获得至少一个最大值及每个最大值对应的目标特征元素的索引,本发明实施例中,针对每个最大值及对应的目标特征元素的索引,可以分别按照图8所示实施例所描述的所述定位单元105的各功能单元,在所述音频文件中分别定位各段副歌。
[0144] 本发明实施例中,可以基于音频文件对应的MIDI文件,构建所述音频文件的参考序列和特征序列,通过对所述参考序列和所述特征序列进行分析处理,可以定位所述音频文件的副歌,由于MIDI文件的数据量较小,基于MIDI文件的副歌定位可以减少计算负荷,提升音频处理的准确度,提升音频处理的智能性。
[0145] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0146] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。