语速识别方法和装置、服务器、计算机可读存储介质与流程

专利2022-12-02  58


本申请涉及计算机技术领域,特别是涉及一种语速识别方法和装置、服务器、计算机可读存储介质。



背景技术:

随着语音识别技术的发展,识别准确率不断提高,语音识别技术也被应用到越来越多的场景。语速作为情感表达重要的方式之一,是构成语言节奏的基础,在语音识别、情感识别、口语练习等领域发挥着重要的作用。传统的语速识别方法,通过简单的计算来实现语速识别。显然,这种统一的计算方式,不能够适应不同用户不同的说话习惯,且在复杂场景下的很难达到较好的识别效果。因此,亟待解决传统的语速识别准确率较低的问题。



技术实现要素:

本申请实施例提供一种语速识别方法、装置、服务器、计算机可读存储介质,可以提高语速识别的准确性。

一种语速识别方法,包括:

获取原始音频帧序列,将所述原始音频帧序列按照预设规则划分为多个音频单元;

对所述原始音频帧序列中的音频单元提取音频特征;

将所述原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到所述原始音频帧序列的实时语速。

在其中一个实施例中,所述预设语速识别模型的生成过程包括:

对训练集中的原始音频帧序列进行文本标注,得到所述原始音频帧序列的文本序列;

将所述文本序列与所述原始音频帧序列对齐,得到所述文本序列与所述原始音频帧序列的对齐关系;

根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述原始音频帧序列中音频单元的标注语速;

对所述原始音频帧序列中的音频单元提取音频特征;

将所述原始音频帧序列中音频单元的标注语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对所述初始化的回归算法模型进行调整,得到预设语速识别模型。

在其中一个实施例中,所述将所述文本序列与所述原始音频帧序列对齐,得到所述文本序列与所述原始音频帧序列的对齐关系,包括:

将所述文本序列与所述原始音频帧序列通过高斯混合模型和隐马尔可夫模型进行对齐,得到所述文本序列与所述原始音频帧序列的对齐关系。

在其中一个实施例中,所述根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述原始音频帧序列中音频单元的标注语速,包括:

将所述原始音频帧序列按照预设规则划分为多个音频单元;

根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述每个音频单元所包含的完整的文本数量;

根据所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算得到所述每个音频单元的标注语速。

在其中一个实施例中,所述回归算法模型包括双层长短期记忆网络模型;

所述将所述原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对所述初始化的回归算法模型进行调整,得到预设语速识别模型,包括:

对所述双层长短期记忆网络模型的参数进行初始化,得到初始化的双层长短期记忆网络模型;

将所述原始音频帧序列中第一音频单元的标注语速及对应的音频特征,输入至初始化的双层长短期记忆网络模型进行训练,得到所述第一音频单元的训练语速;

将所述第一音频单元的训练语速与所述第一音频单元的标注语速输入损失函数计算损失值,根据所述损失值对所述双层长短期记忆网络模型的参数进行调整,得到调整后的双层长短期记忆网络模型;

将所述原始音频帧序列中第二音频单元的标注语速及对应的音频特征,输入至所述调整后的双层长短期记忆网络模型进行训练,循环执行上述过程对所述调整后的双层长短期记忆网络模型不断进行调整,直到对所述原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

在其中一个实施例中,所述音频特征包括梅尔频率倒谱系数;

所述对所述原始音频帧序列中的音频单元提取音频特征,包括:

对所述原始音频帧序列中的音频单元经过快速傅里叶变换及梅尔滤波器组的处理,提取出梅尔频率倒谱系数。

在其中一个实施例中,所述将所述原始音频帧序列按照预设规则划分为多个音频单元,包括:

将所述原始音频帧序列按照预设规则划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。

在其中一个实施例中,所述将所述原始音频帧序列按照预设规则划分为多个音频单元,包括:

将所述原始音频帧序列划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间的音频帧连续。

在其中一个实施例中,所述回归算法模型包括线性回归算法模型或决策树算法模型或支持向量回归算法模型。

一种语速识别装置,包括:

原始音频帧序列获取模块,用于获取原始音频帧序列,将所述原始音频帧序列按照预设规则划分为多个音频单元;

音频特征提取模块,用于对所述原始音频帧序列中的音频单元提取音频特征;

语速识别模块,用于将所述原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到所述原始音频帧序列的实时语速。

一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上方法的步骤。

