一种音频处理方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及音频技术领域,具体涉及一种音频处理方法及装置。
背景技术
MIDI(Musical Instrument Digtal Interface,乐器数字接口)是一个工业标准的电子通信协议,MIDI传输诸如音符、控制参数等非声音信号的指令,用于指示MIDI设备的操作以及控制MIDI设备之间的交互。MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。音频文件对应的MIDI文件可以作为该音频文件的音准参考文件,当用户对音频文件进行重新演绎时,可以采用该音频文件对应的MIDI文件对重新演绎的内容进行音准比对,并可用于对重新演绎的内容进行评分。现有技术中音频文件对应的MIDI文件通常是由诸如音频文件的作曲者等音频制作人制作生成,人工制作需要消耗大量人力资源和时间效率,从而降低了音频处理的效率和智能性。
发明内容
本发明实施例提供一种音频处理方法及装置,可以自动化生成音频文件对应的MIDI文件,提升音频处理的效率,提升音频处理的智能性。
本发明实施例第一方面提供了一种音频处理方法,可包括:
获取待处理的音频文件及所述音频文件对应的字幕文件;
解析所述字幕文件,获得至少一个时间段,一个时间段用于描述所述字幕文件中的一个字符的播放时间;
按照所述至少一个时间段对所述音频文件进行划分处理,获得至少一个音频数据,一个时间段对应一个音频数据;
分析所述至少一个音频数据的音准信息;
根据所述至少一个时间段及所述至少一个音频数据的音准信息,生成所述音频文件对应的MIDI文件。
本发明实施例第二方面提供一种音频处理装置,可包括:
文件获取单元,用于获取待处理的音频文件及所述音频文件对应的字幕文件;
字幕解析单元,用于解析所述字幕文件,获得至少一个时间段,一个时间段用于描述所述字幕文件中的一个字符的播放时间;
音频解析单元,用于按照所述至少一个时间段对所述音频文件进行划分处理,获得至少一个音频数据,一个时间段对应一个音频数据;
音准分析单元,用于分析所述至少一个音频数据的音准信息;
文件生成单元,用于根据所述至少一个时间段及所述至少一个音频数据的音准信息,生成所述音频文件对应的MIDI文件。
实施本发明实施例,具有如下有益效果:
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种音频处理方法的流程图;
图2为本发明实施例提供的另一种音频处理方法的流程图;
图3为图2所示的步骤S208的实施例的流程图;
图4为本发明实施例提供的一种音频处理装置的结构示意图;
图5为本发明实施例提供的一种字幕解析单元的结构示意图;
图6为本发明实施例提供的一种音频解析单元的结构示意图;
图7为本发明实施例提供的一种音准分析单元的结构示意图;
图8为本发明实施例提供的一种频谱重心计算单元的结构示意图;
图9为本发明实施例提供的一种文件生成单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,音频文件可以包括但不限于:歌曲、歌曲片段、音乐、音乐片段、演奏乐、演奏乐片段、哼唱歌曲、哼唱歌曲片段等文件。所述音频文件对应的字幕文件可用于描述所述音频文件的演绎内容,所述字幕文件可以包括但不限于:歌词、歌词片段等文件。
一个字幕文件可包括至少一个字符以及各字符的时间属性描述文本。以歌曲A对应的字幕文件A’为例,字幕文件A’可表示如下:
[661,20]a1[681,60]a2[721,170]a3[891,200]a4[1091,70]a5[1161,180]a6[1341,20]a7[1361,50]a8
……
上述字幕文件A’中,诸如“a1”,“a2”,“a3”等即为所述字幕文件A’包括的字符,各字符之前的“[]”为各字符的时间属性描述文本,“[]”内包含的内容用于描述各字符的时间属性,其单位时间通常为ms。其中,字符的时间属性可包括:字符的开始播放时间和字符的结束播放时间。例如:上述[661,20]为字符“a1”的时间属性描述文本,其中的“661”表示字符“a1”的开始时间,“20”表示字符“a1”的持续时间,由“a1”的时间属性描述文本可知,字符“a1”的播放时间为时间段661ms~681ms,即字符“a1”从661ms开始播放,至681ms结束播放。
MIDI是一个工业标准的电子通信协议,MIDI传输诸如音符、控制参数等非声音信号的指令,用于指示MIDI设备的操作以及控制MIDI设备之间的交互。MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。音频文件对应的MIDI文件可以作为该音频文件的音准参考文件,当用户对音频文件进行重新演绎时,可以采用该音频文件对应的MIDI文件对重新演绎的内容进行音准比对,并可用于对重新演绎的内容进行评分。
基于上述描述,下面将结合附图1-附图3,对本发明实施例提供的音频处理方法进行详细介绍。需要说明的是,附图1-附图3所示的音频处理方法可以由本发明实施例提供的音频处理装置所执行,该音频处理装置可运行于终端设备或服务器中,其中,终端设备可包括但不限于:PC(Personal Computer,个人计算机)、PAD(平板电脑)、手机、智能手机、笔记本电脑等设备。
请参见图1,为本发明实施例提供的一种音频处理方法的流程图;该方法可包括以下步骤S101-步骤S105。
S101,获取待处理的音频文件及所述音频文件对应的字幕文件。
所述音频文件可以包括但不限于:歌曲、歌曲片段、音乐、音乐片段、演奏乐、演奏乐片段、哼唱歌曲、哼唱歌曲片段等文件。所述音频文件对应的字幕文件可用于描述所述音频文件的演绎内容,所述字幕文件可以包括但不限于:歌词、歌词片段等文件。本步骤中,可以从互联网音频库中获取待处理的音频文件及所述音频文件对应的字幕文件;或者,可以接收用户输入的待处理的音频文件及所述音频文件对应的字幕文件。
S102,解析所述字幕文件,获得至少一个时间段,一个时间段用于描述所述字幕文件中的一个字符的播放时间。
一个字幕文件包括至少一个字符,一个字符对应一个时间段,该时间段可用于描述该字符的播放时间。本步骤中,可以根据字幕文件的格式标准,解析所述字幕文件,获得至少一个时间段。
S103,按照所述至少一个时间段对所述音频文件进行划分处理,获得至少一个音频数据,一个时间段对应一个音频数据。
一个音频文件中的音频数据所演绎的内容可以通过一个字幕文件中的字符进行描述;一个字幕文件中的字符通过一个音频文件中的音频数据进行演绎。本步骤中,可以根据音频文件的格式标准解析所述音频文件,从所述音频文件中获得所述至少一个时间段内的音频数据;具体地,一个时间段对应一个音频数据。
S104,分析所述至少一个音频数据的音准信息。
音频数据的音准,指该音频数据所演绎的音调能够与预设律制的音调相符。音频数据的音准信息,指用于描述该音频数据所演绎的,能够与预设律制的音调相符的音调信息。本发明实施例中,可以采用音频数据的MIDI值表示所述音频数据的音准信息。本步骤中,通过对所述至少一个音频数据进行分析,可以获得各音频数据的MIDI值。
S105,根据所述至少一个时间段及所述至少一个音频数据的音准信息,生成所述音频文件对应的MIDI文件。
一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。本步骤中,可构建所述音频文件对应的MIDI文件,该MIDI文件包括至少一个音符,各音符的时间属性可以由所述至少一个时间段确定。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图2,为本发明实施例提供的另一种音频处理方法的流程图;该方法可包括以下步骤S201-步骤S213。
S201,获取待处理的音频文件及所述音频文件对应的字幕文件。
所述音频文件可以包括但不限于:歌曲、歌曲片段、音乐、音乐片段、演奏乐、演奏乐片段、哼唱歌曲、哼唱歌曲片段等文件。所述音频文件对应的字幕文件可用于描述所述音频文件的演绎内容,所述字幕文件可以包括但不限于:歌词、歌词片段等文件。本步骤中,可以从互联网音频库中获取待处理的音频文件及所述音频文件对应的字幕文件;或者,可以接收用户输入的待处理的音频文件及所述音频文件对应的字幕文件。
S202,解析所述字幕文件,获得所述字幕文件包括的至少一个字符中各字符的时间属性描述文本。
一个字幕文件可包括至少一个字符以及各字符的时间属性描述文本。一个字符的时间属性描述文本可用于描述该字符的时间属性,该字符的时间属性可包括:该字符的开始播放时间和该字符的结束播放时间。本步骤中,可以根据字幕文件的格式标准,解析所述字幕文件,获得至少一个字符中各字符的时间属性描述文本。
S203,按照各字符在所述字幕文件中的播放顺序,依次从各字符的时间属性描述文本读取各字符的播放时间,获得至少一个时间段。
以上述字幕文件A’为例,假设所述字幕文件A’所包括的至少一个字符的数量为P(P为正整数),该P个字符可分别表示为a1…aP。按照各字符在所述字幕文件中的播放顺序,依次读取所述各字符的时间属性描述文本所描述的各字符的播放时间,本步骤可获得至少一个时间段,该至少一个时间段的数量也为P。例如:可依次读取字符“a1”对应的时间段t1为[661ms~681ms],字符“a2”对应的时间段t2为[681ms~741ms],以此类推,可读取字符“aP”对应的时间段tP。
本实施例的步骤S202-步骤S203可以为图1所示实施例的步骤S102的具体细化步骤。
S204,按照所述至少一个时间段对所述音频文件进行划分处理,获得与各时间段对应的音频片段。
按照本实施例所示例子,本步骤中,首先需要按照P个时间段t1…tP,对所述音频文件进行划分处理,将所述音频文件划分为多个音频片段;其次,可以从划分获得的多个音频片段中获得P个时间段t1…tP分别对应的音频片段,即获得时间段t1对应的音频片段一,时间段t2对应的音频片段二,以此类推,时间段tP对应的音频片段P。
S205,分别提取各时间段对应的音频片段中的音频数据,获得至少一个音频数据。
分别提取各时间段对应的音频片段中的音频数据,提取音频片段一中的音频数据一,提取音频片段二中的音频数据二,以此类推,提取音频片段P中的音频数据P。
本实施例的步骤S204-步骤S205可以为图1所示实施例的步骤S103的具体细化步骤。
S206,依次从所述至少一个音频数据中选取一个音频数据确定为目标音频数据。
按照本实施例所示例子,本实施例需要依次选取音频数据一至音频数据P作为目标音频数据进行后续的分析处理。具体地,所选取的目标音频数据可以表示为x(n),其中n为整数,假设所述目标音频数据的时间长度为N,则0≤n<N。
S207,按照预设时间长度对所述目标音频数据进行分帧处理,获得至少一帧音频帧。
所述预设时间长度可以根据实际需要进行设定,所述预设时间长度可以表示为T,且0≤T≤N。本步骤中,假设按照所述预设时间长度T对所述目标音频数据x(n)进行分帧处理后,获得的至少一帧音频帧的数量为FN,FN可采用下述公式(1)计算获得,该公式(1)可表示如下:
FN=N/T (1)
可以理解的是,所述目标音频数据x(n)包括的FN帧音频帧中,每一帧音频帧的时间长度均为T。
S208,计算所述目标音频数据的各音频帧的频谱重心。
本步骤中,需要对FN帧音频帧中每一帧音频帧的频谱重心进行计算。
具体实现中,请一并参见图3,为图2所示的步骤S208的实施例的流程图;该步骤S208可包括以下步骤s3001-步骤s3006。
s3001,依次从所述目标音频数据的至少一帧音频帧选取一帧音频帧确定为目标音频帧。
按照本实施例所示例子,本实施例需要依次选取FN帧音频帧中每一帧音频帧作为目标音频帧进行频谱重心的计算。所选取的目标音频帧可以表示为y(i),其中i为整数,且0≤i<T;i代表所述目标音频帧y(i)在所述目标音频数据中的顺序,即代表所述目标音频帧y(i)在所述FN帧音频帧中的顺序。
s3002,采用傅里叶变换算法对所述目标音频帧进行变换处理。
s3003,对变换处理后的目标音频帧进行求模运算,获得参考数据。
步骤s3002进行变换处理后的目标音频帧可表示为fft(y(i)),其中,fft()代表傅里叶变换运算。步骤s3003中,所述参考数据可表示为fdata,所述参考数据fdata可采用下述公式(2)获得;该公式(2)可表示如下:
fdata=abs(fft(y(i))) (2)
上述公式(2)中,abs()代表求模运算。
s3004,按照所述预设时间长度对所述参考数据进行归整处理。
归整处理的目的是使所述参考数据fdata的时间长度调整为所述预设时间长度T。具体地,若所述参考数据的时间长度fdata小于所述预设时间长度T,则可在所述参数数据fdata的末尾添加零,使其时间长度调整为T;若所述参考数据的时间长度fdata小于所述预设时间长度T,则可从所述参数数据fdata的末尾开始删除数据,使其时间长度调整为T。
s3005,从归整处理后的参数数据中选取计算因子。
本步骤中,可以从所述参数数据fdata中选取前T/2时间长度的数据确定为计算因子,该计算因子可表示为fndata。
s3006,采用频谱重心算法对所述计算因子进行运算,获得所述目标音频帧的频谱重心。
本步骤中,可采用下述公式(3),计算所述目标音频帧y(i)的频谱重心,该公式(3)可表示为:
上述公式(3)中,r代表目标音频帧y(i)的频谱重心。
经过图3所示的步骤s3001-步骤s3006,可以获得所述目标音频数据的每一帧音频帧的频谱重心,即可总共获得FN个频谱重心,该FN个频谱重心可表示为rj,其中j为整数,且0≤j<FN。
S209,根据所述目标音频数据的各音频帧的频谱重心,计算所述目标音频数据的频谱均值。
本步骤中,可采用下述公式(4),计算所述目标音频数据x(n)的频谱均值,该公式(4)可表示为:
rm=mean(rj) (4)
上述公式(4)中,rm代表目标音频数据x(n)的频谱均值,mean()代表求均值运算。
S210,对所述目标音频数据的频谱均值进行归一化处理,获得用于描述所述目标音频数据的音准信息的MIDI值。
本步骤中,可以根据实际需要设定预设数值,例如:可以根据诸如歌曲、歌曲片段等音频文件的特点,设定预设数值。采用所述预设数值对所述目标音频数据的频谱均值进行归一化处理。所述预设数值可表示为q,则所述目标音频数据x(n)的MIDI值可采用下述公式(5)进行计算,该公式(5)可表示为:
m=rm*q (5)
上述公式(5)中,m代表目标音频数据的MIDI值。
经过步骤S206-步骤S210,可以获得所述至少一个音频数据的每一个音频数据的MIDI值。
本实施例的步骤S206-步骤S210可以为图1所示实施例的步骤S104的具体细化步骤。
S211,将所述至少一个音频数据的MIDI值确定为至少一个音符的特征值。
音符是指用来记录长短音的符号。其中,音符的特征值可用于表示音符的音调特征,一般地,音符的特征值的取值范围为[21,108],音符的特征值越大,表示该音符的音调越高;音符的特征值越小,表示该音符的音调越低。本步骤中,可以将一个音频数据的MIDI值确定为一个音符的特征值,那么,所述至少一个音频数据的MIDI值,则可以确定至少一个音符的特征值。
S212,将所述至少一个时间段确定为所述至少一个音符的时间属性。
音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。本步骤中,可以将一个时间段确定为一个音符的时间属性,那么,所述至少一个时间段,则可以确定至少一个音符的时间属性。
S213,按照所述至少一个时间段的先后顺序,将所述至少一个音符、所述至少一个音符的特征值及所述至少一个音符的时间属性构建为所述音频文件对应的MIDI文件。
一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。本步骤中,可构建所述音频文件对应的MIDI文件,该MIDI文件中包括至少一个音符,各音符的时间属性可以由所述至少一个时间段确定,各音符的特征值可以由所述至少一个音频数据的音准信息确定。
本实施例的步骤S211-步骤S213可以为图1所示实施例的步骤S105的具体细化步骤。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
下面将结合附图4-附图9,对本发明实施例提供的音频处理装置进行详细介绍。需要说明的是,附图4-附图9所示的音频处理装置可运行于终端设备或服务器中,用于执行附图1-附图3所示的音频处理方法。其中,终端设备可包括但不限于:PC、PAD、手机、智能手机、笔记本电脑等设备。
请参见图4,为本发明实施例提供的一种音频处理装置的结构示意图;该装置可包括:文件获取单元101、字幕解析单元102、音频解析单元103、音准分析单元104和文件生成单元105。
文件获取单元101,用于获取待处理的音频文件及所述音频文件对应的字幕文件。
所述音频文件可以包括但不限于:歌曲、歌曲片段、音乐、音乐片段、演奏乐、演奏乐片段、哼唱歌曲、哼唱歌曲片段等文件。所述音频文件对应的字幕文件可用于描述所述音频文件的演绎内容,所述字幕文件可以包括但不限于:歌词、歌词片段等文件。所述文件获取单元101可以从互联网音频库中获取待处理的音频文件及所述音频文件对应的字幕文件;或者,可以接收用户输入的待处理的音频文件及所述音频文件对应的字幕文件。
字幕解析单元102,用于解析所述字幕文件,获得至少一个时间段,一个时间段用于描述所述字幕文件中的一个字符的播放时间。
一个字幕文件包括至少一个字符,一个字符对应一个时间段,该时间段可用于描述该字符的播放时间。所述字幕解析单元102可以根据字幕文件的格式标准,解析所述字幕文件,获得至少一个时间段。
音频解析单元103,用于按照所述至少一个时间段对所述音频文件进行划分处理,获得至少一个音频数据,一个时间段对应一个音频数据。
一个音频文件中的音频数据所演绎的内容可以通过一个字幕文件中的字符进行描述;一个字幕文件中的字符通过一个音频文件中的音频数据进行演绎。所述音频解析单元103可以根据音频文件的格式标准解析所述音频文件,从所述音频文件中获得所述至少一个时间段内的音频数据;具体地,一个时间段对应一个音频数据。
音准分析单元104,用于分析所述至少一个音频数据的音准信息。
音频数据的音准,指该音频数据所演绎的音调能够与预设律制的音调相符。音频数据的音准信息,指用于描述该音频数据所演绎的,能够与预设律制的音调相符的音调信息。本发明实施例中,可以采用音频数据的MIDI值表示所述音频数据的音准信息。所述音准分析单元104通过对所述至少一个音频数据进行分析,可以获得各音频数据的MIDI值。
文件生成单元105,用于根据所述至少一个时间段及所述至少一个音频数据的音准信息,生成所述音频文件对应的MIDI文件。
一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。所述文件生成单元105可构建所述音频文件对应的MIDI文件,该MIDI文件包括至少一个音符,各音符的时间属性可以由所述至少一个时间段确定。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图5,为本发明实施例提供的一种字幕解析单元的结构示意图;该字幕解析单元102可包括:描述文件解析单元1201和时间读取单元1202。
描述文本解析单元1201,用于解析所述字幕文件,获得所述字幕文件包括的至少一个字符中各字符的时间属性描述文本。
一个字幕文件可包括至少一个字符以及各字符的时间属性描述文本。一个字符的时间属性描述文本可用于描述该字符的时间属性,该字符的时间属性可包括:该字符的开始播放时间和该字符的结束播放时间。所述描述文本解析单元1201可以根据字幕文件的格式标准,解析所述字幕文件,获得至少一个字符中各字符的时间属性描述文本。
时间读取单元1202,用于按照各字符在所述字幕文件中的播放顺序,依次从各字符的时间属性描述文本读取各字符的播放时间,获得至少一个时间段。
以上述字幕文件A’为例,假设所述字幕文件A’所包括的至少一个字符的数量为P(P为正整数),该P个字符可分别表示为a1…aP。按照各字符在所述字幕文件中的播放顺序,依次读取所述各字符的时间属性描述文本所描述的各字符的播放时间,所述时间读取单元1202可获得至少一个时间段,该至少一个时间段的数量也为P。例如:可依次读取字符“a1”对应的时间段t1为[661ms~681ms],字符“a2”对应的时间段t2为[681ms~741ms],以此类推,可读取字符“aP”对应的时间段tP。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图6,为本发明实施例提供的一种音频解析单元的结构示意图;该音频解析单元103可包括:划分处理单元1301和音频数据提取单元1302。
划分处理单元1301,用于按照所述至少一个时间段对所述音频文件进行划分处理,获得与各时间段对应的音频片段。
按照图5所示实施例的例子,所述划分处理单元1301首先需要按照P个时间段t1…tP,对所述音频文件进行划分处理,将所述音频文件划分为多个音频片段;其次,可以从划分获得的多个音频片段中获得P个时间段t1…tP分别对应的音频片段,即获得时间段t1对应的音频片段一,时间段t2对应的音频片段二,以此类推,时间段tP对应的音频片段P。
音频数据提取单元1302,用于分别提取各时间段对应的音频片段中的音频数据,获得至少一个音频数据。
分别提取各时间段对应的音频片段中的音频数据,提取音频片段一中的音频数据一,提取音频片段二中的音频数据二,以此类推,提取音频片段P中的音频数据P。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图7,为本发明实施例提供的一种音准分析单元的结构示意图;该音准分析单元104可包括:目标音频数据选取单元1401、分帧处理单元1402、频谱重心计算单元1403、均值计算单元1404和归一化处理单元1405。
目标音频数据选取单元1401,用于依次从所述至少一个音频数据中选取一个音频数据确定为目标音频数据。
按照图5-图6所示实施例的例子,本实施例需要依次选取音频数据一至音频数据P作为目标音频数据进行后续的分析处理。具体地,所选取的目标音频数据可以表示为x(n),其中n为整数,假设所述目标音频数据的时间长度为N,则0≤n<N。
分帧处理单元1402,用于按照预设时间长度对所述目标音频数据进行分帧处理,获得至少一帧音频帧。
所述预设时间长度可以根据实际需要进行设定,所述预设时间长度可以表示为T,且0≤T≤N。假设按照所述预设时间长度T对所述目标音频数据x(n)进行分帧处理后,获得的至少一帧音频帧的数量为FN,FN可采用图2所示实施例中的公式(1)计算获得。可以理解的是,所述目标音频数据x(n)包括的FN帧音频帧中,每一帧音频帧的时间长度均为T。
频谱重心计算单元1403,用于计算所述目标音频数据的各音频帧的频谱重心。
所述频谱重心计算单元1403需要对FN帧音频帧中每一帧音频帧的频谱重心进行计算。
均值计算单元1404,用于根据所述目标音频数据的各音频帧的频谱重心,计算所述目标音频数据的频谱均值。
所述均值计算单元1404可采用图2所示实施例中的公式(4),计算所述目标音频数据x(n)的频谱均值。
归一化处理单元1405,用于对所述目标音频数据的频谱均值进行归一化处理,获得用于描述所述目标音频数据的音准信息的MIDI值。
所述归一化处理单元1405可以根据实际需要设定预设数值,例如:可以根据诸如歌曲、歌曲片段等音频文件的特点,设定预设数值。采用所述预设数值对所述目标音频数据的频谱均值进行归一化处理。所述预设数值可表示为q,则所述目标音频数据x(n)的MIDI值可图2所示实施例中的公式(5)进行计算。
经过本实施例描述的所述音准分析单元包括的各功能单元,可以获得所述至少一个音频数据的每一个音频数据的MIDI值。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图8,为本发明实施例提供的一种频谱重心计算单元的结构示意图;该频谱重心计算单元1403可包括:目标音频帧选取单元1431、变换处理单元1432、求模运算单元1433、归整处理单元1434、计算因子选取单元1435和运算单元1436。
目标音频帧选取单元1431,用于依次从所述目标音频数据的至少一帧音频帧选取一帧音频帧确定为目标音频帧。
按照图5-图7所示实施例的例子,本实施例需要依次选取FN帧音频帧中每一帧音频帧作为目标音频帧进行频谱重心的计算。所选取的目标音频帧可以表示为y(i),其中i为整数,且0≤i<T;i代表所述目标音频帧y(i)在所述目标音频数据中的顺序,即代表所述目标音频帧y(i)在所述FN帧音频帧中的顺序。
变换处理单元1432,用于采用傅里叶变换算法对所述目标音频帧进行变换处理。
求模运算单元1433,用于对变换处理后的目标音频帧进行求模运算,获得参考数据。
进行变换处理后的目标音频帧可表示为fft(y(i)),其中,fft()代表傅里叶变换运算。所述参考数据可表示为fdata,所述参考数据fdata可采用图3所示实施例的公式(2)获得。
归整处理单元1434,用于按照所述预设时间长度对所述参考数据进行归整处理。
归整处理的目的是使所述参考数据fdata的时间长度调整为所述预设时间长度T。具体地,若所述参考数据的时间长度fdata小于所述预设时间长度T,则可在所述参数数据fdata的末尾添加零,使其时间长度调整为T;若所述参考数据的时间长度fdata小于所述预设时间长度T,则可从所述参数数据fdata的末尾开始删除数据,使其时间长度调整为T。
计算因子选取单元1435,用于从归整处理后的参数数据中选取计算因子。
所述计算因子选取单元1435可以从所述参数数据fdata中选取前T/2时间长度的数据确定为计算因子,该计算因子可表示为fndata。
运算单元1436,用于采用频谱重心算法对所述计算因子进行运算,获得所述目标音频帧的频谱重心。
所述运算单元1436可采用图3所示实施例中的公式(3),计算所述目标音频帧y(i)的频谱重心。
经过本实施例所示的频谱重心计算单元所包括的各功能单元,可以获得所述目标音频数据的每一帧音频帧的频谱重心,即可总共获得FN个频谱重心,该FN个频谱重心可表示为rj,其中j为整数,且0≤j<FN。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
请参见图9,为本发明实施例提供的一种文件生成单元的结构示意图;该文件生成单元105可包括:特征确定单元1501、时间确定单元1502和MIDI文件生成单元1503。
特征确定单元1501,用于将所述至少一个音频数据的MIDI值确定为至少一个音符的特征值。
音符是指用来记录长短音的符号。其中,音符的特征值可用于表示音符的音调特征,一般地,音符的特征值的取值范围为[21,108],音符的特征值越大,表示该音符的音调越高;音符的特征值越小,表示该音符的音调越低。所述特征确定单元1501可以将一个音频数据的MIDI值确定为一个音符的特征值,那么,所述至少一个音频数据的MIDI值,则可以确定至少一个音符的特征值。
时间确定单元1502,用于将所述至少一个时间段确定为所述至少一个音符的时间属性。
音符的时间属性可用于描述音符的持续时间,音符的时间属性可包括:音符的开始时间和音符的结束时间。所述时间确定单元1502可以将一个时间段确定为一个音符的时间属性,那么,所述至少一个时间段,则可以确定至少一个音符的时间属性。
MIDI文件生成单元1503,用于按照所述至少一个时间段的先后顺序,将所述至少一个音符、所述至少一个音符的特征值及所述至少一个音符的时间属性构建为所述音频文件对应的MIDI文件。
一个MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、代表音符的音调特征的特征值等信息。所述MIDI文件生成单元1503可构建所述音频文件对应的MIDI文件,该MIDI文件中包括至少一个音符,各音符的时间属性可以由所述至少一个时间段确定,各音符的特征值可以由所述至少一个音频数据的音准信息确定。
本发明实施例中,通过对音频文件以及音频文件对应的字幕文件进行解析,获得至少一个时间段和至少一个音频数据,通过对所述至少一个音频数据进行音准信息的分析,并结合至少一个时间段生成所述音频文件对应的MIDI文件;由于无需人工制作MIDI文件,有效地节省了音频处理所消耗的人力资源和时间资源,提升音频处理的效率,提升音频处理的智能性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。