一种语音切分方法、装置、计算机设备及存储介质与流程

文档序号:16004109发布日期:2018-11-20 19:50阅读:237来源:国知局
本发明涉及语音处理
技术领域
,尤其涉及一种语音切分方法、装置、计算机设备及存储介质。
背景技术
:在语音处理领域中,对语音文件进行切分是一个比较关键的问题,因为较长的语音文件在语音识别转换过程中会对系统资源产生较大的消耗,且识别准确率不高。在对语音文件进行分割处理后,能够减少语音识别的计算量并提高语音识别系统的识别精度。同时,对语音切分的准确性会直接影响到语音识别的结果,若语音切分出现错误,则语音信号的识别可能就会出现很大的偏差,甚至导致语音信号的识别无法实现。但是,目前语音文件在需要对语音内容按句进行切分时,大多需要采用人工方式进行手工切分,导致语音分割的准确率不高,或者需要通过复杂的算法进行处理,使得切分的效率较低。技术实现要素:本发明实施例提供一种语音切分方法、装置、计算机设备及存储介质,以解决目前对语音文件进行切分效率低以及准确率低的问题。一种语音切分方法,包括:获取待切分的语音文件;对所述语音文件进行预处理,得到音频数据,其中,所述音频数据包含n个采样点的采样值,n为正整数;对所述音频数据进行归一化处理,得到所述音频数据对应的标准数据,其中,所述标准数据包括每个所述采样值对应的标准值;按照预设的帧长和预设的步长对所述音频数据进行分帧处理,得到K帧语音帧,其中,K为正整数;根据所述标准数据计算每帧所述语音帧的帧能量;针对每帧所述语音帧,若该语音帧的帧能量小于预设的帧能量阈值,则标记该语音帧为静音帧;若检测到连续的静音帧的数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段;根据所述静音段确定所述语音文件的切分帧,并使用所述切分帧对所述语音文件进行切分,得到目标文件。一种语音切分装置,包括:语音文件获取模块,用于获取待切分的语音文件;语音文件预处理模块,用于对所述语音文件进行预处理,得到音频数据,其中,所述音频数据包含n个采样点的采样值,n为正整数;音频数据处理模块,用于对所述音频数据进行归一化处理,得到所述音频数据对应的标准数据,其中,所述标准数据包括每个所述采样值对应的标准值;音频数据分帧模块,用于按照预设的帧长和预设的步长对所述音频数据进行分帧处理,得到K帧语音帧,其中,K为正整数;帧能量计算模块,用于根据所述标准数据计算每帧所述语音帧的帧能量;静音帧标记模块,用于针对每帧所述语音帧,若该语音帧的帧能量小于预设的帧能量阈值,则标记该语音帧为静音帧;静音段标记模块,用于若检测到连续的静音帧的数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段;目标文件获取模块,用于根据所述静音段确定所述语音文件的切分帧,并使用所述切分帧对所述语音文件进行切分,得到目标文件。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语音切分方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述语音切分方法的步骤。上述语音切分方法、装置、计算机设备及存储介质中,通过将语音文件进行分帧处理,以及音频数据的归一化,提高了语音数据的处理效率,再计算出每帧语音帧的帧能量,对语音帧的短时功率进行判断,并根据帧能量确定音频数据的静音段,从而能够对语句中的静音和停顿进行准确识别,根据确定的切分帧对语音文件进行切分,实现对语句的正确切分,避免破坏语句的完整性,提高了语音切分的准确率,同时,采用帧能量作为切分标准进行语音切分的方式不需要人工干预,且复杂度低,实现了在准确切分语音文件的同时,有效提高切分效率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中语音切分方法的一应用环境示意图;图2是本发明一实施例中语音切分方法的一流程图;图3是图2中步骤S2的一具体流程图;图4是本发明一实施例中语音切分装置的一原理框图;图5是本发明一实施例中计算机设备的一示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1,图1示出本发明实施例提供的语音切分方法的应用环境。该语音切分方法应用在语音识别系统中,用于训练语音识别模型。该语音识别系统包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,用户通过客户端进行语音输入,客户端具体可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供的语音切分方法应用于服务端。在其中一个实施例中,图2示出本实施例中语音切分方法的一流程图,如图2所示,该语音切分方法包括步骤S1至步骤S8,详述如下:S1:获取待切分的语音文件。在本发明实施例中,待切分的语音文件可以从用于语音训练的语料库中获取,或者通过第三方工具收集的语音文件处获取,如微信或者公开的语音库等,此处不做限制。进一步地,服务端检测获取到的语音文件的音频格式是否为wav格式,其中,语音文件的音频格式为wav格式的扩展名为“*.wav”,wav是一种无损的音频文件格式,能够完整地保存语音的数据信息。具体地,若音频文件的音频格式为wav格式,则将该音频文件用于进行识别并切分,否则使用音频格式转换器将该音频文件转换为wav格式,将转换后的音频文件作为待切分的语音文件。S2:对语音文件进行预处理,得到音频数据,其中,音频数据包含n个采样点的采样值,n为正整数。具体地,在获取到待切分的语音文件后,对语音文件采用脉冲编码调制技术(pulsecodemodulation,PCM)进行编码,将语音文件的模拟信号每隔预设的时间对一个采样点进行采样,使其离散化,该预设的时间根据PCM编码的采样频率进行确定,具体的采样频率可以根据历史经验设定,如采样频率可以设置为每秒8000Hz,表示每秒采集8000个采样信号,也可以根据实际应用进行设置,此处不做限制。进一步地,将n个采样点的采样信号量化,以二进制码组的方式输出量化后的数字信号,得到与语音文件相对应的语音信号,其中,采样点为n个,n为语音文件的时间长度与采样频率的乘积。进一步地,针对语音信号进行预加重处理,增强语音信号的高频成分,避免由于高频分量在传输过程中的过大衰减,得到的语音不够清晰准确,影响语音识别的准确性,具体可以使用时域技术或者频域技术实现对语音信号的预加重,加强语音段的语音能量,得到音频数据。S3:对音频数据进行归一化处理,得到音频数据对应的标准数据,其中,标准数据包括每个采样值对应的标准值。在本发明实施例中,针对步骤S2得到的音频数据,对音频数据进行归一化处理,具体归一化处理方式可以是将每个采样点的采样值除以音频数据的采样值中的最大值,也可以将每个采样点的采样值除以对应音频数据的采样值的均值,将数据收敛到特定区间,方便进行数据处理。具体地,在归一化处理之后,将音频数据中每个采样点采样值转换为对应的标准值,从而得到与音频数据对应的标准数据。S4:按照预设的帧长和预设的步长对音频数据进行分帧处理,得到K帧语音帧,其中,K为正整数。在本发明实施例中,按照预设的帧长和步长,对音频数据进行帧间不重叠的分帧,帧长为获取的语音帧的长度,步长为获取语音帧的时间间隔,当帧长等于步长时,能够使得分帧之后得到的各个语音帧之间不会出现重叠现象,得到K帧语音帧,K为语音文件的时间长度除以语音帧的时间长度的商,在提高了数据处理效率的同时不会对语音帧的帧能量计算造成影响。具体地,通常帧长设置的值可以在0.01s-0.03s的范围内,这段短时间内的语音信号相对平稳,也可以根据实际应用的需要进行设置,此处不作限制。例如,若帧长设置为0.01s,步长设置为0.01s,采样频率为8000Hz,每秒采集8000个采样信号,则将音频数据按照80个采样值确定为一帧语音帧进行分帧处理,若最后一帧语音帧的采样值不足80个,则对最后一帧语音帧进行添加采样值为0的信息数据,使得最后一个语音帧包括80个采样值。S5:根据标准数据计算每帧语音帧的帧能量。在本发明实施例中,帧能量是语音信号的短时能量,反映了语音帧的语音信息的数据量,通过帧能量能够进行判断该语音帧是否为语句帧还是静音帧。进一步地,由于标准值的数据收敛性比较好,使用标准数据进行计算每帧语音帧的帧能量,能够提高数据处理效率。S6:针对每帧语音帧,若该语音帧的帧能量小于预设的帧能量阈值,则标记该语音帧为静音帧。在本发明实施例中,帧能量阈值为预先设定的参数,若计算得到的帧能量小于帧能量阈值,则将对应的语音帧标记为静音帧,该帧能量阈值具体可以根据历史经验进行设置,如帧能量阈值设置为0.5,也可以根据计算得到各个语音帧的帧能量进行具体分析设置,此处不做限制。S7:若检测到连续的静音帧的数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段。在本发明实施例中,静音帧数量阈值为预先设定的参数,若检测到存在连续的静音帧的数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段,该帧能量阈值具体可以根据历史经验进行设置,如静音帧数量阈值设置为5,也可以根据计算得到各个语音帧的帧能量进行具体分析设置,此处不做限制。S8:根据静音段确定语音文件的切分帧,并使用切分帧对语音文件进行切分,得到目标文件。在本发明实施例中,为了确保不会切分到语音段,并保证语音段前后都有一定的时长,将静音段的连续帧号的中间帧作为分隔点,若连续帧号的个数为偶数,则取连续帧号中间其中较小的帧号标记为切分帧,也可以取连续帧号中间其中较小的帧号标记为切分帧,此处不做限制。例如,若帧能量阈值为0.5,静音帧数量阈值为5,则筛选得到帧能量Ene1,Ene2,Ene8,Ene13,Ene14,Ene15,Ene16,Ene17,Ene18均为小于0.5,将筛选得到小于帧能量阈值的语音帧的帧号标记为静音帧,再进行筛选出连续帧号大于5帧的帧号,将Ene13,Ene14,Ene15,Ene16,Ene17,Ene18对应的帧号标记为静音段,获取连续帧号中间其中较小的帧号,并将第15帧语音帧标记为切分帧。根据标记的切分帧,将音频数据按照切分帧进行切分,将各切分点之间的帧合并为一个独立语音段,得到包括多个切分后的语音文件的目标文件。在其中一个实施例中,通过对语音文件进行预处理,得到音频数据,使得语音文件转换成声卡直接支持的数据格式。再对音频数据对进行归一化处理,将音频数据分成多个语音帧,提高数据处理的效率。根据音频数据对应的标准数据计算每帧语音帧的帧能量,若语音帧的帧能量小于预设的帧能量阈值,则标记该语音帧为静音帧,进一步地,若检测到连续的静音帧数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段,并确定切分帧的帧号,最后按照切分帧对语音文件进行切分,得到目标文件。通过将语音文件进行分帧处理,计算出每帧语音帧的帧能量,根据帧能量确定音频数据的静音段,从而能够对语句中的静音和停顿进行准确识别,实现对语句的正确切分,避免破坏语句的完整性,提高了语音切分的准确率,同时,采用帧能量作为切分标准进行语音切分的方式不需要人工干预,且复杂度低,实现了在准确切分语音文件的同时,有效提高切分效率。在其中一个实施例中,本实施例提出对语音文件进行预处理,得到音频数据的具体实现方法进行详细说明。请参阅图3,图3示出了步骤S2的一具体流程图,详述如下:S21:采用脉冲编码调制技术对语音文件进行编码,得到语音信号。在本发明实施例中,采用脉冲编码调制技术对语音文件的编码包括抽样、量化和编码等过程,将连续时间的模拟信号转换成离散幅度的数字信号,并以二进制码组的方式输出量化后的数字信号,得到与语音文件相对应的语音信号。具体地,若语音文件为单声道语音文件,则每个采样点的采样值为一个8位的无符号整数,若语音文件为双声道立体声的语音文件,则每个采样点的采样值为一个16位的整数,其中,8位和16位的PCM波形编码的数据格式的具体取值范围如表一所示。表一样本类型数据格式最小值最大值单声道语音文件unsignedint0225双声道语音文件int-3276732767例如,以单声道、采样率为8000Hz的wav文件为例,采用PCM的编码方式,则音频文件编码格式为(8000Hz,8bit,Unsigned),即采样频率为每秒8000次,使用8位的无符号整数代表一个采样值,采样值的范围在[0,225]之间,语音音量大小与PCM编码的采样值成正比的关系,当语音音量越大时,采样获取的电平就越高,量化编码的无符号整数越大。S22:对语音信号进行预加重处理,得到音频数据。在本发明实施例中,语音信号低频段能量大,高频段信号能量明显小,造成语音信号的低频信噪比很大,而高频信噪比较小,从而导致高频传输衰弱,使高频传输困难。具体地,使用高通滤波器对语音文件的高频段信号进行加重,得到音频数据,能够增强语音信号的高频能量,增大高频段语音信号上升沿和下降沿处的幅度,从而增大高频信噪比,提高语音信号的质量。在其中一个实施例中,通过采用脉冲编码调制技术对语音文件进行编码,将连续时间的模拟信号转换成离散幅度的数字信号,以二进制码组的方式输出量化后的数字信号,得到语音信号,方便于识别与处理语音文件的信息数据,再对语音信号进行预加重处理,增强语音信号的高频能量,得到音频数据,提高语音信号的质量。在其中一个实施例中,步骤S3提及的对音频数据进行归一化处理,得到音频数据对应的标准数据,具体可以通过如下方式实现,详述如下:根据公式(1)计算标准数据:X=Y/max(Y)公式(1)其中,Y为音频数据,X为标准数据,max(Y)为音频数据的幅值。需要说明的是,音频数据的幅值为音频数据中各个采样点的采样值中的最大值。在本发明实施例中,通过公式(1)能够准确地计算出音频数据对应的标准数据,将数据收敛到特定区间,提高数据处理的效率。在其中一个实施例中,步骤S5提及的根据标准数据计算每帧语音帧的帧能量,具体可以通过如下方式实现,详述如下:根据公式(2)计算每帧语音帧的帧能量:Ene[i]=A×sum(Xi2)公式(2)其中,Ene[i]为第i帧语音帧的帧能量,A为预设的调节因子,sum(Xi2)为第i帧语音帧中包含的采样点的标准值的平方和。需要说明的是,A为预设的调节因子,该调节因子根据语音文件的特性进行预设,避免由于语音文件中语句的音量过小或者背景噪声过大,使得语句与静音的区分度不高,而影响语音切分的准确率。在本发明实施例中,通过公式(2)能够快速地计算出每帧语音帧的帧能量,反映出各个语音帧的语音信息的数据量大小,提高语音切分的准确率,并能够进一步地利用帧能量去判断该语音帧是否为语句帧还是静音帧。在其中一个实施例中,在步骤S8根据静音段确定语音文件的切分帧,并根据切分帧对语音文件进行切分,得到目标文件之后,还可以进一步地使用目标文件进行语音识别模型训练,该语音切分方法还包括:使用目标文件进行语音识别模型训练。具体地,语音识别系统的模型训练模块接收步骤S8得到的目标文件,批量对目标文件中切分后的语音文件进行标识对应的标识信息,用于语音识别系统的模型训练。需要说明的是,若使用的语音文件时间长度较长,则在语音识别模型的训练过程中由于系统自动对齐等原因影响训练效果,使得对于该语音文件的识别率不高,并且语音识别转写时间长度较长的语音文件会对系统资源产生较大的消耗。在本发明实施例中,使用目标文件进行语音识别模型训练,使得用于语音识别系统的模型训练中的语音文件的语句都是短句,提高模型训练的效率与准确率。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,图4示出了与上述实施例中语音切分方法一一对应的语音切分装置。为了便于说明,仅示出了与本发明实施例相关的部分。如图4所示,该语音切分装置包括语音文件获取模块31、语音文件预处理模块32、音频数据处理模块33、音频数据分帧模块34、帧能量计算模块35、静音帧标记模块36、静音段标记模块37和目标文件获取模块38。各功能模块详细说明如下:语音文件获取模块31,用于获取待切分的语音文件;语音文件预处理模块32,用于对语音文件进行预处理,得到音频数据,其中,音频数据包含n个采样点的采样值,n为正整数;音频数据处理模块33,用于对音频数据进行归一化处理,得到音频数据对应的标准数据,其中,标准数据包括每个采样值对应的标准值;音频数据分帧模块34,用于按照预设的帧长和预设的步长对音频数据进行分帧处理,得到K帧语音帧,其中,K为正整数;帧能量计算模块35,用于根据标准数据计算每帧语音帧的帧能量;静音帧标记模块36,用于针对每帧语音帧,若该语音帧的帧能量小于预设的帧能量阈值,则标记该语音帧为静音帧;静音段标记模块37,用于若检测到连续的静音帧的数量大于预设的静音帧数量阈值,则标记该连续的静音帧为静音段;目标文件获取模块38,用于根据静音段确定语音文件的切分帧,并使用切分帧对语音文件进行切分,得到目标文件。进一步地,语音文件预处理模块32包括:编码子模块321,用于采用脉冲编码调制技术对语音文件进行编码,得到语音信号;预加重子模块322,用于对语音信号进行预加重处理,得到音频数据。进一步地,音频数据处理模块33包括:标准数据计算子模块331,用于根据公式(1)计算标准数据:X=Y/max(Y)公式(1)其中,Y为音频数据,X为标准数据,max(Y)为音频数据的幅值。进一步地,帧能量计算模块35包括:帧能量计算子模块351,用于根据公式(2)计算每帧语音帧的帧能量:Ene[i]=A×sum(Xi2)公式(2)其中,Ene[i]为第i帧语音帧的帧能量,A为预设的调节因子,sum(Xi2)为第i帧语音帧中包含的采样点的标准值的平方和。进一步地,该语音切分装置还包括:模型训练模块39,用于使用目标文件进行语音识别模型训练。本实施例提供的一种语音切分装置中各模块实现各自功能的过程,具体可参考上述实施例的描述,此处不再赘述。本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中语音切分方法,或者,该计算机程序被处理器执行时实现上述实施例中语音切分装置中各模块的功能。为避免重复,这里不再赘述。可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、电载波信号和电信信号等。图5是本发明一实施例提供的计算机设备的示意图。如图5所示,该实施例的计算机设备5包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53。处理器51执行计算机程序53时实现上述各个语音切分方法实施例中的步骤,例如图2所示的步骤S1至步骤S8。或者,处理器51执行计算机程序53时实现上述实施例中语音切分装置的各模块的功能,例如图4所示模块31至模块38的功能。示例性的,计算机程序53可以被分割成一个或多个模块,一个或者多个模块被存储在存储器52中,并由处理器51执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序53在计算机设备5中的执行过程。例如,计算机程序53可以被分割成语音文件获取模块、语音文件预处理模块、音频数据处理模块、音频数据分帧模块、帧能量计算模块、静音帧标记模块、静音段标记模块和目标文件获取模块,各模块的具体功能如上述装置实施例所示,为避免重复,此处不一一赘述。计算机设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备5可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是计算机设备5的示例,并不构成对计算机设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备5还可以包括输入输出设备、网络接入设备、总线等。所称处理器51可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器52可以是计算机设备5的内部存储单元,例如计算机设备5的硬盘或内存。存储器52也可以是计算机设备5的外部存储设备,例如计算机设备5上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器52还可以既包括计算机设备5的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备5所需的其他程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1