上述语速识别方法、装置、服务器、计算机可读存储介质,获取原始音频帧序列,将原始音频帧序列按照预设规则划分为多个音频单元。对原始音频帧序列中的音频单元提取音频特征,将原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到原始音频帧序列的实时语速。因为将原始音频帧序列按照预设规则划分为多个音频单元,对原始音频帧序列中的音频单元提取音频特征,再将音频单元的音频特征输入至预设语速识别模型中。不需要指定时间段来计算语速,从而避免了由于所指定的时间段大小不同而导致的效果差异,因此通过训练出的预设语速识别模型所识别出的语速的准确性较高。且预设语速识别模型可以根据音频单元的音频特征,识别出原始音频帧序列的实时语速,可以更好的捕获用户语速的动态变化情况,满足更多场景的需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中语速识别方法的应用场景图;

图2为一个实施例中语速识别方法的流程图;

图3为一个实施例中预设语速识别模型的生成方法的流程图;

图4为一个实施例中计算音频单元的标注语速的示意图;

图5为图3中对回归算法模型进行训练输出预设语速识别模型的方法的流程图;

图6为图3中对原始音频帧序列提取音频特征的方法的流程图;

图7为一个实施例中语速识别装置的结构框图;

图8为另一个实施例中语速识别装置的结构框图;

图9为图8中预设语速识别模型生成模块的结构框图;

图10为一个实施例中服务器的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。

如图1所示,为一个实施例中语速识别方法的应用环境示意图。该应用环境包括终端120及服务器140,终端120可以将所获取的原始音频帧序列,发送至服务器140,服务器140获取原始音频帧序列,将原始音频帧序列按照预设规则划分为多个音频单元;对原始音频帧序列中的音频单元提取音频特征;将原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到原始音频帧序列的实时语速。可以理解的是,上述终端120可以不限于是各种手机、电脑、可携带设备、录音设备等可以采集或存储音频的设备。

图2为一个实施例中语速识别方法的流程图,如图2所示,提供了一种语速识别方法,应用于服务器,包括步骤220至步骤260。

步骤220,获取原始音频帧序列,将原始音频帧序列按照预设规则划分为多个音频单元。

终端将音频文件发送至服务器,服务器获取到音频文件之后,对音频文件进行预处理生成原始音频帧序列。其中,对音频文件进行预处理,如语音信号的数字化、语音信号的端点检测、预加重、加窗和分帧等。分帧一般采用交叠分段的方法,是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为0-1/2。分帧是用可移动的有限长度窗口进行加权的方法来实现的,就是用一定的窗函数ω(n)来乘以帧信号s(n),从而形成加窗语音信号sω(n)=s(n)×ω(n)。在加窗时一般采用汉明窗,采用汉明窗能够更好地增加语音帧间的连续性。

对音频文件进行预处理后就生成了原始音频帧序列,原始音频帧序列指的是将音频文件进行预处理后所生成的一帧一帧连续的音频帧,这些音频帧按照顺序排列就构成了音频帧序列。然后,对原始音频帧序列按照预设规则划分为多个音频单元。预设规则可以是限定每个音频单元所包括的音频帧的帧数,以及将原始音频帧序列进行划分的规则等。音频单元指的是对原始音频帧序列按照预设规则进行划分后,所得到的一个一个单独的音频帧序列,每个音频单元由多个连续的音频帧组成。例如,设定每个音频单元包括20帧音频帧,这样可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的21-40帧划分为第二音频单元,将原始音频帧序列的41-60帧划分为第三音频单元,如此依次对实时采集到的音频进行划分。当然,本申请对划分的预设规则不作限定。

步骤240,对原始音频帧序列中的音频单元提取音频特征。

在将原始音频帧序列按照预设规则划分为多个音频单元之后,对每个音频单元提取音频特征。提取音频特征的过程就是把音频信号中具有辨识性的信息提取出来,然后把其他的无用的信息过滤,无用的信息包括背景噪声、情绪等。这里的音频特征包括过零率、短时能量、短时自相关函数、短时平均幅度差、短时平均幅度差、短时功率谱密度、谱熵、基频、共振峰及梅尔频率倒谱系数等。当然,本申请对此不作限定。

步骤260,将原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到原始音频帧序列的实时语速。

