CN115831109A - 语音唤醒方法、装置、存储介质及电子设备 - Google Patents
语音唤醒方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115831109A CN115831109A CN202211189552.2A CN202211189552A CN115831109A CN 115831109 A CN115831109 A CN 115831109A CN 202211189552 A CN202211189552 A CN 202211189552A CN 115831109 A CN115831109 A CN 115831109A
- Authority
- CN
- China
- Prior art keywords
- voice
- awakening
- detection
- segment
- wake
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Electric Clocks (AREA)
Abstract
一种语音唤醒方法、装置、存储介质及电子设备。其中,方法包括获取语音信息,并对语音信息进行语音活动端点检测;当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。相较于相关技术,本申请通过在语音片段之间设置合理的间断时间,使得间断说出的唤醒词也能够被准确识别,该方法可以极大地提升慢语速场景下的唤醒成功率。
Description
技术领域
本申请涉及语音识别技术领域,具体涉及一种语音唤醒方法、装置、存储介质及电子设备。
背景技术
随着人工智能技术的不断发展,各类基于人工智能技术的产品也不断出现在人们的生产生活中,给人们的日常生活带来了极大的便利。其中,目前应用较为广泛的当属基于语音识别技术的智能助手、智能音箱等产品。
以智能助手为例,当用户需要使用智能助手时,需要说出对应的唤醒词以唤醒智能助手。然而,在一些情况下,例如在用户语速较慢的情况下,会出现说出唤醒词无法唤醒智能助手,唤醒成功率较低的问题。
发明内容
本申请提供了一种语音唤醒方法、装置、存储介质及电子设备,能够提升语音唤醒的成功率。
本申请提供的语音唤醒方法,包括:
获取语音信息,并对所述语音信息进行语音活动端点检测;
当根据语音活动端点检测结果确定了第一语音片段时,对所述第一语音片段进行唤醒检测;
当唤醒检测结果为唤醒失败时,计算所述第一语音片段的语音活动终点与下一语音活动起点之间的时间差;
当所述时间差小于预设数值时,获取所述下一语音活动起点对应的第二语音片段;
对所述第一语音片段与所述第二语音片段进行融合得到融合语音片段,并基于所述融合语音片段进行唤醒检测。
本申请提供的语音唤醒装置,包括:
第一获取模块,用于获取语音信息,并对所述语音信息进行语音活动端点检测;
第一检测模块,用于当根据语音活动端点检测结果确定了第一语音片段时,对所述第一语音片段进行唤醒检测;
计算模块,用于当唤醒检测结果为唤醒失败时,计算所述第一语音片段的语音活动终点与下一语音活动起点之间的时间差;
第二获取模块,用于当所述时间差小于预设数值时,获取所述下一语音活动起点对应的第二语音片段;
第二检测模块,用于对所述第一语音片段与所述第二语音片段进行融合得到融合语音片段,并基于所述融合语音片段进行唤醒检测。
本申请提供的存储介质,其上存储有计算机程序,当所述计算机程序被处理器加载时执行如本申请提供的语音唤醒方法中的步骤。
本申请提供的电子设备,包括处理器和存储器,所述存储器存有计算机程序,所述处理器通过加载所述计算机程序,用于执行本申请提供的语音唤醒方法中的步骤。
本申请提供的计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请提供的语音唤醒方法中的步骤。
本申请中,获取语音信息,并对语音信息进行语音活动端点检测;当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。相较于相关技术,本申请通过在语音片段之间设置合理的间断时间,使得间断说出的唤醒词也能够被准确识别,该方法可以极大地提升慢语速场景下的唤醒成功率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的语音唤醒系统的场景示意图。
图2是本申请实施例提供的语音唤醒方法的流程示意图。
图3是本申请实施例中提供语音活动端点检测的一个示意图。
图4是本申请实施例中提供语音活动端点检测的另一个示意图。
图5是本申请提供的语音唤醒方法的另一流程示意图。
图6是本申请实施例提供的语音唤醒装置的结构框图。
图7是本申请实施例提供的电子设备的结构框图。
具体实施方式
需要说明的是,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其他具体实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请以下实施例中所涉及的诸如第一和第二等关系术语仅用于将一个对象或者操作与另一个对象或者操作区分开来,并不用于限定这些对象或操作之间存在着实际的顺序关系。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能、感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括机器学习(Machine Learning,ML)技术,其中,深度学习(Deep Learning,DL)是机器学习中一个新的研究方向,它被引入机器学习以使其更接近于最初的目标,即人工智能。目前,深度学习主要应用在计算机视觉、自然语言处理等领域。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
为了能够提高语音唤醒的成功率,本申请提供一种语音唤醒方法装置、存储介质以及电子设备。其中,语音唤醒方法可由电子设备执行。
请参照图1,本申请还提供一种语音唤醒系统,如图1所示,为本申请提供的语音唤醒系统的使用场景示意图,该语音唤醒系统包括电子设备100,比如,电子设备获取语音信息,并对语音信息进行语音活动端点检测;当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。其中,电子设备100可以将融合语音片段发送到装载唤醒检测模型的服务器200中进行唤醒检测,得到检测结果。服务器200在识别出识别结果后将识别结果返回给电子设备100,以使得电子设备100根据识别结果进行语音唤醒。
电子设备100可以是任何配置有处理器而具备语音处理能力的设备,比如智能手机、平板电脑、掌上电脑、笔记本电脑、智能音箱等具备处理器的移动式电子设备,或者台式电脑、电视、服务器等具备处理器的固定式电子设备。
需要说明的是,图1所示的语音唤醒系统的场景示意图仅仅是一个示例,本申请实施例描述的语音唤醒系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着语音唤醒系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
请参照图2,图2为本申请实施例提供的语音唤醒方法的流程示意图。如图2所示,本申请实施例提供的语音唤醒方法的流程可以如下:
在S301中,获取语音信息,并对语音信息进行语音活动端点检测。
其中,在相关技术中,对电子设备的语音唤醒一般都基于端点检测技术来识别唤醒词,然后基于识别结果对电子设备进行语音唤醒。端点检测,也叫语音活动检测(VoiceActivity Detection,VAD),目的是对语音和非语音的区域进行区分。具体地,端点检测是为了从带有噪声的语音中准确的定位出语音的开始点和结束点,去掉静音的部分,找到一段语音真正有效的内容。语音活动端点检测是语音唤醒是否正确的关键技术之一,端点的准确性在某种程度上直接决定了唤醒的成败。如果端点检测准确,可以在语音唤醒中提高唤醒效果及减少唤醒时间。端点检测大致可以分为两类:基于特征的方法和基于模型的方法,基于特征的方法是指寻找对语音和噪声具有区分性的特征,按一定的规则来判断语音段与噪声段,所用的特征主要有能量、基频、过零率、熵等。基于模型的方法是指针对噪声与语音分别建模,用分类的方法来进行端点的检测。其中基于能量的VAD是一种最简单的方法,只要能量小于某个门槛值,我们就认定是静音或是噪音。该方法逻辑简单,计算效率高,容易应用于实时系统。在正常语速下,能量VAD可以正确检测出端点,但在慢语速下,由于发音不连续,唤醒词中间存在较长一段时间的静音,传统的能量VAD就会将唤醒词中间的停顿也判定为静音段切掉,导致唤醒词被切分成两段,端点不再准确,后续步骤中的唤醒效果不好。例如:当以正常语速说出“你好小飞”时可以对设备进行唤醒,但如果用户在说“你好”和“小飞”之间存在一定的停顿,那么电子设备会将“你好”以及“小飞”识别为两段语音,而这两段语音都无法独立唤醒电子设备,导致电子设备在慢语速场景下的唤醒成功率下降。针对上述问题,本申请提出了一种语音唤醒方法,以期能够提升在慢语速场景下的语音唤醒成功率。下面,对本申请提供的语音唤醒方法进行详细介绍。
首先,电子设备在待机时,会间断性地对环境语音进行获取,当环境语音的能量始终低于一个设定的门限值时,则可以认为环境处于静音状态,电子设备保持间断性获取环境语音的状态;当检测到环境语音的能量大于该门限值时,则触发电子设备对环境语音进行持续获取,并对获取到的环境语音进行唤醒词分析。
在一些实施例中,对语音信息进行语音活动端点检测,包括:
将语音信息划分为多个连续的音频帧;
对每一音频帧进行能量检测;
基于每一音频帧的能量对语音信息进行语音活动端点检测。
下面,可以先对端点检测的具体方法做一定的介绍。如图3所示,为语音活动端点检测的一个示意图。对于一个音频流,可以确定音频流中每一音频帧的能量值,然后可以设置一个能量门限值,如果从音频流中的某一帧音频帧开始的第一数量帧音频帧中存在第二数量帧音频帧的能量值大于上述能量门限值,则可以确定该帧音频帧为语音活动起点。此处第一数量大于第二数量。具体例如,从音频流的第五帧音频帧开始的十帧音频帧中存在八帧音频帧的能量值大于能量门限值,则可以确定该音频流的第五帧音频帧为语音活动起点。如果音频流中的某一帧音频帧之前的连续第三数量帧的能量值都小于前述能量门限值,则可以确定该帧音频帧为语音活动终点。例如当音频流的第100帧之前的十帧音频帧,即第91帧至第100帧音频帧的能量均小于前述能量门限值,则可以确定第100帧音频帧为语音活动终点。此处第91帧至第100帧音频帧则可以称为静音帧。语音活动起点至语音活动终点之间的语音数据,即前述第5帧至第100帧音频帧为需要进行唤醒词识别的语音片段。语音活动起点与其之后最接近的语音活动终点可以称为一个语音活动端点组合。
当用户输入的唤醒语音的语速正常时,即用户在一个语音活动端点组合之间的语音片段中说出完整唤醒词,例如说出“你好小飞”,则可以根据前述确定的语音活动端点组合之间的语音片段确定唤醒语音,然后将该唤醒语音输入至唤醒检测模型中进行特征提取和检测得到检测结果,当检测结果满足唤醒条件时,则对电子设备进行唤醒。
当用户输入的唤醒语音的语速不连续时,即在唤醒词之间存在间断或者静音部分时,例如在说出“你好”之后停顿了一会再说出“小飞”;或者在说出“你”之后停顿了一会说出“好”,然后又停顿了一会说出“小飞”;此时则可以进一步检测下一个语音活动起点。如图4所示,为本申请中对语音活动端点进行确定的示意图,如图所示,在本申请实施例中,可以在获取到的语音信息对应的音频流中确定了第一语音活动起点和第一语音活动终点,并据此确定了第一语音片段。若第一语音片段的唤醒检测不成功,则可以进一步进行语音活动端点检测,得到第二语音活动起点以及也可以得到第二语音活动终点。其中,在语音信息中确定至少两组连续的语音活动端点组合具体可以根据语音信息中每一音频帧的能量数值根据前述语音活动端点检测方法进行确定,即在语音信息中确定至少两组连续的语音活动端点组合。
具体地,基于每一音频帧的能量对所述语音信息进行语音活动端点检测,包括:
逐一将每一音频帧的能量与预设能量数值进行比对;
当检测到第一目标音频帧之后第一数量的音频帧中,存在第二数量的能量大于所述预设能量数值的音频帧时,确定所述第一目标音频帧为语音活动起点,所述第一数量大于或等于所述第二数量;
当检测到第二目标音频帧之前连续第三数量的音频帧的能量小于或等于所述预设能量数值时,确定所述第二目标音频帧为语音活动终点。
即此处可以按照图3示例的语音活动端点检测方法从语音信息的第一帧开始按时间顺序逐个进行语音活动端点检测,即将每一音频帧的能量与预设能量数值进行比对。此处预设能量数值便可以为前述能量门限值。根据每一音频帧与能量门限值的比对结果,并结合前述语音端点检测方法可以检测出语音活动起点,当检测出一个语音活动起点后,则可以进一步继续逐帧进行音频帧能量与能量门限值的比对,直到检测出该语音活动起点对应的语音活动终点。
其中,在一些实施例中,对每一音频帧进行能量检测,包括:
获取每一音频帧的采样点数量以及每一采样点的振幅;
根据每一音频帧的采样点数量以及每一采样点的振幅计算每一音频帧的能量。
在本申请实施例中,每一帧音频帧的能量数值,具体可以为音频帧的短时能量。音频帧的短时能量可以基于音频帧的采样点数量以及每一采样点的振幅进行计算得到,本申请实施例提供如下计算音频帧的短时能量的公式:
在S302中,当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测。
如前所述,在相关技术中,一般都是对端点检测得到的一组端点组合对应的一个语音片段进行唤醒检测。即在相关技术中,当根据语音活动端点检测结果确定了第一语音片段后,便只采用该第一语音片段进行唤醒检测。具体地,可以将该第一语音片段输入至唤醒检测模型中,得到输出的唤醒检测结果。无论唤醒检测模型的检测结果如何,唤醒检测模型都会输出唤醒检测结果,并对唤醒检测模型进行状态重置(flush)。如此,当用户慢语速说出唤醒词时,由于慢语速导致唤醒词之间的间隔时间大于前述静音帧(91帧到100帧)对应的时长,便会导致唤醒词被拆分为两个或者更多个语音片段,而由于前述唤醒检测模型的检测完就重置状态的机制,导致唤醒检测时是对拆分得到的多个语音片段逐一进行唤醒检测,然而对拆分得到的每一语音片段进行单独的唤醒检测的检测结果都无法满足唤醒条件,进而便会导致唤醒失败。
在S303中,当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差。
在本申请实施例中,当对第一语音片段进行唤醒检测的结果为唤醒失败时,不再直接对唤醒检测模型进行状态重置,而是继续对语音信息进行语音活动端点检测,以确定下一个语音活动起点。可以理解的是,下一语音活动起点在时序上为第一语音活动片段的语音活动终点之后最近的一个语音活动起点。
当检测到下一语音活动起点后,可以计算第一语音活动片段的语音活动终点和下一语音活动起点之间的时间差。
在一些实施例中,也可以计算相邻两个语音片段之间的间隔的音频帧的数量来确定两个语音片段之间的时间差。其中,可以理解的是,相邻两个语音片段之间的时间差必然大于前述静音帧对应的时间长度,例如前述10帧静音帧对应的时间长度为0.1秒时,那么此处的时间差必然大于0.1秒。
在S304中,当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段。
在计算出相邻语音片段之间的时间差后,可以进一步将该时间差与一个预设数值进行比较。此处预设数值可以为一个时间段数值,例如1秒。在本申请实施例中,考虑到用户慢语速的情况,在用户慢语速说出唤醒词时,说出的唤醒词之间可能存在间断或者静音部分,可以认为在间隔1秒内继续说出的语音片段也是属于用户说出的唤醒词部分。那么便可以根据这多个语音片段的组合确定用户说出的唤醒语音,而不是根据一个语音端点组合对应的一个语音片段来确定用户说出的唤醒语音。
因此,当确定时间差小于预设数值时,便可以继续对语音信息进行语音活动端点检测,以确定前述下一语音活动起点之后的语音活动端点,即该下一语音活动起点对应的语音活动终点。进一步地,便可以据此获取这两个语音活动端点之间的语音片段,此处可以称为第二语音片段。
而如果两个语音片段之间的时间差大于前述预设数值,例如1秒时,便可以确定用户说出的就是两个语音片段,并不是因为慢语速原因被误拆分为两个语音片段,这种情况下可以逐一对每一语音片段进行唤醒检测。
在S305中,对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。
获取到第二语音片段后,可以进一步将第一语音片段和第二语音片段进行融合,得到融合语音片段,或称为唤醒语音。然后进一步对融合语音片段进行唤醒检测。
在一些实施例中,可以理解为进行唤醒检测的语音均称为唤醒语音,对第一语音片段进行唤醒检测时,唤醒语音就是第一语音片段。当对第一语音片段的唤醒检测失败,获取了第二语音片段并与第一语音片段进行融合得到融合语音片段后,便可以采用融合语音片段更新唤醒语音,然后再对唤醒语音进行唤醒检测。如果对唤醒语音检测仍然失败时,还可以继续获取下一语音活动起点,并计算其与第二语音活动片段的语音活动终点之间的时间差,若时间差仍小于前述预设数值,则可以进一步获取第三语音活动片段,并将第三语音活动片段与前述融合片段进一步融合以更新唤醒语音,然后继续对唤醒语音进行唤醒检测。
在一些实施例中,当时间差小于预设数值时,根据相应语音活动端点组合对应的语音片段,确定唤醒语音,包括:
当在语音信息中确定了两组连续的语音活动端点组合,且时间差小于预设数值时,确定两组连续的语音活动端点组合对应的两个语音片段;
将两个语音片段按时间顺序拼接得到唤醒语音。
在本申请实施例中,当在语音信息中确定的连续语音活动端点组合的数量为两个时,即如图4所示的示例,在语音信息中确定了两组语音活动端点组合,即确定了两个语音片段时,可以将这两端语音片段按照时间顺序拼接得到唤醒语音。
具体地,例如第一语音片段为“你好”,第二语音片段为“小飞”时,那么对这两个语音片段进行拼接便可以得到“你好小飞”的新的语音片段作为唤醒语音。然后可以对“你好小飞”这个唤醒语音进行唤醒检测。
在一些实施例中,当时间差小于预设数值时,根据相应语音活动端点组合对应的语音片段,确定唤醒语音,包括:
当在语音信息中确定了多组连续的语音活动端点组合,且每相邻两组语音活动端点组合之间的时间差均小于预设数值时,确定每一组语音活动端点组合对应的语音片段,得到多个语音片段;
将多个语音片段按时间顺序拼接得到唤醒语音。
在本申请实施例中,当在语音信息中确定了多组(大于或等于三组)语音活动端点组合时,那么则需要逐一确定每一相邻语音片段之间的时间差,也就是逐一确定每一相邻两组语音活动端点组合的首尾之间的时间差是否均小于前述预设数值,当所有相邻语音片段之间的时间差均小于前述预设数值时,便可以将多组语音活动端点组合对应的多个语音片段按照时间顺序进行拼接得到唤醒语音。
具体地,例如当从语音信息中确定了4组语音活动端点组合,即确定了4个语音片段,分别为“你”、“好”、“小”以及“飞”对应的语音片段,此时便可以逐一确定所有相邻语音片段之间的时间差,当所有相邻语音片段之间的时间差均小于预设数值时,便可以将多个语音片段按照时间顺序拼接成“你好小飞”这一唤醒语音。可以理解的是,当从语音信息中确定的多组语音活动端点组合,即确定的多个语音片段中也可能包括唤醒词以外的信息,例如“播放音乐”。例如拼接得到的唤醒语音为“你好小飞播放音乐”,当唤醒检测系统对唤醒语音按时间进行唤醒检测的过程中检测到“你好小飞”时,便可以确定检测结果已经满足唤醒条件,此时便可以直接对电子设备进行唤醒。
在一些实施例中,当在语音信息中确定了多组连续的语音活动端点组合时,当只有连续的部分语音片段之间的时间差小于预设数值时,也可以将连续的部分语音片段进行拼接确定唤醒语音。具体地,例如在语音信息中确定了三组语音活动端点组合,对应的语音片段分别包括“你”、“好”、“小飞”以及“播放音乐”。在该情况下,若前三个语音片段之间相邻语音片段之间的时间差小于预设数值,便可以将前三个语音片段拼接成唤醒语音“你好小飞”。
其中,如前所述,判断相邻语音片段之间的时间差是否小于预设数值的步骤,也可以通过判断相邻语音片段之间的音频帧数量是否小于一个预设数值来实现,例如判断相邻语音片段之间的音频帧数量是否小于100帧。
采用本申请提供的方法,可以避免在慢语速场景下由于将用户说出的唤醒语音划分为多个语音片段,再对每个单独语音片段进行唤醒检测时无法成功唤醒的问题,从而可以提升唤醒检测的准确性,进而可以提升电子设备的唤醒成功率。
其中,在基于本申请提供的上述方法确定了慢语速场景下的唤醒语音后,便可以根据该唤醒语音进行唤醒检测,然后根据唤醒检测结果对唤醒对象进行语音唤醒。具体地,唤醒对象可以为电子设备本身,也可以为其他需要进行唤醒的唤醒对象。
在一些实施例中对第一语音片段进行唤醒检测,包括:
将第一语音片段输入至唤醒检测模型中进行唤醒检测,得到唤醒检测结果;
对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测,包括:
将第二语音片段输入至唤醒检测模型中,与第一语音片段共同进行唤醒检测。
具体地,在本申请实施例中,对语音片段进行唤醒检测,具体可以采用唤醒检测模型来实现,即将识别到的语音片段(唤醒语音)输入至唤醒检测模型中进行唤醒检测。唤醒检测模型在接收到唤醒语音时,可以先对唤醒语音进行特征提取,然后将提取得到的特征送入至多层感知机(Multilayer Perceptron,MLP)中进行特征映射,得到检测结果。其中,检测结果可以为一个概率值,可以称为唤醒概率,该概率值指示了唤醒语音符合唤醒条件的概率。当唤醒概率大于一个预设值时,便可以确定唤醒成功,此时便可以对待唤醒对象进行语音唤醒。
其中,在一些实施例中,本申请提供的语音唤醒方法还可以包括:
当唤醒检测结果为唤醒成功时,对待唤醒对象进行语音唤醒;
唤醒检测模型进行状态重置。
在本申请实施例中,当唤醒检测模型检测到唤醒失败时,则暂时先不对模型状态进行重置,可以进一步等待下一语音片段的输入,在下一语音片段输入后便可以将其与前一语音片段融合成一个语音片段进行唤醒检测。如果检测到当前已经得到的识别结果已经满足唤醒条件,则对唤醒对象进行唤醒并对唤醒检测模型进行初始化。
具体地,例如当在语音信息中识别得到“你好”、“小飞”以及“播放音乐”这三个语音片段。其中每两个相邻的语音片段之间的时间差均小于预设数值。在对语音信息进行逐帧识别时,先识别到“你好”对应的语音片段,并输入到唤醒检测模型中进行检测,此时唤醒检测结果并不满足唤醒条件,唤醒模型不重置状态只返回唤醒结果。然后当检测到“小飞”语音片段与“你好”语音片段之间的时间差小于预设数值,便可以继续将“小飞”语音片段输入到唤醒检测模型进行唤醒检测,此时检测到的检测结果“你好小飞”已经满足唤醒条件,此时便可以直接唤醒电子设备,无需继续将语音片段“播放音乐”输入到唤醒检测模型进行继续识别。进一步地,可以将唤醒检测模型状态进行重置,然后再将语音片段“播放音乐”输入到唤醒检测模型中进行新一轮的语音识别。
在一些实施例中,本申请提供的语音唤醒方法还包括:
当时间差大于或等于预设数值时,对唤醒检测模型进行状态重置。
其中,在计算两个语音片段之间的时间差时,若计算确定时间差不小于前述预设数值,则终止唤醒检测模型等候状态,直接对其进行状态重置,以便进入下一轮的唤醒检测。
采用本实施例提供的方案,可以避免在慢语速场景下唤醒慢的问题,可以在识别到满足唤醒条件的唤醒词后立即对电子设备进行唤醒,提升唤醒效率。
下面将以一具体实例对本申请提供的技术方案的具体实现过程进行详细介绍。
如图5所示,为本申请提供的语音唤醒方法的另一流程示意图。
在S401中,设置端点检测初始状态为未找到语音活动起点以及未找到语音活动终点。
首先,设置VAD初始状态,初始状态为未找到语音活动起点(即isVADStart=false)也未找到语音活动终点(即isVADEnd=false)。
在S402中,缓存一帧音频帧,计算短时能量,并累计每一音频帧的短时能量与能量门限值的比较结果。
在进行端点检测时,电子设备持续获取音频帧,然后对每一音频帧进行短时能量检测,检测到音频帧的短时能量后,便将该音频帧的短时能量与能量门限值Eth进行比较,并记录比较结果。
在S403中,判断是否符合语音活动起点条件。
每获取一帧音频帧,都可以检测是否检测到语音活动起点,即VADStart。如果没有检测到,则返回S402继续获取下一帧音频帧。如果检测到了语音活动起点,则进入S404进行语音活动终点检测。
在S404中,判断是否符合语音活动终点条件。
在检测到语音活动起点后,便可以进一步进行语音活动终点,即VADEnd检测。如果没有检测到,则进入步骤405,将每一帧音频帧都送入唤醒检测模型进行唤醒检测。如果检测到了VADEnd,则进入步骤406,判断当前检测结果是否符合唤醒条件。
在S405中,将音频帧送入唤醒检测模型进行唤醒检测。
即在检测到语音活动起点后以及检测到语音活动终点前,需要将该期间获取到的每一音频帧都送入到唤醒检测模型中进行语音识别。即将识别到的语音活动起点和终点之间的音频片段都需要送到唤醒检测模型进行唤醒检测,得到检测结果。
在S406中,判断检测结果是否符合唤醒条件。
在将音频帧送入到唤醒检测模型进行唤醒检测得到检测结果后,可以进一步对检测结果进行判断,以确定检测结果是否已经符合唤醒条件,如果检测结果已经符合唤醒条件,则直接对电子设备进行唤醒,并跳转到S412中重置系统的所有状态,即进行flush操作。然后重新进行新一轮的唤醒检测。如果当前检测结果尚不满足唤醒条件,则对音频帧进行继续获取和端点检测。
在S407中,缓存一帧音频帧,计算短时能量,并累计每一音频帧的短时能量与能量门限值的比较结果。
该步骤与S402作用相同,此处不作赘述。只是此处为已经确定了一组语音活动端点后的进一步操作。
在S408中,判断是否符合语音活动起点条件。
该步骤与步骤S403一致,此处不再赘述。
在S409中,判断语音活动起点与前一语音活动终点之间的间隔帧数是否大于N。
此处N为一个预设值,即预设数量的音频帧。如果新的语音活动起点与前一语音活动终点之间间隔的音频帧的数量小于N帧,则表示新的语音片段与前一语音片段之间的间隔较小,较大可能为由于慢语速问题导致被划分为不同语音片段。此时可以继续将音频帧送入唤醒检测模型,与上一段语音片段进行共同识别。如果间隔的音频帧大于N帧,则说明已经开始了新的语音任务,此时可以转入步骤412进行flush,以便开始新一轮的语音识别。
在S410中,将音频帧送入唤醒检测模型进行唤醒检测。
该步骤与步骤S405相同,此处不再赘述。
在S411中,判断是否符合语音活动终点条件。
该步骤与不是S404相同,此处不再赘述。
在S412中,重置所有状态。
其中,在判断前一轮VAD任务结束,例如唤醒检测到的检测结果已经满足唤醒条件,或者识别到新的VADStart与前一VADEnd之间的间隔帧已经大于预设的N帧时,则确定前一轮VAD任务已经结束。此时便可以重置所有状态,重新从S401开始新一轮的唤醒识别任务。
对于慢语速唤醒词数据,在相关技术中,VAD会将唤醒词中间的停顿当成静音段切掉,导致一个唤醒词被切分成多段,VAD端点不准。针对慢语速问题,“你好”和“小飞”其实是一个唤醒词的两个部分,不应该独立解码,而是应该在解码“你好”后,继续送入“小飞”的音频,两者共同解码才会抛出唤醒结果。在两段VAD切割的音频之间,本方案调整flush位置,只有当VadEnd之后超出指定帧数N后,才会在下一次VadStart处flush,重置所有状态,否则不进行flush,在现有状态下继续送音频解码,并在最终解码串中给出中间间隔的帧数,供后续矫正尾端点。当“你好”和“小飞”间的停顿没有超出指定帧数N时,则不会进行flush,而是接着进行“小飞”的解码,唤醒词音频就不再是独立解码,而是共同解码,最终抛出唤醒消息。当两个唤醒词间的静音超出指定帧数N,则会进行flush,重置所有状态,为下次唤醒做准备。如果两个唤醒词间的静音长度也没有超过指定帧数N,但是因为前一个唤醒词已唤醒,抛出唤醒词后引擎会自动重置解码模块,为下次唤醒做准备。
其中,在实际使用中,电子设备抛出唤醒结果一般是在flush操作时进行抛出。在本申请实施例中,当在语音信息中识别到多个语音片段时,flush操作的节点会在最后一个VADend之后N帧位置进行。那么便会出现用户说出完整唤醒语音后还需要等待N帧音频帧对应的时间才能唤醒。即会出现说出唤醒词后需要等待较长时间,才突然抛出唤醒结果的问题,影响用户体验。对此,本申请还提供了一种设计,即将前述判断VADEnd时采用的静音帧的长度适当加长。然后设计在VADEnd处抛出唤醒结果。如此便可以采用加长静音帧来解决慢语速场景下唤醒语音被拆分为多个语音片段的问题,也可以避免设置过长的时间差导致在时间差之后抛出唤醒结果,即出现前述说出唤醒词后需等待较长时间才突然抛出唤醒结果的问题。
此外,在增加静音帧长度后,虽然可以及时抛出唤醒结果,但带来的后果是送入到后续模块的音频在慢语速下就增加了静音帧的长度,还是以“你好小飞”为例,送入到后续唤醒检测模型的音频就可能变成了“你好+静音段+小飞”。为提升唤醒率,可以在唤醒词表中增加“你好+静音段+小飞”的词条。
根据上述描述可知,本申请提供的语音唤醒方法,通过获取语音信息,并在语音信息中确定至少两组连续的语音活动端点组合,语音活动端点组合包括语音活动起点以及语音活动终点;计算相邻两组语音活动端点组合中前一语音活动端点组合的语音活动终点,与后一语音活动端点组合中的语音活动起点之间的时间差;当时间差小于预设数值时,根据相应语音活动端点组合对应的语音片段,确定唤醒语音;基于唤醒语音对待唤醒对象进行语音唤醒。相较于相关技术,本申请通过在语音片段之间设置合理的间断时间,使得间断说出的唤醒词也能够被准确识别,该方法可以极大地提升慢语速场景下的唤醒成功率。
请参照图6,为更好的执行本申请所提供的语音唤醒方法,本申请进一步提供一种语音唤醒装置500,如图6所示,该语音唤醒装置500包括:
第一获取模块510,用于获取语音信息,并对语音信息进行语音活动端点检测;
第一检测模块520,用于当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;
计算模块530,用于当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;
第二获取模块540,用于当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;
第二检测模块550,用于对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。
可选地,在一些实施例中,第一获取模块,包括:
划分子模块,用于将语音信息划分为多个连续的音频帧;
第一检测子模块,用于对每一音频帧进行能量检测;
第二检测子模块,用于基于每一音频帧的能量对语音信息进行语音活动端点检测。
可选地,在一些实施例中,第二检测子模块,包括:
比对单元,用于逐一将每一音频帧的能量与预设能量数值进行比对;
第一确定单元,用于当检测到第一目标音频帧之后第一数量的音频帧中,存在第二数量的能量大于预设能量数值的音频帧时,确定第一目标音频帧为语音活动起点,第一数量大于或等于第二数量;
第二确定单元,用于当检测到第二目标音频帧之前连续第三数量的音频帧的能量小于或等于预设能量数值时,确定第二目标音频帧为语音活动终点。
可选地,在一些实施例中,第一检测子模块,包括:
获取单元,用于获取每一音频帧的采样点数量以及每一采样点的振幅;
计算单元,用于根据每一音频帧的采样点数量以及每一采样点的振幅计算每一音频帧的能量。
可选地,在一些实施例中,第一检测模块,包括:
输入子模块,用于将第一语音片段输入至唤醒检测模型中进行唤醒检测,得到唤醒检测结果;
第二检测模块,还用于:
将第二语音片段输入至唤醒检测模型中,与第一语音片段共同进行唤醒检测。
可选地,在一些实施例中,本申请提供的语音唤醒装置还包括:
第一重置模块,用于当时间差大于或等于预设数值时,对唤醒检测模型进行状态重置。
可选地,在一些实施例中,本申请提供的语音唤醒装置还包括:
唤醒模块,用于当唤醒检测结果为唤醒成功时,对待唤醒对象进行唤醒;
第二重置模块,用于对唤醒检测模型进行状态重置。
应当说明的是,本申请实施例提供的语音唤醒装置500与上文实施例中的语音唤醒方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
根据上述描述可知,本申请提供的语音唤醒装置,通过第一获取模块510获取语音信息,并对语音信息进行语音活动端点检测;第一检测模块520当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;计算模块530当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;第二获取模块540当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;第二检测模块550对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。相较于相关技术,本申请通过在语音片段之间设置合理的间断时间,使得间断说出的唤醒词也能够被准确识别,该方法可以极大地提升慢语速场景下的唤醒成功率。
本申请实施例还提供一种电子设备,包括存储器和处理器,其中处理器通过调用存储器中存储的计算机程序,用于执行本实施例提供的语音唤醒方法中的步骤。
请参照图7,图7为本申请实施例提供的电子设备100的结构示意图。
该电子设备100可以包括网络接口110、存储器120、处理器130以及屏幕组件等部件。本领域技术人员可以理解,图7中示出的电子设备100结构并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
网络接口110可以用于进行设备之间的网络连接。
存储器120可用于存储计算机程序和数据。存储器120存储的计算机程序中包含有可执行代码。计算机程序可以划分为各种功能模块。处理器130通过运行存储在存储器120的计算机程序,从而执行各种功能应用以及数据处理。
处理器130是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分,通过运行或执行存储在存储器120内的计算机程序,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据,从而对电子设备100进行整体控制。
在本实施例中,电子设备100中的处理器130会按照如下的指令,将一个或一个以上的计算机程序对应的可执行代码加载到存储器120中,并由处理器130来执行本申请提供的语音唤醒方法中的步骤,比如:
获取语音信息,并对语音信息进行语音活动端点检测;当根据语音活动端点检测结果确定了第一语音片段时,对第一语音片段进行唤醒检测;当唤醒检测结果为唤醒失败时,计算第一语音片段的语音活动终点与下一语音活动起点之间的时间差;当时间差小于预设数值时,获取下一语音活动起点对应的第二语音片段;对第一语音片段与第二语音片段进行融合得到融合语音片段,并基于融合语音片段进行唤醒检测。
应当说明的是,本申请实施例提供的电子设备100与上文实施例中的语音唤醒方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
本申请还提供一种计算机可读的存储介质,其上存储有计算机程序,当其存储的计算机程序在本申请实施例提供的电子设备的处理器上执行时,使得电子设备的处理器执行以上任一适于电子设备的语音唤醒方法中的步骤。其中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)或者随机存取器(Random Access Memory,RAM)等。
以上对本申请所提供的一种语音唤醒方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种语音唤醒方法,其特征在于,所述方法包括:
获取语音信息,并对所述语音信息进行语音活动端点检测;
当根据语音活动端点检测结果确定了第一语音片段时,对所述第一语音片段进行唤醒检测;
当唤醒检测结果为唤醒失败时,计算所述第一语音片段的语音活动终点与下一语音活动起点之间的时间差;
当所述时间差小于预设数值时,获取所述下一语音活动起点对应的第二语音片段;
对所述第一语音片段与所述第二语音片段进行融合得到融合语音片段,并基于所述融合语音片段进行唤醒检测。
2.根据权利要求1所述的方法,其特征在于,所述对所述语音信息进行语音活动端点检测,包括:
将所述语音信息划分为多个连续的音频帧;
对每一音频帧进行能量检测;
基于每一音频帧的能量对所述语音信息进行语音活动端点检测。
3.根据权利要求2所述的方法,其特征在于,所述基于每一音频帧的能量对所述语音信息进行语音活动端点检测,包括:
逐一将每一音频帧的能量与预设能量数值进行比对;
当检测到第一目标音频帧之后第一数量的音频帧中,存在第二数量的能量大于所述预设能量数值的音频帧时,确定所述第一目标音频帧为语音活动起点,所述第一数量大于或等于所述第二数量;
当检测到第二目标音频帧之前连续第三数量的音频帧的能量小于或等于所述预设能量数值时,确定所述第二目标音频帧为语音活动终点。
4.根据权利要求2所述的方法,其特征在于,所述对每一音频帧进行能量检测,包括:
获取每一音频帧的采样点数量以及每一采样点的振幅;
根据每一音频帧的采样点数量以及每一采样点的振幅计算每一音频帧的能量。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述对所述第一语音片段进行唤醒检测,包括:
将所述第一语音片段输入至唤醒检测模型中进行唤醒检测,得到唤醒检测结果;
所述对所述第一语音片段与所述第二语音片段进行融合得到融合语音片段,并基于所述融合语音片段进行唤醒检测,包括:
将所述第二语音片段输入至所述唤醒检测模型中,与所述第一语音片段共同进行唤醒检测。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述时间差大于或等于所述预设数值时,对所述唤醒检测模型进行状态重置。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当唤醒检测结果为唤醒成功时,对待唤醒对象进行唤醒;
对所述唤醒检测模型进行状态重置。
8.一种语音唤醒装置,其特征在于,所述装置包括:
第一获取模块,用于获取语音信息,并对所述语音信息进行语音活动端点检测;
第一检测模块,用于当根据语音活动端点检测结果确定了第一语音片段时,对所述第一语音片段进行唤醒检测;
计算模块,用于当唤醒检测结果为唤醒失败时,计算所述第一语音片段的语音活动终点与下一语音活动起点之间的时间差;
第二获取模块,用于当所述时间差小于预设数值时,获取所述下一语音活动起点对应的第二语音片段;
第二检测模块,用于对所述第一语音片段与所述第二语音片段进行融合得到融合语音片段,并基于所述融合语音片段进行唤醒检测。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被处理器加载时执行如权利要求1-7中任一项所述的语音唤醒方法中的步骤。
10.一种电子设备,包括处理器和存储器,所述存储器储存有计算机程序,其特征在于,所述处理器通过加载所述计算机程序,用于执行如权利要求1至7中任一项所述的语音唤醒方法中的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述的语音唤醒方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211189552.2A CN115831109A (zh) | 2022-09-28 | 2022-09-28 | 语音唤醒方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211189552.2A CN115831109A (zh) | 2022-09-28 | 2022-09-28 | 语音唤醒方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115831109A true CN115831109A (zh) | 2023-03-21 |
Family
ID=85524072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211189552.2A Pending CN115831109A (zh) | 2022-09-28 | 2022-09-28 | 语音唤醒方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115831109A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116705025A (zh) * | 2023-08-02 | 2023-09-05 | 泉州市三川通讯技术股份有限责任公司 | 一种车载终端通信方法 |
-
2022
- 2022-09-28 CN CN202211189552.2A patent/CN115831109A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116705025A (zh) * | 2023-08-02 | 2023-09-05 | 泉州市三川通讯技术股份有限责任公司 | 一种车载终端通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110136749B (zh) | 说话人相关的端到端语音端点检测方法和装置 | |
CN107767863B (zh) | 语音唤醒方法、系统及智能终端 | |
CN108711421B (zh) | 一种语音识别声学模型建立方法及装置和电子设备 | |
CN108962227B (zh) | 语音起点和终点检测方法、装置、计算机设备及存储介质 | |
CN111933129A (zh) | 音频处理方法、语言模型的训练方法、装置及计算机设备 | |
CN113327609B (zh) | 用于语音识别的方法和装置 | |
CN111797632B (zh) | 信息处理方法、装置及电子设备 | |
CN112151015B (zh) | 关键词检测方法、装置、电子设备以及存储介质 | |
CN111768783A (zh) | 语音交互控制方法、装置、电子设备、存储介质和系统 | |
CN115910043A (zh) | 语音识别方法、装置及车辆 | |
CN116153294B (zh) | 语音识别方法、装置、系统、设备及介质 | |
US20230368796A1 (en) | Speech processing | |
CN112071310A (zh) | 语音识别方法和装置、电子设备和存储介质 | |
CN112767916A (zh) | 智能语音设备的语音交互方法、装置、设备、介质及产品 | |
JP2002215187A (ja) | 音声認識方法及びその装置 | |
CN111862943B (zh) | 语音识别方法和装置、电子设备和存储介质 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
CN111128174A (zh) | 一种语音信息的处理方法、装置、设备及介质 | |
CN113611316A (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN111862963B (zh) | 语音唤醒方法、装置和设备 | |
CN114399992B (zh) | 语音指令响应方法、装置及存储介质 | |
JP6306447B2 (ja) | 複数の異なる対話制御部を同時に用いて応答文を再生する端末、プログラム及びシステム | |
CN112397053B (zh) | 语音识别方法、装置、电子设备及可读存储介质 | |
CN115497479A (zh) | 语音命令识别 | |
CN114141233A (zh) | 一种语音唤醒方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |