一种音频处理方法、装置、设备及介质与流程
本申请涉及计算机技术领域,特别涉及一种音频处理方法、装置、设备、介质。
背景技术:
在使用k歌类软件进行k歌时,很多情况下会存在获取到的录音数据和伴奏数据对不齐的情况,包括前置对不齐和中间对不齐的情况,前置对不齐是指用户保存的歌曲音频作品,从头开始播放,录音和伴奏便对不齐的现象。中间对不齐是指用户保存的歌曲音频作品,从头开始播放时,录音和伴奏是对齐的,但是播放到某一时刻,出现了录音和伴奏对不齐,或者从头开始播放,录音和伴奏少许对不齐,但是播放到某一时刻,出现了录音和伴奏越来越对不齐的现象。
为解决以上问题,现有的方法为将录音音频与伴奏音频混合后,与原唱音频做比对,并找到与原唱音频相似度最高的偏移量,通过确定出的偏移量对录音音频和伴奏进行对齐。在实现本发明的过程中,发明人发现以上现有技术中至少存在如下问题,其一,在找到与原唱音频相似度最高的偏移量的过程中需要进行大量的计算,耗时较长,对设备性能要求较高。其二,需要有对应的原唱才能进行录音音频和伴奏音频的对齐。
技术实现要素:
有鉴于此,本申请的目的在于提供一种音频处理方法、装置、设备、介质,能够将录音音频和伴奏音频对齐,且不需要伴奏对应的原唱,且计算量小,耗时较短,对设备性能要求较低。其具体方案如下:
为实现上述目的,第一方面,提供了一种音频处理方法,包括:
确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值;
确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值;
根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
可选地,所述根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐,包括:
确定所述第一平均值和所述第二平均值之间的差值;
判断所述差值是否大于或等于预设值;
如果所述差值大于或等于预设值,则对所述录音音频和所述伴奏音频进行对齐。
可选地,所述对所述录音音频和所述伴奏音频进行对齐,包括:
在歌词切换间隔对所述录音音频和所述伴奏音频进行对齐。
可选地,所述音频处理方法,还包括:
根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差;
根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐。
可选地,所述根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差之前,还包括:
确定不同类型的设备、和/或不同类型的系统、和/或不同类型的录制方式对应的标准时间偏差,得到所述标准时间偏差集合。
可选地,所述确定不同类型的设备对应的标准时间偏差,包括:
利用不同类型的设备录制参考伴奏音频对应的参考录音音频;
确定出所述参考伴奏音频和所述参考录音音频的第一类时间进度差值集合对应的参考平均值;
根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值;
根据所述参考平均值和所述参考时间偏差值确定所述标准时间偏差值。
可选地,所述根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值,包括:
确定所述第一频谱数据中预设频谱特征数据对应的第一时间;
确定所述第二频谱数据中所述预设频谱特征数据对应的第二时间;
将所述第一时间和所述第二时间之间的差值作为所述参考时间偏差值。
第二方面,提供了一种音频处理装置,包括:
第一信息确定模块,用于确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值;
第二信息确定模块,用于确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值;
对齐模块,用于根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
第三方面,提供了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的音频处理方法。
第四方面,提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的音频处理方法。
在本申请中,先确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,然后确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值,接着便可以根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。由此可见,本申请需要先确定当前的录音音频帧的录制进度时刻和伴奏音频帧的播放进度时刻,并根据所述录制进度时刻和所述伴奏进度时刻确定时间进度差值,然后录音开始之后最先确定出的连续的预设数量个时间进度差值作为第一类时间进度差值集合,所述第一类时间进度差值之后每次确定出连续的预设数量个时间进度差值便作为第二类时间进度差值集合,相应的便可以确定出所述第一类时间进度差值集合对应的第一平均值和所述第二类时间进度差值集合对应的第二平均值,然后便可以根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐,这样只需要进行简单计算,耗时较短,且对录音设备性能要求较低,此外,根据录制音频和伴奏音频的时间进度差值进行录制音频和播放音频的对齐,所以不需要和原唱进行比对,也即在伴奏音频没有对应的原唱时也可以进行录制音频和伴奏音频对齐。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的音频处理方案所适用的系统框架示意图;
图2为本申请公开的一种音频处理方法流程图;
图3为本申请公开的一种具体的音频处理方法流程图;
图4为本申请公开的一种音频处理装置结构示意图;
图5为本申请公开的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,将录制音频和伴奏音频进行对齐的方法主要是,将录制音频和伴奏音频混合后,与原唱音频进行比对,找到与原唱音频相似度最高的偏移量,根据所述偏移量对录制音频数据进行对齐,这样可能会由于确定所述偏移量过程中的计算量大,造成耗时较长,且对设备的要求较高,此外,还需要有对应的原唱歌曲才能进行录音音频和伴奏音频的对齐。
为了便于理解,先对本申请的音频处理方法所适用的系统框架进行介绍。可以理解的是,本申请实施例中并不对计算机设备的数量进行限定,其可以是多个计算机设备共同协作完成音频处理功能。
在一种可能的情况中,请参考图1。由图1可知,该硬件组成框架可以包括:第一计算机设备101、第二计算机设备102。第一计算机设备101与第二计算机设备102之间通过网络103实现通信连接。
在本申请实施例中,在此不具体限定第一计算机设备101与第二计算机设备102的硬件结构,第一计算机设备101与第二计算机设备102两者进行数据交互,实现音频处理功能。进一步,本申请实施例中并不对网络103的形式进行限定,如,网络103可以是无线网络(如wifi、蓝牙等),也可以是有线网络。
其中,第一计算机设备101和第二计算机设备102可以是不同类型的计算机设备,如,第一计算机设备101可以是终端或智能电子设备,第二计算机设备102可以服务器。在又一种可能的情况中,可以利用计算能力强的服务器作为第二计算机设备102来提高数据处理效率及可靠性,进而提高音频处理效率。同时利用成本低、应用范围广的终端或智能电子设备作为第一计算机设备101,用于实现第二计算机设备102与用户之间的交互。
具体的,所述第一计算机设备101可以是智能电子设备,所述第一计算机设备101播放伴奏音频并录制伴奏音频对应的录音音频,将录制音频发送到所述第二计算机设备102中,由所述第二计算机设备102对所述伴奏音频和所述录制音频进行对齐,并将对齐后混合音频发送回所述第一计算机设备101。
参见图2所示,本申请实施例公开了一种音频处理方法,该方法包括:
步骤s11:确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值。
在实际过程中,一般认为录音相对于伴奏的偏差一般超过50ms时,人耳才会分辨出来。录音和伴奏不一致问题,不管是录音比伴奏提前,还是延后,其评判标准都是相对伴奏而言的,也就是说,伴奏是一个标准,录音需要与伴奏进行对齐。影响录音和伴奏对不起的因素主要包括:启动音频播放延迟、启动音频录制延迟、音频输出延迟、音频输入延迟、音频播放线程卡顿、音频录制线程卡顿、录制过程中有进行暂停恢复操作等。
所以在将录音音频和伴奏音频进对齐时,可以先确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,其中,录音音频可能会包括人声和环境音。
在第一种具体的实施方式中,可以每次从系统的录制缓冲区中读取出一帧或连续的多帧录音音频时,确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述伴奏进度时刻确定当前的时间进度差值。
在第二种具体的实施方式中,可以每次向系统的播放缓冲区中写入一帧或连续的多帧伴奏音频时,确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述伴奏进度时刻确定当前的时间进度差值。
在第三种具体的实施方式中,可以每隔第一预设自然时长,确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述伴奏进度时刻确定当前的时间进度差值。自然时间也即点击录制开始之后,伴奏音频播放的时间。例如,所以第一预设自然时长可以为100ms。
其中,确定当前的录音音频对应的录制进度时刻,具体可以包括:开始录歌后,持续从系统的录制缓冲区中读取声音数据,当前的录音音频帧对应的录制进度时刻a为:
其中,a表示当前的录音音频帧对应的录制进度时刻,单位为毫秒;sl表示当前已经录制的录音音频长度,单位为字节;t表示当前的声道数;w表示当前的采样位深;f表示当前的采样频率,单位为hz。
其中,确定当前的伴奏音频帧对应的播放进度时刻,具体可以包括:伴奏开始播放后,持续的解码伴奏文件,持续的写入系统的音频播放器的缓冲区内。当前伴奏音频帧的播放进度时刻可取当前伴奏文件的解码进度,单位为毫秒。
确定出所述录制进度时刻和所述播放进度时刻之后,还需要相应的根据所述录制进度时刻和所述播放进度时刻确定所述时间进度差值,也即,确定所述录制进度时刻和所述播放进度时刻之间的差值,将所述录制进度时刻和所述播放进度时刻之间的差值作为所述时间进度差值。所述时间进度差值可以表明录制进度和播放进度之间的差。例如,当所述录制进度时刻为a1,所述播放进度时刻为b1,则所述时间进度差值c1可以为:c1=a1-b1。其中,所述时间进度差值c1可以为正值,也可以为负值。
步骤s12:确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值。
在具体的过程中,需要确定第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值,所述预设数量可以根据实际情况确定,通常所述预设数量可以大于100。也即,所述第一类时间进度差值之后确定出的时间进度差值集合都称为第二类时间进度差值集合,随着录制时间进度和播放时间进度不同,所述第二类时间进度差值集合也会不相同。
具体地,可以在录音开始之后,每次从所述录制缓冲区中读取出一帧录音音频时,确定当前的录音音频帧对应的录制进度时刻和播放进度时刻,相应地,便可以根据所述录制进度时刻和所述播放时刻进度确定出当前的时间进度差值,连续计算预设数量次,得到时间进度差值集合,将录音开始之后最先确定出的连续预设数量个时间进度差值作为所述第一类时间进度差值集合,确定所述第一类时间进度差值集合之后,每次确定出连续的预设数量个时间进度差值都确定为一个第二类时间进度差值集合。也即,所述第二类时间进度差值包括多组时间进度差值集合。
例如,当所述预设数量为100时,在录音开始之后,每次从所述录制缓冲区中读取出一帧录音音频时,确定当前的录音音频帧对应的录制进度时刻和播放进度时刻,相应地,根据所述录制进度时刻和所述播放时刻进度确定出当前地时间进度差值,连续计算出最先的100个时间进度差值时,将这100个时间进度差值作为第一类时间进度差值集合,确定出所述第一类时间进度差值集合对应的第一平均值。例如,当第1次计算出的时间进度差值为c1,第2次计算出的时间进度差值为c2,第3次计算出的时间进度差值为c3,第100次计算出的时间进度差值为c100,则所述第一平均值为avg(c)1=(c1+c2+c3+...c100)/100。
然后在计算出第101到第200个时间进度差值,将第101到第200个时间进度差值确定为第二类时间进度差值集合,并确定出第101到第200个时间进度差值的平均值作为此时的第二平均值。例如,当第101次计算出的时间进度差值为c101,第102次计算出的时间进度差值为c102,第103次计算出的时间进度差值为c103,则第200次计算出的时间进度差值为c200,则此时第二平均值为avg(c)2=(c101+c102+c103+...c200)/100。
再计算出第201到第300个时间进度差值,将第201到第300个时间进度差值确定为第二类时间进度差值集合,并确定出第201到第300个时间进度差值的平均值作为此时的第二平均值。例如,当第201次计算出的时间进度差值为c201,第202次计算出的时间进度差值为c202,第203次计算出的时间进度差值为c203,则第300次计算出的时间进度差值为c300,则此时第二平均值为avg(c)3=(c201+c202+c203+...c300)/100。以此类推,直到录音完毕。
在实际应用中,也可以是计算第二预设自然时长的时间进度差值之后,将这段时间之内计算得到的多个时间进度差值作为对应的时间进度差值集合。例如,所述第二预设自然时长可以为5s。
步骤s13:根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
可以理解的是,在确定出所述第一平均值和所述第二平均值之后,还需要根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
具体的,可以先确定所述第一平均值和所述第二平均值之间的差值;判断所述差值是否大于或等于预设值;如果所述差值大于或等于预设值,则对所述录音音频和所述伴奏音频进行对齐。所述差值大于或等于预设值为差的大小大于或等于预设值。
也即,可以以第一类时间进度差值集合的第一平均值为参考进行后续对齐。当所述第二平均值为前述的avg(c)2时,可以先确定avg(c)2和avg(c)1之间的差值,如果avg(c)2和avg(c)1之间的差值小于预设值,可以认为到目前为止录音音频和伴奏音频是对齐的,不需要再进行对齐操作。如果avg(c)2和avg(c)1之间的差值大于或等于预设值,则需要对录音音频据和伴奏音频进行对齐。其中,所述预设值可以为10毫秒。
当所述第二平均值为前述的avg(c)3时,可以先确定avg(c)3和avg(c)1之间的差值,如果avg(c)3和avg(c)1之间的差值小于预设值,可以认为到目前为止录音音频和伴奏音频是对齐的,不需要再进行对齐操作。如果avg(c)3和avg(c)1之间的差值大于或等于预设值,则需要对录音音频和伴奏音频进行对齐。
当将所述第一平均值作为减数,所述第二平均值作为被减数时,如果所述差值为正数,且大于或等于所述预设值,则需要当录音数据和伴奏数据进行对齐。如果所述差值为负数,且所述差值的绝对值大于或等于所述预设值,也需要当录音数据和伴奏数据进行对齐。
其中,所述对所述录音音频和所述伴奏音频进行对齐,包括:在歌词切换间隔对所述录音音频和所述伴奏音频进行对齐。也即,需要对齐的时候,需要在歌词切换间隔对所述录音音频和所述伴奏音频进行对齐。
例如,预设值为10毫秒,当所述第二平均值为avg(c)2时,可以先确定avg(c)2和avg(c)1之间的差值为:avg(c)2-avg(c)1=15ms,则表示录音音频相比伴奏音频来说多录了15毫秒,所以需要进行录音音频和伴奏音频的对齐。判断此时是否为歌词切换间隔,如果不为歌词间隔,则等到出现歌词切换间隔时,将歌词切换间隔处录制到的录音音频删除15毫秒,以进行录音数据和伴奏数据的对齐。
例如,预设值为10毫秒,当所述第二平均值为avg(c)2时,可以先确定avg(c)2和avg(c)1之间的差值为:avg(c)2-avg(c)1=-15ms,则表示录音音频相比伴奏音频来说少录了15毫秒,所以需要进行录音音频和伴奏音频的对齐。判断此时是否为歌词切换间隔,如果不为歌词间隔,则等到出现歌词切换间隔时,将歌词切换间隔处补充15毫秒的音频数据,以进行录音音频和伴奏音频的对齐。其中,补充的音频数据可以是静音。
这样在歌词切换间隔进行录音音频和伴奏音频的对齐,使得在歌词中间不会出现由于多补充一段静音之后或删除一段录音数据之后导致的录音音频中的歌声不连续问题,提升了用户体验。
根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐,具体可以为将所述第一平均值作为参考对第二平均值对应的伴奏音频和录音音频进行对齐,也即,进行伴奏和录音的中间对齐。
在本申请中,先确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,然后确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值,接着便可以根据第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。由此可见,本申请需要先确定当前的录音音频帧的录制进度时刻和伴奏音频帧的播放进度时刻,然后根据所述录制进度时刻和所述伴奏进度时刻确定时间进度差值,然后录音开始之后最先确定出的连续的预设数量个时间进度差值作为第一类时间进度差值集合,所述第一类时间进度差值之后每次确定出连续的预设数量个时间进度差值便作为第二类时间进度差值集合,相应的便可以确定出所述第一类时间进度差值集合对应的第一平均值和所述第二类时间进度差值集合对应的第二平均值,然后便可以根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐,这样只需要进行简单计算,耗时较短,且对录音设备性能要求较低,此外,根据录制音频和伴奏音频的时间进度差值进行录制音频和播放音频的对齐,所以不需要和原唱进行比对,也即在伴奏音频没有对应的原唱时也可以进行录制音频和伴奏音频对齐。
参见图3所示,本申请实施例公开了一种具体的音频处理方法,该方法包括:
步骤s21:确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值。
步骤s22:确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值。
步骤s23:根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
步骤s21至步骤s23的具体实施过程可以参考前述实施例中公开的内容,在此不再进行赘述。
步骤s24:根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差。
在根据所述第一平均值和所述第二平均值对所述录音音频和所述伴奏音频进行对齐之后,可以解决录音数据和伴奏数据中间对不齐的问题,在实际应用过程中,还会存在录音数据和伴奏数据前置对不齐的情况,所以还需要解决录音数据和伴奏数据前置对不齐的问题。具体的,需要先根据当前录音设备的设备信息从预设确定出的标准时间偏差集合中确定出目标标准时间偏差。
在实际应用中,所述根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差之前,还包括:确定不同类型的设备、和/或不同类型的系统、和/或不同类型的录制方式对应的标准时间偏差,得到所述标准时间偏差集合。其中,所述录制方式包括通过耳机录制和外放录制,通过耳机录制包括通过无线耳机录制和通过有线耳机录制。所述标准时间偏差集合中的标准时间偏差的主要影响因素为设备类型、系统类型以及录制方式,也即,所述标准时间偏差的主要影响因素为设备型号、系统版本以及录音时耳机类型,录音时耳机类型包括未带耳机、戴有线耳机、戴无线耳机。
其中,确定不同类型的设备对应的标准时间偏差,包括:利用不同类型的设备录制参考伴奏音频对应的参考录音音频;确定出所述参考伴奏音频和所述参考录音音频的第一类时间进度差值集合对应的参考平均值;根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值;根据所述参考平均值和所述参考时间偏差值确定所述标准时间偏差值。
具体的,就是只考虑不同类型的设备对所述标准时间偏差的影响时,可以利用不同类型的设备录制参考伴奏音频对应的参考录音音频,然后确定出所述参考伴奏音频和参考录音音频对应的第一类时间进度差值集合,由此确定出所述参考伴奏音频和参考录音音频的第一类时间进度差值集合对应的参考平均值,然后根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值,然后再根据所述参考平均值和所述参考时间偏差值便可以确定出所述标准时间偏差。
其中,确定所述参考平均值的过程与前述实施例中确定所述第一平均值的过程相同,可以参考前述实施例中的相应内容,在此不再进行赘述。
所述根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值,包括:确定所述第一频谱数据中预设频谱特征数据对应的第一时间;确定所述第二频谱数据中所述预设频谱特征数据对应的第二时间;将所述第一时间和所述第二时间之间的差值作为所述参考时间偏差值。其中,所述预设频谱特征数据为预先确定的特征较明显的频谱特征点,以便于区别于其他的频谱值点。由于所述预设频谱特征数据在所述参考伴奏音频和所述参考录音音频中的时刻差需要小于或等于相应的预设值,所以可以先确定出所述第一频谱数据中所述预设频谱特征数据对应的第一时间,以及确定所述第二频谱数据中所述预设频谱特征数据对应的第二时间,然后便可以将所述第一时间和所述第二时间之间的差值作为所述参考时间偏差值。
在实际应用中,可以按照左声道为所述参考伴奏音频,右声道为所述参考录音音频,进行作品合成,便于精确判断当前的录音和伴奏的偏差。然后使用预设音频处理工具确定出所述参考时间偏差值。
在确定出所述参考时间偏差值之后,便可以根据所述参考平均值和所述参考时间偏差值确定所述标准时间偏差值。当所述参考平均值为avg(c)0,所述参考时间偏差为s,则标准时间偏差avg(c)s为:avg(c)s=avg(c)0-s。
为了考虑不同的系统版本对所述标准时间偏差的影响,可以针对相同类型的设备在不同的系统版本下录制参考伴奏音频对应的参考录音音频,确定出对应的标准时间偏差。
相应的,考虑到不同的录制方式对所述标准时间偏差的影响,所以可以在相同类型的设备以及相同的系统版本下采用外放录制、有线耳机录制、无线耳机录制等方式录制参考伴奏音频对应的参考录音音频,确定出对应的标准时间偏差。
步骤s25:根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐。
可以理解的是,确定出所述目标标准时间偏差之后,便可以根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐。
具体的,确定出所述目标标准时间偏差avg(c)s之后,便可以利用所述目标标准时间偏差avg(c)s确定出所述录音音频和所述伴奏音频对应的偏移值s1为:s1=avg(c)1-avg(c)s。s可正可负,当录音相对伴奏延后时,s为正值,当录音相对与伴奏提前时,s为负值。然后在所述录音音频开头部分删除长为s1的绝对值的音频片段,或者在录音数据开头部分补充长为s1的绝对值的音频片段。
在实际过程中,也可以将录音音频的录制时间进度与自然时间进行比较,粗略估计录音音频的录制情况,进行录音音频的增减。所述自然时间也即点击录制开始之后,伴奏音频播放的时间。相同长度的自然时间之内包括的伴奏音频帧可能不相同。
在实际应用,可以在录制过程中,确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,以及确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,然后根据所述第一平均值和所述第二平均值对录音数据和数据进行对齐,完成对所述录音数据和所述伴奏数据的中间对齐,在录制完成之后,再根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差,并根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐,以便对所述录音音频和所述伴奏音频进行前置对齐。
也可以先将所述录音音频录制完毕,然后确定录音音频中当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,以及确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,然后根据所述第一平均值和所述第二平均值对录音数据和数据进行对齐,完成对所述录音音频和所述伴奏音频的中间对齐。然后再根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差,并根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐,以便对所述录音音频和所述伴奏音频进行前置对齐。
下面以某款k歌app对用户演唱歌曲进行录制以及对齐过程为例,对本申请中的技术方案进行说明。
假设这款k歌app通过安装该款k歌app的智能设备播放歌曲《西湖》的伴奏音频,并通过语音输入模块采集到对应的录音音频,该k歌app在录制的过程中,实时确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,以及确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值,然后根据所述第一平均值和所述第二平均值对录制到的录音音频和歌曲《西湖》的伴奏音频进行对齐,以便对录音音频和歌曲《西湖》的伴奏音频进行中间对齐问题。
在录音结束之后,根据当前智能设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差,然后根据所述目标标准时间偏差和所述第一平均值对录音音频和歌曲《西湖》的伴奏音频进行对齐,以便对录音音频和歌曲《西湖》的伴奏音频进行前置对齐,得到对齐的混合后歌曲,以便用户再次回放时听到自己演唱的歌曲《西湖》是对齐的。
也即,在产品应用中,在用户k歌过程中,周期性的检测录音录制情况,如果发现录制数据异常,在歌曲有歌词的情况下,则将对录音数据对齐操作放在歌词切换间隔进行,减少对用户人声的影响。在用户录完歌曲之后,根据录歌时手机型号、系统版本、录歌时戴耳机情况(外放、戴有线耳机、戴无线耳机),从后台获取已配置的标准时间偏差,然后用此标准时间偏差与本次录歌时计算得到的所述第一平均值为用户作品进行调节。
参见图4所示,本申请实施例公开了一种音频处理装置,包括:
第一信息确定模块21,用于确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值;
第二信息确定模块22,用于确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值;
对齐模块23,用于根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。
在本申请中,先确定当前的录音音频帧对应的录制进度时刻和伴奏音频帧对应的播放进度时刻,并根据所述录制进度时刻和所述播放进度时刻确定时间进度差值,然后确定出第一类时间进度差值集合对应的第一平均值和第二类时间进度差值集合对应的第二平均值,其中,所述第一类时间进度差值集合为录音开始之后最先确定出的连续的预设数量个时间进度差值,所述第二类时间进度差值集合为确定出所述第一类时间进度差值集合之后确定出的连续的预设数量个时间进度差值,接着便可以根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐。由此可见,本申请需要先确定当前的录音音频帧的录制进度时刻和伴奏音频帧的播放进度时刻,然后根据所述录制进度时刻和所述伴奏进度时刻确定时间进度差值,然后录音开始之后最先确定出的连续的预设数量个时间进度差值作为第一类时间进度差值集合,所述第一类时间进度差值之后每次确定出连续的预设数量个时间进度差值便作为第二类时间进度差值集合,相应的便可以确定出所述第一类时间进度差值集合对应的第一平均值和所述第二类时间进度差值集合对应的第二平均值,然后便可以根据所述第一平均值和所述第二平均值对录音音频和伴奏音频进行对齐,这样只需要进行简单计算,耗时较短,且对录音设备性能要求较低,此外,根据录制音频和伴奏音频的时间进度差值进行录制音频和播放音频的对齐,所以不需要和原唱进行比对,也即在伴奏音频没有对应的原唱时也可以进行录制音频和伴奏音频对齐。
进一步的,所述对齐模块23,具体用于:
确定所述第一平均值和所述第二平均值之间的差值;
判断所述差值是否大于或等于预设值;
如果所述差值大于或等于预设值,则对所述录音音频和所述伴奏音频进行对齐。
进一步的,所述对齐模块23,具体用于:
在歌词切换间隔对所述录音音频和所述伴奏音频进行对齐。
进一步的,所述对齐模块23,还用于:
根据当前录音设备的设备信息从预先确定出的标准时间偏差集合中确定出目标标准时间偏差;
根据所述目标标准时间偏差和所述第一平均值对所述录音音频和所述伴奏音频进行对齐。
进一步的,所述音频处理装置,还包括:
标准偏差确定模块,用于确定不同类型的设备、和/或不同类型的系统、和/或不同类型的录制方式对应的标准时间偏差,得到所述标准时间偏差集合。
进一步的,所述标准偏差确定模块,用于:
利用不同类型的设备录制参考伴奏音频对应的参考录音音频;
确定出所述参考伴奏音频和所述参考录音音频的第一类时间进度差值集合对应的参考平均值;
根据所述参考伴奏音频对应的第一频谱数据和所述参考录音音频对应的第二频谱数据确定参考时间偏差值;
根据所述参考平均值和所述参考时间偏差值确定所述标准时间偏差值。
具体的,所述标准偏差确定模块,用于:
确定所述第一频谱数据中预设频谱特征数据对应的第一时间;
确定所述第二频谱数据中所述预设频谱特征数据对应的第二时间;
将所述第一时间和所述第二时间之间的差值作为所述参考时间偏差值。
参见图5所示,为本申请实施例提供的一种电子设备30的结构示意图,该用户终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的电子设备30包括:处理器31和存储器32。
其中,处理器31可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器31可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程们阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中应处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器31可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器32可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器32还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器32至少用于存储以下计算机程序321,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例中公开的音频处理方法步骤。另外,存储器32所存储的资源还可以包括操作系统322等,存储方式可以是短暂存储也可以是永久存储。其中,操作系统322可以是windows、unix、linux等。
在一些实施例中,电子设备30还可包括有显示屏33、输入输出接口34、通信接口35、传感器36、电源37以及通信总线38。
本技术领域人员可以理解,图5中示出的结构并不构成对电子设备30的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的音频处理方法。
其中,关于上述音频处理方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种音频处理方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除