其中,预设语速识别模型为预先通过训练集中的大量原始音频帧序列进行语速识别,所得到的语速识别模型。在对每个音频单元提取音频特征之后,将原始音频帧序列中的每个音频单元的音频特征输入至预设语速识别模型中进行语速识别,得到每个音频单元所对应的语速。将所得到的当前音频单元的语速作为实时语速输出。例如,对第一音频单元提取出音频特征,将该音频特征输入至预设语速识别模型中进行语速识别,得到第一音频单元所对应的语速;对第二音频单元提取出音频特征,将该音频特征输入至预设语速识别模型中进行语速识别,得到第二音频单元所对应的语速;如此依次进行语速识别,就得出了原始音频帧序列中的每个音频单元所对应的语速。将第一音频单元所对应的语速作为第一音频单元所在的时间段内的实时语速,将第二音频单元所对应的语速作为第二音频单元所在的时间段内的实时语速,如此依次进行语速识别就得到了整个原始音频帧序列的实时语速。

传统的,在对音频数据进行语速识别的时候,需要指定时间段,从而计算出该时间段内单位时间的语速。第一,传统方法在指定时间段时会受到一定限制,所指定的时间过长或过短均会影响语速识别结果。过长的时间段可能会导致语速快速和慢速的平均,得到一个没有实际意义的中间值。过短的时间段会由于时间较短导致结果不稳定。第二,考虑到不同用户不同的说话习惯会有语速上的差异,传统的语速识别方法不能较好的捕捉用户语速在短时间内动态变化的情况。

本申请实施例中,获取原始音频帧序列,将原始音频帧序列按照预设规则划分为多个音频单元。对原始音频帧序列中的音频单元提取音频特征,将原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到原始音频帧序列的实时语速。因为将原始音频帧序列按照预设规则划分为多个音频单元,对原始音频帧序列中的音频单元提取音频特征,再将音频单元的音频特征输入至预设语速识别模型中。不需要指定时间段来计算语速,从而避免了由于所指定的时间段大小不同而导致的效果差异,因此通过训练出的预设语速识别模型所识别出的语速的准确性较高。且预设语速识别模型可以根据音频单元的音频特征,识别出原始音频帧序列的实时语速,可以更好的捕获用户语速的动态变化情况,满足更多场景的需求。

在一个实施例中,如图3所示,预设语速识别模型的生成过程包括:

步骤310,对训练集中的原始音频帧序列进行文本标注,得到原始音频帧序列的文本序列。

对训练集中的原始音频帧序列进行文本标注,得到原始音频帧序列的文本序列。文本序列可以直接是对应的文字,也可以是音节序列,其中,音节序列是通过发音词典,将文本序列转换为音节序列。如图4所示,原始音频帧序列包括40帧音频帧,一个小格子代表一个音频帧。对该原始音频帧序列进行文本标注,得到原始音频帧序列的文本序列“你好北京”,再将该文本序列转换为音节序列“nihaobeijing”。

步骤330,将文本序列与原始音频帧序列对齐,得到文本序列与原始音频帧序列的对齐关系。

在得到了文本序列之后,将文本序列与原始音频帧序列对齐,得到文本序列与原始音频帧序列的对齐关系。如图4所示,将文本序列“你好北京”与原始音频帧序列对齐,深色的音频帧就是一个文本所对应的音频帧。如文本“你”就对应了原始音频帧序列中的第3帧至第10帧。

步骤350,根据文本序列与原始音频帧序列的对齐关系,计算原始音频帧序列中音频单元的标注语速。

将原始音频帧序列按照预设规则划分为多个音频单元。根据文本序列与原始音频帧序列的对齐关系,计算每个音频单元所包含的完整的文本数量。根据所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算得到每个音频单元的标注语速。其中,每个完整的文字就对应一个完整的音节,例如,“你”就对应“ni”为一个完整的音节。

如图4所示,将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的21-40帧划分为第二音频单元。那么,第一音频单元所包含的音频帧的数量为20,且第一音频单元所包含的完整的音节数量为2,则采用每个音频单元所包含的完整的音节数量除以完整的音节数量所对应的音频帧的数量,计算出第一音频单元的标注语速为0.1,同理计算出第二音频单元的标注语速也为0.1。当一个音频单元中包含的每个音节都是完整的时,此时完整的音节数量所对应的音频帧的数量即为该音频单元所包含的音频帧的数量。当一个音频单元中包含有不完整的音节时,此时完整的音节数量所对应的音频帧的数量即为该音频单元所包含的音频帧的数量减去该不完整的音节所占的音频帧的数量。

步骤370,对原始音频帧序列中的音频单元提取音频特征。

对原始音频帧序列中的音频单元提取梅尔频率倒谱系数。其中,梅尔频率倒谱系数(mel-frequencycepstralcoefficients,mfcc),顾名思义mfcc特征提取包含两个关键步骤:第一步骤为转化到梅尔频率,第二步骤为进行倒谱分析。其中,梅尔频率是基于人耳听觉特性提出来的,梅尔频率与hz频率成非线性对应关系。梅尔频率倒谱系数(mfcc)则是利用梅尔频率与hz频率之间的这种关系,计算得到hz频谱特征。主要用于语音数据特征提取和降低运算维度。例如:对于一帧有512维(采样点)数据,经过提取mfcc后可以提取出最重要的40维(一般而言)数据,同时也达到了降维的目的。

步骤390,将原始音频帧序列中音频单元的标注语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对初始化的回归算法模型进行调整,得到预设语速识别模型。

具体的,首先对回归算法模型进行初始化,即为回归算法模型配置初始参数,然后将前述步骤中对训练集中的原始音频帧序列中的一个音频单元所提取出的音频特征,及该音频单元对应的标注语速作为一组输入,输入至初始化的回归算法模型进行学习。经过学习后,该算法模型输出该音频单元所对应的训练语速。将该音频单元的训练语速与该音频单元的标注语速输入损失函数计算损失值,根据损失值对回归算法模型的初始参数进行调整,得到调整后的回归算法模型。再将原始音频帧序列中下一个音频单元的标注语速及对应的音频特征作为下一组输入,输入至调整后的回归算法模型进行训练,循环执行上述过程对调整后的回归算法模型不断进行调整,直到对原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

本申请实施例中,首先,计算出训练集中的原始音频帧序列中的每一个音频单元的标注语速及对应的音频特征作为一组输入,输入至初始化的回归算法模型进行有监督的学习。然后,通过所输出的该音频单元的训练语速与该音频单元的标注语速进行比较,对回归算法模型进行调整。如此,再将下一组音频单元的标注语速及对应的音频特征作为一组输入,输入至调整后的回归算法模型进行有监督的学习。如此循环,经过训练集中的大量原始音频帧序列对回归算法模型进行训练之后,得出了最终的预设语速识别模型。因为,最终输出的预设语速识别模型,经过了训练集中的大量原始音频帧序列的训练,所以鲁棒性较好,能够适应不同用户不同的说话习惯,且在复杂场景下的识别效果也较好,大大提高了在实际场景中对原始音频帧序列进行语速识别的准确性。

在一个实施例中,将文本序列与原始音频帧序列对齐,得到文本序列与原始音频帧序列的对齐关系,包括:

将文本序列与原始音频帧序列通过高斯混合模型和隐马尔可夫模型进行对齐,得到文本序列与原始音频帧序列的对齐关系。

其中,高斯混合模型(gaussianmixturemodel,gmm),就是用高斯概率密度函数(二维时也称为:正态分布曲线)精确地量化事物,将一个事物分解为若干基于高斯概率密度函数行程的模型。

其中,隐马尔可夫模型(hiddenmarkovmodel,hmm)是统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。hmm是关于时序的概率模型,描述一个由隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个可观测的观测随机序列的过程。

具体的,将文本序列与原始音频帧序列通过高斯混合模型和隐马尔可夫模型(gmm-hmm)进行对齐,得到文本序列与原始音频帧序列的对齐关系。例如,上述得到了原始音频帧序列的文本序列之后,又得到了文本序列,但是该文本序列并未与原始音频帧序列中的音频帧进行对齐,这样仍然无法计算出原始音频帧序列中音频单元的语速。因此,采用gmm-hmm模型将文本序列与原始音频帧序列中的音频帧进行对齐,得到文本序列与原始音频帧序列中的音频帧的对齐关系。如图4所示,将文本序列“你好北京”与原始音频帧序列对齐,深色的音频帧就是一个文本所对应的音频帧。如文本“你”就对应了原始音频帧序列中的第3帧至第10帧,文本“好”就对应了原始音频帧序列中的第13帧至第17帧。

本申请实施例中,采用gmm-hmm模型将文本序列与原始音频帧序列中的音频帧进行对齐,就可以得到文本序列与原始音频帧序列中的音频帧的对齐关系。其中,每个完整的文字就对应一个完整的音节,便于后续采用所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算出音频单元的标注语速。

在一个实施例中,根据文本序列与原始音频帧序列的对齐关系,计算原始音频帧序列中音频单元的标注语速,包括:

将原始音频帧序列按照预设规则划分为多个音频单元;

根据文本序列与原始音频帧序列的对齐关系,计算每个音频单元所包含的完整的音节数量;

根据所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算得到每个音频单元的标注语速。

具体的,将原始音频帧序列按照预设规则划分为多个音频单元。例如,可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的21-40帧划分为第二音频单元,如此依次进行划分。当然,还可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的11-30帧划分为第二音频单元,如此依次进行划分。还可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的2-21帧划分为第二音频单元,如此依次进行划分。当然,在划分的时候音频单元所包括的音频帧数不一定是20帧,可以是其他任意帧数。例如,可以将原始音频帧序列的1-30帧划分为第一音频单元,将原始音频帧序列的31-60帧划分为第二音频单元,如此依次进行划分。

在划分音频单元之后,根据文本序列与原始音频帧序列中的音频帧的对齐关系,计算每个音频单元所包含的完整的音节数量。其中,每个完整的文字就对应一个完整的音节。采用所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算出每个音频单元的标注语速。

如图4所示,将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的21-40帧划分为第二音频单元。那么,第一音频单元所包含的音频帧的数量为20,且第一音频单元所包含的完整的音节数量为2,则采用每个音频单元所包含的完整的音节数量除以完整的音节数量所对应的音频帧的数量,计算出第一音频单元的标注语速为0.1,同理计算出第二音频单元的标注语速也为0.1。当一个音频单元中包含的每个音节都是完整的时,此时完整的音节数量所对应的音频帧的数量即为该音频单元所包含的音频帧的数量。当一个音频单元中包含有不完整的音节时,此时完整的音节数量所对应的音频帧的数量即为该音频单元所包含的音频帧的数量减去该不完整的音节所占的音频帧的数量。

本申请实施例中,将原始音频帧序列按照预设规则划分为多个音频单元,根据文本序列与原始音频帧序列中的音频帧的对齐关系,计算每个音频单元所包含的完整的音节数量。因为将文本序列与原始音频帧序列中的音频帧进行了对齐,且每个完整的文字就对应一个完整的音节,这样就能够准确地计算出每个音频单元所包含的完整的音节数量。也进而提高了后续计算出每个音频单元的标注语速的准确性。

在一个实施例中,回归算法模型包括双层长短期记忆网络模型;

如图5所示,将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对初始化的回归算法模型进行调整,得到预设语速识别模型,包括:

步骤520,对双层长短期记忆网络模型的参数进行初始化,得到初始化的双层长短期记忆网络模型。

双层长短期记忆网络(longshort-termmemory,lstm)模型即双层lstm模型。lstm网络是一种特定形式的rnn(recurrentneuralnetwork,循环神经网络)。其中,双层lstm模型包括第一层lstm模型及第二层lstm模型。对双层长短期记忆网络模型的参数进行初始化,得到初始化的双层长短期记忆网络模型。

步骤540,将原始音频帧序列中第一音频单元的标注语速及对应的音频特征,输入至初始化的双层长短期记忆网络模型进行训练,得到第一音频单元的训练语速。

从原始音频帧序列中获取任意的音频单元作为第一音频单元,将原始音频帧序列中第一音频单元的标注语速及对应的音频特征,输入至初始化的双层长短期记忆网络模型进行训练,得到第一音频单元的训练语速。

步骤560,将第一音频单元的训练语速与第一音频单元的标注语速输入损失函数计算损失值,根据损失值对双层长短期记忆网络模型的参数进行调整,得到调整后的双层长短期记忆网络模型。

步骤580,将原始音频帧序列中第二音频单元的标注语速及对应的音频特征,输入至调整后的双层长短期记忆网络模型进行训练,循环执行上述过程对调整后的双层长短期记忆网络模型不断进行调整,直到对原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

将第一音频单元的训练语速与第一音频单元的标注语速进行比较,根据第一音频单元的训练语速与第一音频单元的标注语速之间的损失值调整双层长短期记忆网络模型的参数,使得调整后的双层lstm模型在进行语速识别时候的误差不超过规定范围。如此,再将下一组音频单元的标注语速及对应的音频特征,输入至调整后的双层长短期记忆网络模型进行训练,循环执行上述过程对调整后的双层长短期记忆网络模型不断进行调整,直到对原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

本申请实施例中,将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的双层lstm模型中进行训练,对初始化的双层lstm模型进行有监督的学习。通过每一组音频单元的训练语速与对应的标注语速之间的损失值来调整双层lstm模型的参数,使得调整后的双层lstm模型在进行语速识别时候的误差不超过规定范围。因为,最终输出的预设语速识别模型,经过了训练集中的大量原始音频帧序列的训练,所以鲁棒性较好,能够适应不同用户不同的说话习惯,且在复杂场景下的识别效果也较好,大大提高了在实际场景中对原始音频帧序列进行语速识别的准确性。

