一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于帧分类的语音端点检测方法及装置与流程

2022-03-05 09:22:06 来源:中国专利 TAG:


1.本技术涉及语音检测领域,特别是涉及一种基于帧分类的语音端点检测方法及装置。


背景技术:

2.vad(voice activity detection,语音端点检测)的目的是从语音信号中识别和消除静音。vad作为asr(automatic speech recognition,自动语音识别)的前处理手段,一方面负责检测静音,只有检测到人声时才将语音信号送到asr系统进行识别,节省计算资源;另一方面,通过vad可以将长音频切分为多个短音频,可以为asr结果实现断句,方便在后处理工作中添加标点。
3.vad的难点在于语音信号往往不是纯净的人声和静音,麦克风在采音过程中,会将人声和说话人所处环境的噪声同时采集,这在很大程度上影响了vad的准确性。通常定义静音和纯噪声为无效语音,人声和带噪人声为有效语音。
4.现有的基于阈值的vad,通过提取时域(短时能量、短期过零率等)或频域(mfcc、谱熵等)特征,通过合理的设置门限,达到区分语音和非语音的目的。
5.现有的基于阈值的vad,会产生vad误检和漏检。vad误检,指将无效语音识别为有效语音,会导致asr计算资源的浪费。vad漏检,指将有效语音识别为无效语音,会导致asr结果的缺失。vad的准确率将直接影响到asr的性能和准确率。
6.针对相关技术中存在vad检测不准确的情况,目前还没有提出有效的解决方案。


技术实现要素:

