CN110767236A - 一种语音识别方法和装置 - Google Patents
一种语音识别方法和装置 Download PDFInfo
- Publication number
- CN110767236A CN110767236A CN201810754310.0A CN201810754310A CN110767236A CN 110767236 A CN110767236 A CN 110767236A CN 201810754310 A CN201810754310 A CN 201810754310A CN 110767236 A CN110767236 A CN 110767236A
- Authority
- CN
- China
- Prior art keywords
- voice
- speech
- paragraphs
- preset
- preset value
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 230000008569 process Effects 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/34—Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种语音识别方法,包括:将待识别语音拆分成多个语音段落;以并行的方式将所述多个语音段落分别进行语音识别;以及将所述多个语音段落各自的语音识别结果整合成与所述待识别语音对应的语音识别结果。将长语音数据拆分成多个语音段落,并且以并行的方式对拆分形成的多个语音段落分别进行语音识别,再将得到的多个语音识别结果整合形成与该长语音数据对应的语音识别结果。通过将长语音数据拆分长多个语音段落,可以充分利用服务器的多个计算资源同时进行语音识别,大幅提高了语音识别的效率。
Description
技术领域
本发明涉及人工智能领域,具体涉及一种语音识别方法、识别装置、计算机设备以及计算机可读存储介质。
背景技术
人工智能产品所实现的智能交互过程已经由刚开始的只能由用户输入文字进行交互,发展到现在的多种交互方式,其中包括语音交互。用户只需要通过语音即可实现与人工智能产品的交互,人工智能产品通过获取和识别用户的语音数据以实现交互过程。
现有语音识别技术,无论是以文件的形式,还是以流的形式,大都采用顺序数据识别。但是当前的服务器CPU都是多核(服务器CPU一般32核以上),这就造成了在识别过程中,只能利用单核CPU的能力,无法充分发挥整台服务器的能力。从而,造成了越长或越大的语音数据,识别的时间也会相应的越长,即使增加更多CPU,换更多核的CPU,也无法提高识别效率。
发明内容
有鉴于此,本发明提供了一种语音识别方法,解决了上述的语音识别效率不高的问题。
根据本发明的一方面,本发明实施例提供了一种语音识别方法,包括:将待识别语音拆分成多个语音段落;以并行的方式将所述多个语音段落分别进行语音识别;以及将所述多个语音段落各自的语音识别结果整合成与所述待识别语音对应的语音识别结果。
在一实施例中,所述将待识别语音拆分成多个语音段落包括:根据检测到的所述待识别语音中的语音端点拆分出所述语音段落。
在一实施例中,当检测到时长大于预设时间的静音段落时,将所述静音段落的开始点和/或结束点作为所述语音端点。
在一实施例中,所述根据检测到的所述待识别语音中的语音端点拆分出所述语音段落包括:当连续第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值时,判断接下来是否有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值;当接下来有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值时,将所述第二预设数量的语音帧的开始帧作为一个语音段落的首端点;继续判断接下来是否有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值;当接下来有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值,将所述第三预设数量的语音帧的开始帧作为所述一个语音段落的尾端点;以及根据所述一个语音段落的所述首端点和所述尾端点拆分出所述一个语音段落。
在一实施例中,当并没有连续所述第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值时,将当前识别的语音帧向后移动第四预设数量个语音帧;和/或,当有连续第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值,但接下来并没有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值时,将当前识别的语音帧向后移动第四预设数量个语音帧。
在一实施例中,在所述判断为找到一个语音段落的首端点后,进一步包括:当接下来并没有连续所述第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值时,将当前识别的语音帧向后移动第五预设数量个语音帧,继续判断判断接下来是否有连续所述第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值。
在一实施例中,所述以并行的方式将所述多个语音段落分别进行语音识别包括:将拆分出的所述多个语音段落输入线程池,其中,所述线程池中的每一个线程配置为执行对一个所述语音段落的语音识别过程。
在一实施例中,其中所述线程池进一步配置为:当拆分出的所述语音段落的数量小于第一预设线程数量时,每拆分出一个所述语音段落,则创建一个线程执行对该一个所述语音段落的语音识别过程。
在一实施例中,所述以并行的方式将所述多个语音段落分别进行语音识别进一步包括:当拆分出的所述语音段落的数量大于等于第一预设线程数量时,每拆分出一个所述语音段落,则将该一个所述语音段落放入任务缓冲队列;其中所述线程池进一步配置为:当有空闲线程时,使所述空闲线程从所述任务缓冲队列中取出一个所述语音段落执行语音识别过程。
在一实施例中,所述线程池进一步配置为:当无法将拆分出的所述语音段落放入所述任务缓冲队列时,创建一个线程执行对该拆分出的所述语音段落的语音识别过程。
在一实施例中,所述线程池进一步配置为:当拆分出的所述语音段落的数量大于等于第二预设线程数量时,拒绝执行对拆分出的所述语音段落的语音识别过程。
在一实施例中,当所述语音识别过程通过集成在本地终端的语音识别引擎进行时,所述线程池所能容纳的线程数量设置为所述本地终端的处理器核芯数量;或,当所述语音识别过程通过集成在远程云端的语音识别引擎进行时,所述线程池所能容纳的线程数量设置为拆分出的所述语音段落的数量。
根据本发明的另一方面,本发明一实施例提供了一种语音识别装置,包括:拆分模块,配置为将待识别语音拆分成多个语音段落;识别模块,配置为以并行的方式将所述多个语音段落分别进行语音识别;以及整合模块,配置为将所述多个语音段落各自的语音识别结果整合成与所述待识别语音对应的语音识别结果。
根据本发明的另一方面,本发明一实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上被所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上任一项所述方法的步骤。
根据本发明的另一方面,本发明一实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。
本发明实施例提供的一种语音识别方法、装置,将长语音数据拆分成多个语音段落,并且以并行的方式对拆分形成的多个语音段落分别进行语音识别,再将得到的多个语音识别结果整合形成与该长语音数据对应的语音识别结果。通过将长语音数据拆分长多个语音段落,可以充分利用服务器的多个计算资源同时进行语音识别,大幅提高了语音识别的效率。
附图说明
图1所示为本发明一实施例提供的语音识别方法的流程图。
图2所示为本发明另一实施例提供的语音识别方法的流程图。
图3所示为本发明另一实施例提供的语音识别方法的流程图。
图4所示为本发明另一实施例提供的语音识别方法的流程图。
图5所示为本发明另一实施例提供的语音识别方法的流程图。
图6所示为本发明另一实施例提供的语音识别方法的流程图。
图7所示为本发明一实施例提供的语音识别装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为本发明一实施例提供的语音识别方法的流程图。如图1所示,本发明实施例提供的语音识别方法包括如下步骤:
步骤1100:将待识别语音拆分成多个语音段落。
在人工智能中常常会有语音数据,智能系统需要将语音数据识别成对应的语义并进行交互,语音识别的过程通常是在服务器中由识别引擎等实现。由于服务器所接收到的语音数据会有较长的待识别语音,如果只是采用顺序数据识别的方式,那么就会需要较长的时间进行识别。因此,本发明实施例将待识别的语音拆分为多个较短的语音段落后再进行识别。
步骤1200:以并行的方式将多个语音段落分别进行语音识别。
现有的服务器一般都是多核的中央处理器(以下简称CPU),即服务器的CPU包括多个引擎,采用顺序数据识别的方式只能利用CPU单个引擎的能力而闲置其他的引擎,这样就造成了没有充分发挥服务器的整体能力,也就造成了语音识别效率不高的问题。因此,本发明实施例将多个语音段落以并行的方式分配给CPU的多个引擎分别对多个语音段落进行预设识别。
步骤1300:将多个语音段落各自的语音识别结果整合成与待识别语音对应的语音识别结果。
根据待识别语音的拆分顺序及各个引擎的分配顺序,将各个引擎分别识别得到的语音识别结果整合到一起,形成与该待识别语音对应的语音识别结果。
本发明实施例通过将较长的待识别语音拆分成多个语音段落并利用多个引擎并行的方式对多个语音段落分别识别,再将多个语音段落的语音识别结果整合形成与原待识别语音对应的语音识别结果,充分发挥了服务器的整体语音识别能力,大幅的提高了语音识别的效率。
图2所示为本发明另一实施例提供的语音识别方法的流程图。如图2所示,上述步骤1100的实现方式可具体包括:
步骤1150:根据检测到的待识别语音中的语音端点拆分出语音段落。
检测待识别语音中的语音端点就是从待识别语音中确定语音的起始点和终止点,并且区分语音数据和非语音数据。通过检测到的待识别语音中的语音端点(即起始点和终止点),将待识别语音拆分为多个语音段落,其中,每个语音段落包括一个起始点至一个终止点的语音数据。通过将较长的待识别语音拆分成多个语音段落并利用多个引擎并行的方式对多个语音段落分别识别,再将多个语音段落的语音识别结果整合形成与原待识别语音对应的语音识别结果。充分发挥了服务器的整体语音识别能力,大幅的提高了语音识别的效率。
在一实施例中,当检测到时长大于预设时间的静音段落时,可将静音段落的开始点和/或结束点作为语音端点。
由于待识别语音中可能包含有较长时间的静音段落,例如在待识别语音的开始阶段或者中间的休息、停顿阶段都可能出现较长时间的静音段落。本发明实施例通过预设一个时间,当检测到的静音段落的时长大于该预设时间时,将待识别语音中的较长时间的静音段落筛选出来,并以筛选出来的静音段落的开始点和/或结束点作为语音端点。通过筛选出时间较长的静音段落,减少了语音段落的数量,同时避免识别没有实际内容的静音段落,进一步提高识别效率。
图3所示为本发明另一实施例提供的语音识别方法的流程图。如图3所示,上述步骤1150的实现方式可具体包括:
步骤1151:判断连续第一预设数量的语音帧的短时能量是否大于第一预设值且过零率是否大于第二预设值,若是,则转步骤1152。
由于语音段的能量比噪声段的能量大,因此,可以从能量上区别语音段与噪声段。过零率表示语音信号波形穿过横轴(零电平)的次数,语音中的高频段有高过零率,而低频段过零率较低,因此,可以用来区分轻音和浊音。本发明实施例通过短时能量和过零率与预设值的比较可以得出连续第一预设数量的语音帧是否为语音段。
步骤1152:判断接下来是否有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值,若是,则转步骤1153。
当第一预设数量的语音帧为语音段时,进一步判断接下来的连续第二预设数量的语音帧是否为语音段。
步骤1153:将第二预设数量的语音帧的开始帧作为一个语音段落的首端点,并转步骤1154。
当第一预设数量的语音帧及第二预设数量的语音帧都为语音段时,将第二预设数量的语音帧的开始帧作为一个语音段落的首端点。
步骤1154:判断接下来是否有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值,若是,则转步骤1155。
在确定了语音段落的首端点后,进一步判断接下来的连续第三预设数量的语音帧的短时能量与过零率。当连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值时,即第三预设数量的语音帧为非语音段。
步骤1155:将第三预设数量的语音帧的开始帧作为一个语音段落的尾端点,并转步骤1156。
当第三预设数量的语音帧为非语音段时,可将第三预设数量的语音帧的开始帧作为一个语音段落的尾端点。
步骤1156:根据一个语音段落的首端点和尾端点拆分出一个语音段落。
通过上述步骤得到首端点和尾端点,并根据首端点和尾端点拆分出一个语音段落,实现了将待识别语音拆分成多个有效的语音段落,避免了无效的语音段落的识别,进一步提高了语音识别的效率。
图4所示为本发明另一实施例提供的语音识别方法的流程图。如图4所示,上述步骤1150的实现方式还可进一步包括:当步骤1151的判断结果为否时和/或当步骤1152的判断结果为否时,转步骤1157。
步骤1157:将当前识别的语音帧向后移动第四预设数量个语音帧,并转步骤1151。
当第一预设数量的语音帧不是语音段时,和/或,第一预设数量的语音帧是语音段但是第二预设数量的语音帧不是语音段时,将当前识别的语音帧向后移动第四预设数量个语音帧。通过向后移动语音帧来过滤掉非语音段,以精简需要语音识别的有效语音段落,进一步提高语音识别的效率。
图5所示为本发明另一实施例提供的语音识别方法的流程图。如图5所示,上述步骤1150的实现方式还可进一步包括:当步骤1154的判断结果为否时,转步骤1158。
步骤1158:将当前识别的语音帧向后移动第五预设数量个语音帧,并转步骤1154。
当没有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值时,将当前识别的语音帧向后移动第五预设数量个语音帧,并且继续判断接下来是否有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值。在确定首端点后通过判断静音段来确定尾端点,以实现一个完整的语句被一个语音段落所包含,防止完整的语句被拆开至两个语音段落而造成前后语义的影响使得语音识别的偏差,提高了语音识别的精度。
图6所示为本发明另一实施例提供的语音识别方法的流程图。如图6所示,上述步骤1200的实现方式具体可包括如下步骤:
步骤1250:将拆分出的多个语音段落输入线程池。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。在本实施例中,线程池中的每一个线程配置为执行对一个语音段落的语音识别过程。通过在线程池创建多个线程来分别识别多个语音段落,以提高语音识别的效率。
在一实施例中,当拆分出的语音段落的数量小于第一预设线程数量时,每拆分出一个语音段落,可创建一个线程执行对该一个语音段落的语音识别过程。
设置第一预设线程数量,当拆分出的语音段落的数量小于第一预设线程数量时。即拆分出的语音段落的数量较少时,每拆分出一个语音段落,可创建一个线程对该语音段落进行语音识别过程,保证拆分出的语音段落能够第一时间被执行识别过程,最大限度的提高语音识别的效率。
在一实施例中,当拆分出的语音段落的数量大于等于第一预设线程数量时,每拆分出一个语音段落,可将该一个语音段落放入任务缓冲队列;其中当有空闲线程时,使空闲线程从任务缓冲队列中取出一个语音段落执行语音识别过程。
当拆分出的语音段落的数量较多,如大于等于设置的第一预设线程数量时,将后续拆分出来的语音段落放入任务缓冲队列等待,直到有空闲的线程时,该空闲的线程从任务缓冲队列中取出一个语音段落执行语音识别过程。本实施例在语音段落数量较大时,将拆分出的新的语音段落放入任务缓冲队列,不再创建新的线程,以防止所创建的线程数量过多而影响服务器整体的运行效率。
在一实施例中,当无法将拆分出的语音段落放入任务缓冲队列时,可创建一个线程执行对该拆分出的语音段落的语音识别过程。当无法将拆分出的语音段落放入任务缓冲队列,即任务缓冲队列中放入的语音段落已达上限时,可以创建新的线程执行对该拆分出的语音段落的语音识别过程,以缓解任务缓冲队列的压力。
在一实施例中,当拆分出的语音段落的数量大于等于第二预设线程数量时,可拒绝执行对拆分出的语音段落的语音识别过程。当拆分出的语音段落的数量大于等于第二预设线程数量时,其中,第二预设线程数量大于上述实施例中的第一预设线程数量。即拆分出的语音段落的数量已达到或接近服务器的最大运行负载时,可以拒绝执行对拆分出的语音段落的语音识别过程,以防止服务器负载过大而造成的损坏。
在一实施例中,语音识别过程可通过集成在本地终端的语音识别引擎进行,和/或可通过集成在远程云端的语音识别引擎进行。通过不同的语音识别引擎进行语音识别过程,可以综合两种语音识别引擎的优点,同时也能根据该优点适时选取合适的语音识别引擎进行语音识别过程,以保证语音识别的效率。
应当理解,本发明实施例可以根据不同的应用场景而选取不同的语音识别引擎,只要所选取的语音识别引擎能够满足待识别语音的语音识别需求即可,本发明实施例对于语音识别引擎的类型不做限定。
在一实施例中,当语音识别过程通过集成在本地终端的语音识别引擎进行时,线程池所能容纳的线程数量可设置为本地终端的处理器核芯数量;或,当语音识别过程通过集成在远程云端的语音识别引擎进行时,线程池所能容纳的线程数量可设置为拆分出的语音段落的数量。
当语音识别过程通过集成在本地终端的语音识别引擎进行时,将线程数量设置为本地终端的处理器核芯数量(即引擎数量),可以实现服务器所有引擎同时执行语音识别过程,使得语音识别的效率达到最大。同样的,当语音识别过程通过集成在远程云端的语音识别引擎时,将线程数量设置为拆分出的语音段落的数量(即任务数量),可以实现所有语音段落同时被执行语音识别过程,使得语音识别的效率达到最大。
应当理解,本发明实施例将线程数量设置为本地终端的处理器核芯数量或拆分出的语音段落的数量是出于效率最大化考虑,并非只能采用该方案;本发明实施例可以根据不同的应用场景而选取不同的线程数量,只要所选取的线程数量能够满足待识别语音的语音识别需求即可,本发明实施例对于线程的数量不做限定。
在一实施例中,语音识别过程可包括将语音内容转为文字内容。应当理解,本发明实施例可以根据不同的应用场景而选取不同的语音识别过程,只要所选取的语音识别过程能够由本发明实施例所提供的语音识别方法实现即可,本发明实施例对于语音识别的具体形式和内容不做限定。
图7所示为本发明一实施例提供的语音识别装置的结构示意图。如图7所示,该语音识别装置包括:拆分模块701,用于将待识别语音拆分成多个语音段落;识别模块702,用于以并行的方式将多个语音段落分别进行语音识别;以及整合模块703,用于将多个语音段落各自的语音识别结果整合成与待识别语音对应的语音识别结果。
本发明实施例通过拆分模块将较长的待识别语音拆分成多个语音段落并利用识别模块以并行的方式对多个语音段落分别进行语音识别识别,最后由整合模块将多个语音段落的语音识别结果整合形成与原待识别语音对应的语音识别结果,充分发挥了服务器的整体语音识别能力,大幅的提高了语音识别的效率。
在一实施例中,拆分模块701可进一步配置为:根据检测到的待识别语音中的语音端点拆分出语音段落。通过检测到的待识别语音中的语音端点(即起始点和终止点),将待识别语音拆分为多个语音段落,其中,每个语音段落包括一个起始点至一个终止点的语音数据。通过将较长的待识别语音拆分成多个语音段落并利用多个引擎并行的方式对多个语音段落分别识别,再将多个语音段落的语音识别结果整合形成与原待识别语音对应的语音识别结果。充分发挥了服务器的整体语音识别能力,大幅的提高了语音识别的效率。
在一实施例中,拆分模块701可进一步配置为:当检测到时长大于预设时间的静音段落时,将静音段落的开始点和/或结束点作为语音端点。通过预设一个时间,当检测到的静音段落的时长大于该预设时间时,将待识别语音中的较长时间的静音段落筛选出来,并以筛选出来的静音段落的开始点和/或结束点作为语音端点。通过筛选出时间较长的静音段落,减少了语音段落的数量,同时避免识别没有实际内容的静音段落,进一步提高识别效率。
在一实施例中,拆分模块701可包括:第一判断单元,用于判断是否有连续第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值;第二判断单元,用于当第一判断单元的判断结果为是时,判断接下来是否有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值;首端点识别单元,用于当第二判断单元的判断结果为是时,将第二预设数量的语音帧的开始帧作为一个语音段落的首端点;第三判断单元,用于当首端点识别单元识别出首端点时,继续判断接下来是否有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值;尾端点识别单元,用于当第三判断单元的判断结果为是时,将第三预设数量的语音帧的开始帧作为一个语音段落的尾端点;以及拆分单元,用于根据一个语音段落的首端点和尾端点拆分出一个语音段落。
首端点识别单元根据第一判断单元、第二判断单元的判断结果确定一个语音段落的首端点后,尾端点识别单元根据第三判断单元的判断结果确定该语音段落的尾端点,拆分单元根据首端点和尾端点拆分出该语音段落。通过拆分模块实现了将待识别语音拆分成多个有效的语音段落,避免了无效的语音段落的识别,进一步提高了语音识别的效率。
在一实施例中,语音识别装置可进一步包括:第一移帧单元,用于当第一判断单元或第二判断单元的判断结果为否时,将当前识别的语音帧向后移动第四预设数量个语音帧。当第一预设数量的语音帧不是语音段时,或第一预设数量的语音帧是语音段但是第二预设数量的语音帧不是语音段时,将当前识别的语音帧向后移动第四预设数量个语音帧。通过向后移动语音帧来过滤掉非语音段,以精简需要语音识别的有效语音段落,进一步提高语音识别的效率。
在一实施例中,语音识别装置可进一步包括:第二移帧单元,用于在首端点识别单元识别出一个语音段落的首端点后,当第三判断单元的判断结果为否时,将当前识别的语音帧向后移动第五预设数量个语音帧。在确定首端点后通过判断静音段来确定尾端点,以实现一个完整的语句被一个语音段落所包含,防止完整的语句被拆开至两个语音段落而造成前后语义的影响使得语音识别的偏差,提高了语音识别的精度。
在一实施例中,识别模块702可进一步配置为:将拆分出的多个语音段落输入线程池,其中,线程池中的每一个线程配置为执行对一个语音段落的语音识别过程。通过在线程池创建多个线程来分别识别多个语音段落,以提高语音识别的效率。
在一实施例中,其中线程池可进一步配置为:当拆分出的语音段落的数量小于第一预设线程数量时,每拆分出一个语音段落,则创建一个线程执行对该一个语音段落的语音识别过程。当拆分出的语音段落的数量较少时,每拆分出一个语音段落,可创建一个线程对该语音段落进行语音识别过程,保证拆分出的语音段落能够第一时间被执行识别过程,最大限度的提高语音识别的效率。
在一实施例中,识别模块702可进一步配置为:当拆分出的语音段落的数量大于等于第一预设线程数量时,每拆分出一个语音段落,则将该一个语音段落放入任务缓冲队列;其中线程池进一步配置为:当有空闲线程时,使空闲线程从任务缓冲队列中取出一个语音段落执行语音识别过程。在语音段落数量较大时,将拆分出的新的语音段落放入任务缓冲队列,不再创建新的线程,以防止所创建的线程数量过多而影响服务器整体的运行效率。
在一实施例中,线程池可进一步配置为:当无法将拆分出的语音段落放入任务缓冲队列时,创建一个线程执行对该拆分出的语音段落的语音识别过程。当任务缓冲队列中放入的语音段落已达上限时,可以创建新的线程执行对该拆分出的语音段落的语音识别过程,以缓解任务缓冲队列的压力。
在一实施例中,线程池可进一步配置为:当拆分出的语音段落的数量大于等于第二预设线程数量时,拒绝执行对拆分出的语音段落的语音识别过程。当拆分出的语音段落的数量已达到或接近服务器的最大运行负载时,可以拒绝执行对拆分出的语音段落的语音识别过程,以防止服务器负载过大而造成的损坏。
在一实施例中,语音识别过程可通过集成在本地终端的语音识别引擎进行,和/或通过集成在远程云端的语音识别引擎进行。根据实际应用的需求,例如请求数量等,可以选择通过集成在本地终端的语音识别引擎进行,和/或通过集成在远程云端的语音识别引擎进行。通过不同的语音识别引擎进行语音识别过程,可以综合两种语音识别引擎的优点,同时也能根据该优点适时选取合适的语音识别引擎进行语音识别过程,以保证语音识别的效率。
应当理解,本发明实施例可以根据不同的应用场景而选取不同的语音识别引擎,只要所选取的语音识别引擎能够满足待识别语音的语音识别需求即可,本发明实施例对于语音识别引擎的类型不做限定。
在一实施例中,当线程池所能容纳的线程数量等于本地终端的处理器核芯数量时,语音识别过程通过集成在本地终端的语音识别引擎进行;或,当线程池所能容纳的线程数量等于拆分出的语音段落的数量时,语音识别过程通过集成在远程云端的语音识别引擎进行。
当语音识别过程通过集成在本地终端的语音识别引擎进行时,将线程数量设置为本地终端的处理器核芯数量(即引擎数量),可以实现服务器所有引擎同时执行语音识别过程,使得语音识别的效率达到最大。同样的,当语音识别过程通过集成在远程云端的语音识别引擎时,将线程数量设置为拆分出的语音段落的数量(即任务数量),可以实现所有语音段落同时被执行语音识别过程,使得语音识别的效率达到最大。
应当理解,本发明实施例将线程数量设置为本地终端的处理器核芯数量或拆分出的语音段落的数量是出于效率最大化考虑,并非只能采用该方案;本发明实施例可以根据不同的应用场景而选取不同的线程数量,只要所选取的线程数量能够满足待识别语音的语音识别需求即可,本发明实施例对于线程的数量不做限定。
在一实施例中,语音识别过程包括将语音内容转为文字内容。应当理解,本发明实施例可以根据不同的应用场景而选取不同的语音识别过程,只要所选取的语音识别过程能够由本发明实施例所提供的语音识别方法实现即可,本发明实施例对于语音识别的具体形式和内容不做限定。
本发明一实施例还提供一种计算机设备,包括存储器、处理器以及存储在存储器上被处理器执行的计算机程序,处理器执行计算机程序时实现如前任一实施例所描述的语音识别方法的步骤。
本发明一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前任一实施例所描述的语音识别方法的步骤。
应当理解,上述实施例所提供的语音识别装置中记载的每个模块或单元都与前述的一个方法步骤相对应。由此,前述的方法步骤描述的操作和特征同样适用于该语音识别装置及其中所包含的对应的模块和单元,重复的内容在此不再赘述。
应当理解,虽然以上描述了本发明实施方式的一种实现形式可以是计算机程序产品,但是本发明的实施方式的方法或装置可以被依软件、硬件、或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和设备可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的方法和装置可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当理解,尽管在上文的详细描述中提及了装置的若干模块或单元,但是这种划分仅仅是示例性而非强制性的。实际上,根据本发明的示例性实施方式,上文描述的两个或更多模块/单元的特征和功能可以在一个模块/单元中实现,反之,上文描述的一个模块/单元的特征和功能可以进一步划分为由多个模块/单元来实现。此外,上文描述的某些模块/单元在某些应用场景下可被省略。
应当理解,为了不模糊本发明的实施方式,说明书仅对一些关键、未必必要的技术和特征进行了描述,而可能未对一些本领域技术人员能够实现的特征做出说明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种语音识别方法,其特征在于,包括:
将待识别语音拆分成多个语音段落;
以并行的方式将所述多个语音段落分别进行语音识别;以及
将所述多个语音段落各自的语音识别结果整合成与所述待识别语音对应的语音识别结果。
2.根据权利要求1所述的方法,其特征在于,所述将待识别语音拆分成多个语音段落包括:
根据检测到的所述待识别语音中的语音端点拆分出所述语音段落。
3.根据权利要求2所述的方法,其特征在于,当检测到时长大于预设时间的静音段落时,将所述静音段落的开始点和/或结束点作为所述语音端点。
4.根据权利要求2所述的方法,其特征在于,所述根据检测到的所述待识别语音中的语音端点拆分出所述语音段落包括:
当连续第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值时,判断接下来是否有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值;
当接下来有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值时,将所述第二预设数量的语音帧的开始帧作为一个语音段落的首端点;
继续判断接下来是否有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值;
当接下来有连续第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值,将所述第三预设数量的语音帧的开始帧作为所述一个语音段落的尾端点;以及
根据所述一个语音段落的所述首端点和所述尾端点拆分出所述一个语音段落。
5.根据权利要求4所述的方法,其特征在于,进一步包括:当并没有连续所述第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值时,将当前识别的语音帧向后移动第四预设数量个语音帧;和/或,
当有连续第一预设数量的语音帧的短时能量大于第一预设值且过零率大于第二预设值,但接下来并没有连续第二预设数量的语音帧的短时能量大于第三预设值且过零率大于第四预设值时,将当前识别的语音帧向后移动第四预设数量个语音帧。
6.根据权利要求4所述的方法,其特征在于,在所述判断为找到一个语音段落的首端点后,进一步包括:
当接下来并没有连续所述第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值时,将当前识别的语音帧向后移动第五预设数量个语音帧,继续判断判断接下来是否有连续所述第三预设数量的语音帧的短时能量小于第五预设值且过零率小于第六预设值。
7.根据权利要求1所述的方法,其特征在于,所述以并行的方式将所述多个语音段落分别进行语音识别包括:
将拆分出的所述多个语音段落输入线程池,其中,所述线程池中的每一个线程配置为执行对一个所述语音段落的语音识别过程。
8.根据权利要求7所述的方法,其特征在于,其中所述线程池进一步配置为:
当拆分出的所述语音段落的数量小于第一预设线程数量时,每拆分出一个所述语音段落,则创建一个线程执行对该一个所述语音段落的语音识别过程。
9.根据权利要求7所述的方法,其特征在于,所述以并行的方式将所述多个语音段落分别进行语音识别进一步包括:
当拆分出的所述语音段落的数量大于等于第一预设线程数量时,每拆分出一个所述语音段落,则将该一个所述语音段落放入任务缓冲队列;
其中所述线程池进一步配置为:当有空闲线程时,使所述空闲线程从所述任务缓冲队列中取出一个所述语音段落执行语音识别过程。
10.根据权利要求9所述的方法,其特征在于,所述线程池进一步配置为:当无法将拆分出的所述语音段落放入所述任务缓冲队列时,创建一个线程执行对该拆分出的所述语音段落的语音识别过程。
11.根据权利要求7至10中任一所述的方法,其特征在于,所述线程池进一步配置为:当拆分出的所述语音段落的数量大于等于第二预设线程数量时,拒绝执行对拆分出的所述语音段落的语音识别过程。
12.根据权利要求11所述的方法,其特征在于,当所述语音识别过程通过集成在本地终端的语音识别引擎进行时,所述线程池所能容纳的线程数量设置为所述本地终端的处理器核芯数量;
或,
当所述语音识别过程通过集成在远程云端的语音识别引擎进行时,所述线程池所能容纳的线程数量设置为拆分出的所述语音段落的数量。
13.一种语音识别装置,其特征在于,包括:
拆分模块,配置为将待识别语音拆分成多个语音段落;
识别模块,配置为以并行的方式将所述多个语音段落分别进行语音识别;以及
整合模块,配置为将所述多个语音段落各自的语音识别结果整合成与所述待识别语音对应的语音识别结果。
14.一种计算机设备,包括存储器、处理器以及存储在所述存储器上被所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754310.0A CN110767236A (zh) | 2018-07-10 | 2018-07-10 | 一种语音识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754310.0A CN110767236A (zh) | 2018-07-10 | 2018-07-10 | 一种语音识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110767236A true CN110767236A (zh) | 2020-02-07 |
Family
ID=69326875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810754310.0A Withdrawn CN110767236A (zh) | 2018-07-10 | 2018-07-10 | 一种语音识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110767236A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210822A (zh) * | 2020-02-12 | 2020-05-29 | 支付宝(杭州)信息技术有限公司 | 语音识别方法及其装置 |
CN111641757A (zh) * | 2020-05-15 | 2020-09-08 | 北京青牛技术股份有限公司 | 坐席通话的实时质检与辅助话术推送的方法 |
CN113271381A (zh) * | 2021-04-02 | 2021-08-17 | 浙江百应科技有限公司 | 一种ai语音通信方法、系统及合成服务器 |
CN113271382A (zh) * | 2021-04-02 | 2021-08-17 | 浙江百应科技有限公司 | 一种ai语音通信方法、设备和服务器 |
JP7509008B2 (ja) | 2020-11-17 | 2024-07-02 | トヨタ自動車株式会社 | 情報処理システム、情報処理方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1231473A (en) * | 1983-06-07 | 1988-01-12 | Andre Desblache | Voice activity detection process and means for implementing said process |
CN101308653A (zh) * | 2008-07-17 | 2008-11-19 | 安徽科大讯飞信息科技股份有限公司 | 一种应用于语音识别系统的端点检测方法 |
CN103165130A (zh) * | 2013-02-06 | 2013-06-19 | 湘潭安道致胜信息科技有限公司 | 语音文本匹配云系统 |
CN108022587A (zh) * | 2017-12-15 | 2018-05-11 | 深圳市声扬科技有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
-
2018
- 2018-07-10 CN CN201810754310.0A patent/CN110767236A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1231473A (en) * | 1983-06-07 | 1988-01-12 | Andre Desblache | Voice activity detection process and means for implementing said process |
CN101308653A (zh) * | 2008-07-17 | 2008-11-19 | 安徽科大讯飞信息科技股份有限公司 | 一种应用于语音识别系统的端点检测方法 |
CN103165130A (zh) * | 2013-02-06 | 2013-06-19 | 湘潭安道致胜信息科技有限公司 | 语音文本匹配云系统 |
CN108022587A (zh) * | 2017-12-15 | 2018-05-11 | 深圳市声扬科技有限公司 | 语音识别方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
宋知用: "《MATALAB语音信号分析与合成》", 31 January 2018 * |
王满洪等: "基于双门限算法的端点检测改进研究", 《计算机与数字工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210822A (zh) * | 2020-02-12 | 2020-05-29 | 支付宝(杭州)信息技术有限公司 | 语音识别方法及其装置 |
CN111641757A (zh) * | 2020-05-15 | 2020-09-08 | 北京青牛技术股份有限公司 | 坐席通话的实时质检与辅助话术推送的方法 |
JP7509008B2 (ja) | 2020-11-17 | 2024-07-02 | トヨタ自動車株式会社 | 情報処理システム、情報処理方法及びプログラム |
CN113271381A (zh) * | 2021-04-02 | 2021-08-17 | 浙江百应科技有限公司 | 一种ai语音通信方法、系统及合成服务器 |
CN113271382A (zh) * | 2021-04-02 | 2021-08-17 | 浙江百应科技有限公司 | 一种ai语音通信方法、设备和服务器 |
CN113271381B (zh) * | 2021-04-02 | 2023-03-28 | 浙江百应科技有限公司 | 一种ai语音通信方法、系统及合成服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110767236A (zh) | 一种语音识别方法和装置 | |
CN105931644B (zh) | 一种语音识别方法及移动终端 | |
US9741343B1 (en) | Voice interaction application selection | |
CN110349564B (zh) | 一种跨语言语音识别方法和装置 | |
US20220108086A1 (en) | Coarse-to-fine abstractive dialogue summarization with controllable granularity | |
US11302303B2 (en) | Method and device for training an acoustic model | |
JP2020030408A (ja) | オーディオにおける重要語句を認識するための方法、装置、機器及び媒体 | |
CN110795532A (zh) | 一种语音信息的处理方法、装置、智能终端以及存储介质 | |
CN109840052B (zh) | 一种音频处理方法、装置、电子设备及存储介质 | |
US9570069B2 (en) | Sectioned memory networks for online word-spotting in continuous speech | |
CN111079408B (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN110770826A (zh) | 安全的话语存储 | |
JP2022120024A (ja) | オーディオ信号処理方法、モデルトレーニング方法、並びにそれらの装置、電子機器、記憶媒体及びコンピュータプログラム | |
WO2023082752A1 (zh) | 基于多模态特征的语音对话处理方法、装置和电子设备 | |
CN114596845A (zh) | 语音识别模型的训练方法、语音识别方法及装置 | |
CN112331188A (zh) | 一种语音数据处理方法、系统及终端设备 | |
CN114627868A (zh) | 意图识别方法、装置、模型及电子设备 | |
US20230386474A1 (en) | Emotion-based voice controlled device | |
CN104751856A (zh) | 一种语音语句识别方法及装置 | |
US10269355B2 (en) | Data processing device, data processing method, and computer program product | |
CN113099043A (zh) | 客户服务的控制方法、装置和计算机可读存储介质 | |
CN116541494A (zh) | 模型训练方法、回复信息的方法、装置、设备及介质 | |
TWI818427B (zh) | 使用基於文本的說話者變更檢測的說話者劃分糾正方法及系統 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
CN114266240A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200207 |