在一个实施例中,音频特征包括梅尔频率倒谱系数;

对原始音频帧序列中的音频单元提取音频特征,包括:

对原始音频帧序列中的音频单元经过快速傅里叶变换及梅尔滤波器组的处理,提取出梅尔频率倒谱系数。

具体的,如图6所示,对连续语音进行预加重,然后再进行分帧,分帧是指将n个采样点集合成一个观测单位,即得到语音帧。通常情况下n的值为256或512,涵盖的时间约为20~30ms左右。且为了避免相邻两帧的变化过大,因此会让两相邻帧之间存在一段重叠区域。在分帧之后进行加窗处理,一般采用汉明窗进行加窗处理,采用汉明窗能够更好地增加音频帧间的连续性。

在加窗之后,进行快速傅里叶变换处理,将语音信号由时域转换到频域。再将转换至频域的语音信号输入至梅尔滤波器组进行滤波处理,对频谱进行平滑处理,并消除谐波的作用、突显语音信号的共振峰。最后,对语音信号进行对数运算和离散余弦变换即可得到mfcc特征,梅尔频率倒谱系数即为mfcc特征。

本申请实施例中,对连续语音进行预加重、分帧、加窗、快速傅里叶变换及梅尔滤波器组等一系列处理,得到mfcc特征。mfcc特征能够比较全面完整的体现语音的特征,因此将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的双层lstm模型中进行训练,对初始化的双层lstm模型进行有监督的学习,就可以最终输出预设语速识别模型,且该预设语速识别模型的语音识别效果较好,大大提高了在实际场景中对原始音频帧序列进行语速识别的准确性。

在一个实施例中,将原始音频帧序列按照预设规则划分为多个音频单元,包括:

将原始音频帧序列按照预设规则划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。

具体的,因为是以音频单元为单位,将每个音频单元的语速及对应的音频特征,输入至初始化的双层lstm模型中进行训练。所以,每个音频单元所包括的帧数相同,以便进行训练。当然,在每个音频单元所包括的帧数相同的前提下,将原始音频帧序列按照预设规则划分为多个音频单元的时候,为了让所最终输出的实时语速的连续性更强、更加准确。因此,在划分音频单元的时候,可以让每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。例如,还可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的11-30帧划分为第二音频单元,如此依次进行划分。还可以将原始音频帧序列的1-20帧划分为第一音频单元,将原始音频帧序列的2-21帧划分为第二音频单元,如此依次进行划分。当然,在划分的时候音频单元所包括的音频帧数不一定是20帧,可以是其他任意帧数。

本申请实施例中,在将原始音频帧序列按照预设规则划分为多个音频单元的时候,让每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。可以实现所最终输出的实时语速的连续性更强、更加准确。

接前一个实施例中,将原始音频帧序列按照预设规则划分为多个音频单元,包括:

将原始音频帧序列划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间的音频帧连续。

本申请实施例中,在每个音频单元所包括的帧数相同的前提下,还可以在划分音频单元的时候,让每个在后的音频单元与相邻在前的音频单元之间的音频帧连续,即前后两个音频单元之间不存在重叠区域。在保证实时输出语速的同时减少计算量,进而提高实时输出语速的速度,减少延迟。

在一个实施例中,回归算法模型包括线性回归算法模型或决策树算法模型或支持向量回归算法模型。

具体的,在将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对初始化的回归算法模型进行有监督的学习的时候,该回归算法模型不仅包括双层lstm模型,还包括线性回归算法模型或决策树算法模型或支持向量回归算法模型。

因此,还可以将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的线性回归算法模型中进行训练,对初始化的线性回归算法模型进行有监督的学习,最终训练出语速识别模型。

当然,还可以将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的决策树算法模型中进行训练,对初始化的决策树算法模型进行有监督的学习,最终训练出语速识别模型。

还可以将原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的支持向量回归算法模型中进行训练,对初始化的支持向量回归算法模型进行有监督的学习,最终训练出语速识别模型。

本申请实施例中,提供了多种回归算法模型分别用来对所输入的原始音频帧序列中音频单元的语速及对应的音频特征进行训练,对初始化的算法模型进行有监督的学习,最终训练出语速识别模型。分别经过多种回归算法模型进行训练出的语速识别模型的准确性及优势各不相同,可以从中最终筛选出准确率最高的语速识别模型用来实际进行语速识别。当然,还可以筛选出某种模型在训练某类型音频的训练集的时候的准确性较高,则当需要对该类型的音频进行语速识别的时候,就相应地筛选出该模型作为语速识别模型用来实际进行语速识别。