7.在本实施例中提供了一种基于帧分类的语音端点检测方法及装置,以解决相关技术中vad检测不准确的问题。
8.第一个方面,在本实施例中提供了一种基于帧分类的语音端点检测方法,所述方法包括,
9.获取待检测的第一语音数据;
10.对所述第一语音数据进行分帧处理,得到多个第一语音数据帧,每个第一语音数据帧的时间长度相同;
11.对所述多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征;
12.将所述第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签;所述分类模型用于对所述第一语音数据帧进行分类,所述第一标签用来表示所述第一语音数据帧中是否包含有效语音;
13.根据所述第一语音数据帧及对应的第一标签,确定所述第一语音数据的语音端点。
14.在其中的一些实施例中,所述根据所述第一语音数据帧及对应的第一标签,确定
所述第一语音数据的语音端点,包括,
15.若连续m个第一语音数据帧中包含有效语音信息,则确定第一个包含有效语音信息的第一语音数据帧为所述第一语音数据的一段语音开始帧;其中,m为大于或等于5的自然数;
16.若连续n个第一语音数据帧中不包含有效语音信息,则确定第一个不包含有效语音信息的第一语音数据帧为所述第一语音数据的一段语音结束帧;其中,n为大于或等于5的自然数;
17.所述语音开始帧和所述语音结束帧为所述第一语音数据的语音端点。
18.在其中的一些实施例中,所述获取待检测的第一语音数据之前,包括,构建用于所述分类模型训练的第二语音数据帧;
19.对所述第二语音数据帧进行特征提取,得到第二特征;
20.构建所述分类模型,所述分类模型包括2个门控循环单元层和3个全连接层,所述分类模型用于对所述第二语音数据帧进行分类;
21.根据所述第二特征对所述分类模型进行训练。
22.在其中的一些实施例中,所述构建用于所述分类模型训练的第二语音数据帧,包括,
23.获取语音数据集,所述语音数据集中包括多个第三语音数据,所述多个第三语音数据中包括有效语音和无效语音;
24.对所述第三语音数据进行纯语音提取,得到纯语音数据集,所述纯语音数据集中包括多个纯语音数据;
25.对所述多个纯语音数据进行分帧处理,得到每个纯语音数据对应的多个纯语音数据帧,每个所述纯语音数据帧的时间长度相同;
26.根据所述多个纯语音数据帧构建所述第二语音数据帧。
27.在其中的一些实施例中,所述根据所述多个纯语音数据帧构建所述第二语音数据帧,包括,
28.将所述多个纯语音数据进行拼接,在相邻的两个纯语音数据之间插入k个静音数据帧,得到所述第二语音数据帧;所述第二语音数据帧由所述纯语音数据帧和所述静音数据帧构成;其中,k为10~50的自然数;
29.所述静音数据帧的时间长度与所述第二语音数据帧的时间长度相同。
30.在其中的一些实施例中,所述根据所述多个纯语音数据帧构建所述第二语音数据帧之后,包括,
31.对所述第二语音数据帧进行标记,得到第二标签,所述第二标签用于对所述分类模型进行验证。
32.在其中的一些实施例中,所述对所述第二语音数据帧进行特征提取,得到第二特征,包括,
33.对当前第二语音数据帧及所述当前第二语音数据帧的前l个第二语音数据帧进行特征提取,将提取的特征作为所述当前第二语音数据帧的第二特征;其中,l为大于或等于5的自然数。
34.在其中的一些实施例中,所述根据所述第二特征对所述分类模型进行训练,包括,
35.在训练所述分类模型的每次迭代前,在所述第二语音数据帧中加入噪声。
36.在其中的一些实施例中,所述在训练所述分类模型的每次迭代前,在所述第二语音数据帧中加入噪声,包括,
37.在训练所述分类模型的每次迭代前,所述分类模型产生一个随机数n,n为0到1的随机数;若所述随机数n大于预设值,则在所述第二语音数据帧中加入-3db~3db的噪声。
38.第二个方面,在本实施例中提供了一种基于帧分类的语音端点检测装置,其特征在于,所述装置包括,
39.获取单元,用于获取待检测的第一语音数据;
40.分帧处理单元,用于对所述第一语音数据进行分帧处理,得到多个第一语音数据帧,每个第一语音数据帧的时间长度相同;
41.特征提取单元,用于对所述多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征;
42.帧分类单元,用于将所述第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签;所述分类模型用于对所述第一语音数据帧进行分类,所述第一标签用来表示所述第一语音数据帧中是否包含有效语音;
43.端点确定单元,用于根据所述第一语音数据帧及对应的第一标签,确定所述第一语音数据的语音端点。
44.第三个方面,在本实施例中提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一个方面中任一项所述的基于帧分类的语音端点检测方法。
45.第四个方面,在本实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一个方面中任一项所述的基于帧分类的语音端点检测方法的步骤。
46.与相关技术相比,在本实施例中提供的一种基于帧分类的语音端点检测方法及装置,通过将语音数据进行分帧处理,得到多个第一语音数据帧,对多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征,将第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签,该第一标签用来表示第一语音数据帧中是否包含有效语音,根据第一语音数据帧及对应的第一标签,确定第一语音数据的语音端点,解决了现有技术中的vad检测不准确的问题,提高了vad检测的准确率。
47.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
48.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
49.图1是执行本实施例的一种基于帧分类的语音端点检测方法的终端的硬件结构框图;
50.图2是本实施例的一种基于帧分类的语音端点检测方法的流程图;
51.图3是本实施例的一种分类模型构建及训练方法的流程图;
52.图4是本实施例的一种构建用于分类模型训练的第二语音数据帧的方法的流程图。
具体实施方式
53.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
54.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
55.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是执行本实施例的一种基于帧分类的语音端点检测方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
56.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的一种基于帧分类的语音端点检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
57.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
58.在本实施例中提供了一种基于帧分类的语音端点检测方法,图2是本实施例的一
种基于帧分类的语音端点检测方法的流程图,如图2所示,该流程包括如下步骤:
59.步骤s202,获取待检测的第一语音数据。
60.获取待检测的第一语音数据,该第一语音数据为需要检测语音端点的语音数据,该第一语音数据中包括有效语音和无效语音,有效语音和无效语音混合在一起组成第一语音数据。通常定义静音和纯噪声为无效语音,人声和带噪人声为有效语音。该第一语音数据可以通过麦克风来收集,处理器102通过麦克风来获取该第一语音数据。
61.步骤s204,对步骤s202中获取的第一语音数据进行分帧处理,得到多个第一语音数据帧,每个第一语音数据帧的时间长度相同。
62.对步骤s202中获取的第一语音数据进行分帧处理,这里的分帧处理可以是将第一语音数据分为时间长度相同的数据帧,数据帧的时间长度可以为10ms、20ms和30ms等时间长度。以数据帧的时间长度为30ms为例,分帧处理是以30ms为一帧对第一语音数据进行分帧,即将第一语音数据分成多个时间长度为30ms的数据帧,得到多个时间长度为30ms的第一语音数据帧。在分帧处理前,可对第一语音数据进行处理,当第一语音数据的时间长度不是第一语音数据帧的时间长度的整数倍时,对第一语音数据进行补齐,可以在第一语音数据最后补充静音数据,使得补充后的第一语音数据的时间长度为第一语音数据帧的时间长度的整数倍。
63.步骤s206,对多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征。
64.特征提取时可以加入当前帧的前n帧语音作为参考信息,当前帧之前不足n帧时,补相应帧数的静音信号,最终提取连续n 1帧第一语音数据帧音频的第一特征,该第一特征可以是fbank(melfilter bank,梅尔滤波器组)特征。其中,n为大于或等于5的自然数,fbank特征是根据人耳的听觉感知特性设计的,主要指的是声音的低频特征。该第一特征也可以是第一语音数据帧的其他特征,包括但不限于数据帧的帧能量、过零率(每一帧数据穿过零点的次数)等。
65.步骤s208,将第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签;分类模型用于对第一语音数据帧进行分类,第一标签用来表示第一语音数据帧中是否包含有效语音。
66.将第一语音数据帧对应的第一特征输入预先训练好的分类模型中,分类模型的输出为第一语音数据帧对应的第一标签,该分类模型用于对第一语音数据帧进行分类,该第一标签用来表示第一语音数据帧中是否包含有效语音。如第一标签为1时表示该第一语音数据帧中包含有效语音,第一标签为0时表示该第一语音数据帧中不包含有效语音。
67.步骤s210,根据第一语音数据帧及对应的第一标签,确定第一语音数据的语音端点。
68.若连续m个第一语音数据帧的第一标签为1,则表示连续m个第一语音数据帧中包含有效语音信息,则确定第一个包含有效语音信息的第一语音数据帧为第一语音数据的一段语音的开始帧。若连续n个第一语音数据帧的第一标签为0,则表示连续n个第一语音数据帧中不包含有效语音信息,则确定第一个不包含有效语音信息的第一语音数据帧为所述第一语音数据的一段语音结束帧;其中,m、n为大于或等于5的自然数。语音开始帧和语音结束帧为第一语音数据的语音端点,一个语音开始帧与其相邻的下个语音结束帧为一段语音数
据的语音端点,一个第一语音数据可以包括多个语音端点。
69.在本实施例中提供的一种基于帧分类的语音端点检测方法,通过将语音数据进行分帧处理,得到多个第一语音数据帧,对多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征,将第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签,该第一标签用来表示第一语音数据帧中是否包含有效语音,根据第一语音数据帧及对应的第一标签,确定第一语音数据的语音端点,解决了现有技术中的vad检测不准确的问题,提高了vad检测的准确率。
70.在本实施例中还提供了一种分类模型构建及训练方法。图3是本实施例的一种分类模型构建及训练方法的流程图,如图3所示,该流程包括如下步骤:
71.步骤s302,构建用于分类模型训练的第二语音数据帧。
72.该第二语音数据帧包括纯语音数据帧和静音数据帧,其中,纯语音数据帧中只有纯语音,该纯语音可以是纯人声。
73.步骤s304,对第二语音数据帧进行特征提取,得到第二特征。
74.该第二特征用于分类模型的参数训练。
75.特征提取时可以加入当前帧的前n帧语音作为参考信息,当前帧之前不足n帧时,补相应帧数的静音信号,最终提取连续n 1帧第二语音数据帧音频的第二特征,该第二特征可以是fbank(melfilter bank,梅尔滤波器组)特征。其中,n为大于或等于5的自然数,fbank特征是根据人耳的听觉感知特性设计的,主要指的是声音的低频特征。该第二特征也可以是第二语音数据帧的其他特征,包括但不限于数据帧的帧能量、过零率(每一帧数据穿过零点的次数)等。
76.步骤s306,构建分类模型,分类模型包括2个门控循环单元层和3个全连接层,分类模型用于对第二语音数据帧进行分类。
77.该分类模型为5层的深度学习模型,包括2个门控循环单元层和3个全连接层,因为只分有效语音和无效语音两类,可以在最后一个全连接层加上sigmoid函数。sigmoid是一种非线性激活函数。
78.步骤s308,根据第二特征对分类模型进行训练。
79.选择bceloss作为损失函数,adam作为优化函数,batchsize为1024,训练网络直至loss收敛。其中,bceloss是二分类交叉熵损失函数,adam是一种深度学习梯度优化算法,batchsize是一次迭代的样本个数,loss是损失函数。
80.在本实施例中提供的一种分类模型构建及训练方法,预先对分类模型进行训练,提高了分类模型帧分类的准确度。
81.在本实施例中还提供了一种构建用于分类模型训练的第二语音数据帧的方法。图4是本实施例的一种构建用于分类模型训练的第二语音数据帧的方法的流程图,如图4所示,该流程包括如下步骤:
82.步骤s402,获取语音数据集,语音数据集中包括多个第三语音数据,多个第三语音数据中包括有效语音和无效语音。
83.步骤s404,对第三语音数据进行纯语音提取,得到纯语音数据集,纯语音数据集中包括多个纯语音数据。
84.可以通过webrtcvad和sox工具处理语音数据集,得到大量只包含纯净人声的短音
频集,该短音频集即为纯语音数据集,该纯语音数据集中包括多个纯语音数据。webrtcvad是网页即时通信语音活动检测器,sox是一种开源音频处理工具。
85.步骤s406,对多个纯语音数据进行分帧处理,得到每个纯语音数据对应的多个纯语音数据帧,每个纯语音数据帧的时间长度相同。
86.这里的分帧处理可以是以30ms为一帧对纯语音数据进行分帧,即将纯语音数据分成多个时间长度为30ms的数据帧,得到多个时间长度为30ms的纯语音数据帧。在分帧处理前,可对纯语音数据进行处理,当纯语音数据的时间长度不是纯语音数据帧的时间长度的整数倍时,对纯语音数据进行补齐,可以在纯语音数据最后补充静音数据,使得补充后的纯语音数据的时间长度为纯语音数据帧的时间长度的整数倍。
87.步骤s408,根据多个纯语音数据帧构建第二语音数据帧。
88.将多个纯语音数据进行拼接,在相邻的两个纯语音数据之间插入k个静音数据帧,得到第二语音数据帧;第二语音数据帧由纯语音数据帧和静音数据帧构成;静音数据帧的时间长度与第二语音数据帧的时间长度相同。其中,k为10~50的自然数。
89.在本实施例中提供的一种构建用于分类模型训练的第二语音数据帧的方法,通过对分类模型训练数据进行分帧处理,提高了分类模型帧分类的准确度。
90.在其中的一些实施例中,对每个第二语音数据帧进行标记,得到第二标签,该第二标签用于对分类模型进行验证。将纯语音数据帧的第二标签标记为1,将所述静音数据帧的第二标签的标记为0。通过洗牌算法打乱已经标注好的第二语音数据帧,并抽取80%作为训练集,10%作为验证集,10%作为测试集。训练集中的数据用于对分类模型进行训练,得到相应的模型参数。验证集和测试集用于对训练好的分类模型进行验证,验证集和测试集中的数据经过特征提取后,输入至训练后的分类模型中,将分类模型输出的结果与对应的第二标签进行比对,若两者相同,则说明分类模型的分类结果正确,若两者不相同,则需要继续对分类模型进行训练。
91.在其中的一些实施例中,在训练所述分类模型的每次迭代前,在第二语音数据帧中加入噪声。具体地,在训练所述分类模型的每次迭代前,分类模型产生一个随机数n,n为0到1的随机数;若随机数n大于预设值,则在第二语音数据帧中加入-3db~3db的噪声。加入噪声时,每帧对应的原标签保持不变,即静音加入噪声后标签仍为0,纯语音加入噪声后标签仍为1。噪声源收集于厨房、公路、卧室、餐厅等多个场景,加入噪声训练,能有效增强模型的抗噪能力,将噪声与有效语音区分开来。
92.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
93.在本实施例中还提供了一种基于帧分类的语音端点检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
94.该装置包括,获取单元,用于获取待检测的第一语音数据;
95.分帧处理单元,用于对第一语音数据进行分帧处理,得到多个第一语音数据帧,每
个第一语音数据帧的时间长度相同;
96.特征提取单元,用于对多个第一语音数据帧进行特征提取,得到每个第一语音数据帧的第一特征;
97.帧分类单元,用于将第一特征输入预先训练好的分类模型中,得到每个第一语音数据帧对应的第一标签;分类模型用于对第一语音数据帧进行分类,第一标签用来表示第一语音数据帧中是否包含有效语音;
98.端点确定单元,用于根据第一语音数据帧及对应的第一标签,确定第一语音数据的语音端点。
99.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
100.在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
101.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
102.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行上述实施例中的任意一种基于帧分类的语音端点检测方法的步骤。
103.需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
104.此外,结合上述实施例中提供的一种基于帧分类的语音端点检测方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于帧分类的语音端点检测方法。
105.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
106.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0107]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0108]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护
范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献