在一个实施例中,如图7所示,提供了一种语速识别装置700,包括:原始音频帧序列获取模块720、音频特征提取模块740及语速识别模块760。其中,

原始音频帧序列获取模块720,用于获取原始音频帧序列,将原始音频帧序列按照预设规则划分为多个音频单元;

音频特征提取模块740,用于对原始音频帧序列中的音频单元提取音频特征;

语速识别模块760,用于将原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到原始音频帧序列的实时语速。

在一个实施例中,如图8所示,提供了一种语速识别装置,还包括:预设语速识别模型生成模块780。

如图9所示,预设语速识别模型生成模块780包括:

文本标注模块781,用于对训练集中的原始音频帧序列进行文本标注,得到原始音频帧序列的文本序列;

对齐模块783,用于将文本序列与原始音频帧序列对齐,得到文本序列与原始音频帧序列的对齐关系;

语速标注模块785,用于根据文本序列与原始音频帧序列的对齐关系,计算原始音频帧序列中音频单元的标注语速;

音频特征提取模块787,用于对原始音频帧序列中的音频单元提取音频特征;

训练模块789,用于将原始音频帧序列中音频单元的标注语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对初始化的回归算法模型进行调整,得到预设语速识别模型。

在一个实施例中,对齐模块783,还用于将文本序列与原始音频帧序列通过高斯混合模型和隐马尔可夫模型进行对齐,得到文本序列与原始音频帧序列的对齐关系。

在一个实施例中,语速标注模块785,还用于将原始音频帧序列按照预设规则划分为多个音频单元;根据文本序列与原始音频帧序列的对齐关系,计算每个音频单元所包含的完整的音节数量;根据所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算得到每个音频单元的标注语速。

在一个实施例中,训练模块789,还用于对双层长短期记忆网络模型的参数进行初始化,得到初始化的双层长短期记忆网络模型;将原始音频帧序列中第一音频单元的标注语速及对应的音频特征,输入至初始化的双层长短期记忆网络模型进行训练,得到第一音频单元的训练语速;将第一音频单元的训练语速与第一音频单元的标注语速输入损失函数计算损失值,根据损失值对双层长短期记忆网络模型的参数进行调整,得到调整后的双层长短期记忆网络模型;将原始音频帧序列中第二音频单元的标注语速及对应的音频特征,输入至调整后的双层长短期记忆网络模型进行训练,循环执行上述过程对调整后的双层长短期记忆网络模型不断进行调整,直到对原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

在一个实施例中,音频特征提取模块787,还用于对原始音频帧序列中的音频单元经过快速傅里叶变换及梅尔滤波器组的处理,提取出梅尔频率倒谱系数。

在一个实施例中,将原始音频帧序列按照预设规则划分为多个音频单元,包括:将原始音频帧序列按照预设规则划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。

在一个实施例中,将原始音频帧序列按照预设规则划分为多个音频单元,包括:将原始音频帧序列划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间的音频帧连续。

在一个实施例中,回归算法模型包括线性回归算法模型或决策树算法模型或支持向量回归算法模型。

上述语速识别装置中各个模块的划分仅用于举例说明,在其他实施例中,可将语速识别装置按照需要划分为不同的模块,以完成上述语速识别装置的全部或部分功能。

图10为一个实施例中服务器的内部结构示意图。如图10所示,该服务器包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个服务器的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种语速识别方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该服务器可以是手机、平板电脑或者个人数字助理或穿戴式设备等。

本申请实施例中提供的语速识别装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行语速识别方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行语速识别方法。

本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种语速识别方法,其特征在于,包括:

获取原始音频帧序列,将所述原始音频帧序列按照预设规则划分为多个音频单元;

对所述原始音频帧序列中的音频单元提取音频特征;

将所述原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到所述原始音频帧序列的实时语速。

2.根据权利要求1所述的方法,其特征在于,所述预设语速识别模型的生成过程包括:

对训练集中的原始音频帧序列进行文本标注,得到所述原始音频帧序列的文本序列;

将所述文本序列与所述原始音频帧序列对齐,得到所述文本序列与所述原始音频帧序列的对齐关系;

根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述原始音频帧序列中音频单元的标注语速;

对所述原始音频帧序列中的音频单元提取音频特征;

将所述原始音频帧序列中音频单元的标注语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对所述初始化的回归算法模型进行调整,得到预设语速识别模型。

3.根据权利要求2所述的方法,其特征在于,所述将所述文本序列与所述原始音频帧序列对齐,得到所述文本序列与所述原始音频帧序列的对齐关系,包括:

将所述文本序列与所述原始音频帧序列通过高斯混合模型和隐马尔可夫模型进行对齐,得到所述文本序列与所述原始音频帧序列的对齐关系。

4.根据权利要求2所述的方法,其特征在于,所述根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述原始音频帧序列中音频单元的标注语速,包括:

将所述原始音频帧序列按照预设规则划分为多个音频单元;

根据所述文本序列与所述原始音频帧序列的对齐关系,计算所述每个音频单元所包含的完整的音节数量;

根据所述每个音频单元所包含的完整的音节数量及所述完整的音节数量所对应的音频帧的数量,计算得到所述每个音频单元的标注语速。

5.根据权利要求2所述的方法,其特征在于,所述回归算法模型包括双层长短期记忆网络模型;

所述将所述原始音频帧序列中音频单元的语速及对应的音频特征,输入至初始化的回归算法模型中进行训练,对所述初始化的回归算法模型进行调整,得到预设语速识别模型,包括:

对所述双层长短期记忆网络模型的参数进行初始化,得到初始化的双层长短期记忆网络模型;

将所述原始音频帧序列中第一音频单元的标注语速及对应的音频特征,输入至初始化的双层长短期记忆网络模型进行训练,得到所述第一音频单元的训练语速;

将所述第一音频单元的训练语速与所述第一音频单元的标注语速输入损失函数计算损失值,根据所述损失值对所述双层长短期记忆网络模型的参数进行调整,得到调整后的双层长短期记忆网络模型;

将所述原始音频帧序列中第二音频单元的标注语速及对应的音频特征,输入至所述调整后的双层长短期记忆网络模型进行训练,循环执行上述过程对所述调整后的双层长短期记忆网络模型不断进行调整,直到对所述原始音频帧序列中的每一个音频单元完成训练,输出预设语速识别模型。

6.根据权利要求1或2所述的方法,其特征在于,所述音频特征包括梅尔频率倒谱系数;

所述对所述原始音频帧序列中的音频单元提取音频特征,包括:

对所述原始音频帧序列中的音频单元经过快速傅里叶变换及梅尔滤波器组的处理,提取出梅尔频率倒谱系数。

7.根据权利要求1或4所述的方法,其特征在于,所述将所述原始音频帧序列按照预设规则划分为多个音频单元,包括:

将所述原始音频帧序列按照预设规则划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间重叠相同的帧数。

8.根据权利要求1或4所述的方法,其特征在于,所述将所述原始音频帧序列按照预设规则划分为多个音频单元,包括:

将所述原始音频帧序列划分为多个音频单元,每个音频单元所包括的帧数相同,其中每个在后的音频单元与相邻在前的音频单元之间的音频帧连续。

9.根据权利要求2所述的方法,其特征在于,所述回归算法模型包括线性回归算法模型或决策树算法模型或支持向量回归算法模型。

10.一种语速识别装置,其特征在于,包括:

原始音频帧序列获取模块,用于获取原始音频帧序列,将所述原始音频帧序列按照预设规则划分为多个音频单元;

音频特征提取模块,用于对所述原始音频帧序列中的音频单元提取音频特征;

语速识别模块,用于将所述原始音频帧序列中的音频单元的音频特征输入至预设语速识别模型中,得到所述原始音频帧序列的实时语速。

11.一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述的语速识别方法的步骤。

12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的语速识别方法的步骤。

技术总结
本申请涉及一种语速识别方法和装置、服务器、计算机可读存储介质,包括:将原始音频帧序列按照预设规则划分为多个音频单元,对原始音频帧序列中的音频单元提取音频特征,再将音频单元的音频特征输入至预设语速识别模型中。不需要指定时间段来计算语速,从而避免了由于所指定的时间段大小不同而导致的效果差异,因此通过训练出的预设语速识别模型所识别出的语速的准确性较高。且预设语速识别模型可以根据音频单元的音频特征,识别出原始音频帧序列的实时语速,可以更好的捕获用户语速的动态变化情况,满足更多场景的需求。

技术研发人员:袁丁
受保护的技术使用者:深圳追一科技有限公司
技术研发日:2019.12.17
技术公布日:2020.05.19

转载请注明原文地址: https://bbs.8miu.com/read-267785.html

最新回复(0)