首页 > 乐器声学 专利正文
回声消除方法、装置、设备及存储介质与流程

时间:2022-02-06 阅读: 作者:专利查询

回声消除方法、装置、设备及存储介质与流程
回声消除方法、装置、设备及存储介质
1.本技术是申请号为201910205707.9,申请日为2019年03月18日,发明名称为《回声消除方法、装置、设备及存储介质》的分案申请。
技术领域
2.本公开涉及信号处理领域,尤其涉及一种回声消除方法、装置、设备及存储介质。


背景技术:

3.目前,在语音识别中,可以通过回声消除处理,例如声学回声消除(acoustic echo cancellation,aec)算法,以实现对采集到的语音信号中的回声的消除。
4.现有技术中,回声消除处理具体是根据所播放的参考信号与麦克风采集到的该参考信号对应的回声信号之间的时延,将麦克风采集到的语音信号中所包括的回声信号进行消除,从而得到讲话者发出的原始信号,避免由于回声信号叠加到原始信号中所带来的回声。通常,在进行回声消除处理所使用的时延是默认时延,即,基于默认时延,将麦克风采集到的语音信号中所包括的回声信号进行消除。
5.但是,现有技术中,存在由于回声消除处理中使用默认时延,而导致回声消除效果较差的问题。


技术实现要素:

6.本公开实施例提供一种回声消除方法、装置、设备及存储介质,用以解决现有技术中由于回声消除处理中使用默认时延,而导致回声消除效果较差的问题。
7.第一方面,本公开实施例提供一种回声消除方法,包括:
8.在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,所述计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延;
9.所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
10.在一种可能的实现中,若所述终端计算设备的连接对象发生变化,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
11.在一种可能的实现中,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;
12.或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
13.在一种可能的实现中,所述目标设备为车辆。
14.在一种可能的实现中,若所述计算设备由与第一目标设备连接变化为与第二目标
设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
15.在一种可能的实现中,所述计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,包括:
16.所述计算设备根据多个第一时间点以及与所述多个第一时间点一一对应的多个第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点;
17.所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
18.在一种可能的实现中,所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延,包括:
19.所述计算设备根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
20.在一种可能的实现中,所述预设估计算法为最小均方lms算法。
21.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,包括:
22.所述计算设备判断所述时延是否在预设的时延范围内;
23.若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;
24.若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
25.在一种可能的实现中,所述终端计算设备根据估计获得的所述时延,对采集到的原始信号中的所述回声信号进行消除,包括:
26.所述终端计算设备根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
27.在一种可能的实现中,所述终端计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除之后,还包括:
28.对消除后获得的语音信号进行语音识别,得到语音识别结果;
29.根据所述语音识别结果,进行后续处理。
30.在一种可能的实现中,所述后续处理包括唤醒处理和/或输出处理。
31.第二方面,本公开实施例提供一种回声消除装置,应用于计算设备,包括:
32.估计模块,用于在所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延;
33.消除模块,用于根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
34.在一种可能的实现中,若所述终端计算设备的连接对象发生变化,则所述计算设
备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
35.在一种可能的实现中,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;
36.或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
37.在一种可能的实现中,若所述计算设备由与第一目标设备连接变化为与第二目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
38.在一种可能的实现中,所述估计模块具体用于:
39.根据多个第一时间点以及与所述多个第一时间点一一对应的多个第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点;
40.根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
41.在一种可能的实现中,所述估计模块用于根据所述多个时间差,确定所述参考信号与所述回声信号的时延,具体包括:
42.根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
43.在一种可能的实现中,所述预设估计算法为最小均方lms算法。
44.在一种可能的实现中,所述消除模块具体用于:
45.判断所述时延是否在预设的时延范围内;
46.若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;
47.若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
48.在一种可能的实现中,所述消除模块根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,具体包括:
49.根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
50.在一种可能的实现中,所述装置还包括:响应模块;
51.所述响应模块,用于:对消除后获得的语音信号进行语音识别,得到语音识别结果;根据所述语音识别结果,进行后续处理。
52.在一种可能的实现中,所述后续处理包括唤醒处理和/或输出处理。
53.第三方面,本公开实施例提供一种回声消除装置,包括:
54.处理器以及用于存储计算机指令的存储器;所述处理器运行所述计算机指令执行
上述第一方面任一项所述的方法。
55.第四方面,本公开实施例提供一种计算机可读存储介质,当所述存储介质中的指令由回声消除装置的处理器执行时,使得回声消除装置能够执行上述第一方面任一项所述的方法。
56.第五方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面任一项所述的方法。
57.本公开实施例提供的回声消除方法、装置、设备及存储介质,通过在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,计算设备估计第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号之间的时延,并根据估计获得的时延,对第二语音交互装置采集到的原始信号中的回声信号进行消除,实现了在计算机设备使用的语音交互装置变化时,可以及时估计变化后的语音交互装置的时延,并基于所估计的时延对变化后的语音交互装置采集到的原始信号中的回声信号进行消除,不但可以避免由于使用默认时延,而导致回声消除效果较差的问题,而且可以避免在计算机设备使用的语音交互装置变化时,还是使用变化前的语音交互装置的时延对变化后的语音交互装置采集到的原始信号中的回声信号进行消除时,由于时延不准确而导致的回声消除效果较差的问题,提高回声消除效果。
58.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
59.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
60.图1为本公开实施例提供的回声消除方法的应用场景示意图一;
61.图2为本公开实施例提供的回声消除方法的应用场景示意图二;
62.图3为本公开实施例提供的回声消除方法的应用场景示意图三;
63.图4为本公开实施例提供的回声消除方法实施例一的流程示意图;
64.图5为本公开实施例提供的回声消除方法实施例二的流程示意图;
65.图6为本公开实施例提供的回声消除方法实施例三的流程示意图;
66.图7为本公开实施例提供的回声消除装置实施例一的结构示意图;
67.图8为本公开实施例提供的回声消除装置实施例二的结构示意图。
具体实施方式
68.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例所获得的所有其他实施例,都属于本公开保护的范围。
69.图1为本公开实施例提供的回声消除方法的应用场景示意图一,如图1所示,该应用场景中可以包括计算设备11,计算设备11可以包括至少两个语音交互装置,例如图1中的语音交互装置a和语音交互装置b。计算设备11可以使用语音交互装置a或语音交互装置b与用户进行语音交互。具体的,计算设备11可以使用计算设备11的语音交互装置a采集语音,并使用计算设备11的语音交互装置b进行语音播放,例如播放音乐,播放导航等;或者,计算设备11可以使用计算设备11的语音交互装置b采集语音,并使用计算设备11的语音交互装置b进行语音播放。
70.图2为本公开实施例提供的回声消除方法的应用场景示意图二,如图2所示,该应用场景中可以包括计算设备11以及第一目标设备12,其中,计算设备11可以包括至少一个语音交互装置,第一目标设备12可以包括至少一个语音交互装置,例如图1中计算设备11包括语音交互装置a,第一目标设备12包括语音交互装置b。计算设备11可以使用计算设备11的语音交互装置a或第一目标设备12的语音交互装置b与用户进行语音交互。具体的,计算设备11可以使用计算设备11的语音交互装置a采集语音,并使用计算设备11的语音交互装置b进行语音播放,例如播放音乐,播放导航等;或者,计算设备11可以使用第一目标设备12的语音交互装置b采集语音,并使用第一目标设备12的语音交互装置b进行语音播放。
71.图3为本公开实施例提供的回声消除方法的应用场景示意图三,如图3所示,该应用场景中可以包括计算设备11、第一目标设备12和第二目标设备12,其中,第一目标设备12可以包括至少一个语音交互装置,第二目标设备13可以包括至少一个语音交互装置,例如图1中第一目标设备12包括语音交互装置a,第二目标设备13包括语音交互装置b。计算设备11可以使用第一目标设备12的语音交互装置a或第二目标设备12的语音交互装置b与用户进行语音交互。具体的,计算设备11可以使用第一目标设备12的语音交互装置a采集语音,并使用第一目标设备12的语音交互装置b进行语音播放,例如播放音乐,播放导航等;或者,计算设备11可以使用第二目标设备13语音交互装置b采集语音,并使用第二目标设备13语音交互装置b进行语音播放。
72.可以理解的是,上述三种应用场景可以结合,一个应用场景中可以包括计算设备11、第一目标设备12和第二目标设备12,其中,计算设备11可以包括至少两个语音交互装置,第一目标设备12和第二目标设备13可以均包括一个语音交互装置。其中,计算设备11可以使用计算设备11的一个语音交互装置采集语音,并使用计算设备11的该语音交互装置进行语音播放;或者,计算设备11可以使用计算设备11的另一个语音交互装置采集语音,并使用计算设备11的该另一个语音交互装置进行语音播放;或者,计算设备11可以使用第一目标设备12语音交互装置采集语音,并使用第一目标设备12语音交互装置进行语音播放;计算设备11可以使用第二目标设备13语音交互装置采集语音,并使用第二目标设备13语音交互装置进行语音播放。
73.需要说明的是,本公开实施例中的语音交互装置可以为任何能够实现采集语音并播放语音的实体装置。
74.需要说明的是,计算设备(computing device)11具体可以为能够通过语音交互装置播放语音和采集语音,并可以具有一定计算能力(例如,估计时延)的设备。对于计算设备的具体类型,本公开可以不做限定,例如可以为手机、平板电脑、可穿戴设备等。
75.需要说明的是,对于图2和图3中计算设备与目标设备的语音交互装置的连接方
式,本公开可以不作限定。
76.图4为本公开实施例提供的回声消除方法实施例一的流程示意图。本实施例的方法可以由计算设备执行,如图4所示,本实施例的方法可以包括:
77.步骤401,在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,所述计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延。
78.本步骤中,第一语音交互装置可以理解为上述语音交互装置a,第二语音交互装置可以理解为上述语音交互装置b;或者,第一语音交互装置可以理解为上述语音交互装置b,第二语音交互装置可以理解为上述语音交互装置a。所述计算设备使用的语音交互装置可以理解为计算设备播放及采集语音所使用的语音交互装置,用户可以通过该语音交互装置与计算设备进行语音交互。
79.对于图1所示的应用场景,计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置例如可以为计算设备11使用的语音交互装置由计算设备11的语音交互装置a变为计算设备11的语音交互装置b。此时,计算设备11的语音交互装置a可以理解为第一语音交互装置,计算设备11的语音交互装置b可以理解为第二语音交互装置。
80.对于图2所示的应用场景,计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置例如可以为计算设备11使用的语音交互装置由计算设备11的语音交互装置a变为第一目标设备12的语音交互装置b。此时,计算设备11的语音交互装置a可以理解为第一语音交互装置,第一目标设备12的语音交互装置b可以理解为第二语音交互装置。
81.对于图3所示的应用场景,计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置例如可以为计算设备11使用的语音交互装置由第一目标设备12的语音交互装置a变为第二目标设备13的语音交互装置b。此时,第一目标设备12的语音交互装置a可以理解为第一语音交互装置,第二目标设备13的语音交互装置b可以理解为第二语音交互装置。
82.其中,将计算设备使用语音交互装置所播放的语音信号可以称为参考信号,并将计算设备使用该语音交互装置所采集到的语音信号称为原始信号。可以理解的是,参考信号被计算设备播放之后,所播放的声音可以被该语音交互装置采集,即所采集到的原始信号中可以包括该参考信号计算设备所播放的语音信号。
83.由于不同语音交互装置的硬件结构不同,因此不同语音交互装置对于计算设备播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延可能不同。这里,通过在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,估计第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,可以在计算设备使用的语音交互装置变化时,可以及时估计变化后的第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号的时延。
84.可以理解的是,在计算设备播放参考信号的过程中,当用户讲话时,所采集到的原始信号中还可以包括在用户的语音信号。
85.需要说明的是,对于计算设备估计第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延的具体方式,本公开可以不作限定。
86.需要说明的是,对于计算设备确定所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置的具体方式,本公开实施例可以不作限定,例如计算设备可以对所使用的语音交互装置进行监控,以确定所使用的语音交互装置是否发生变化,即是否由第一语音交互装置变化为第二语音交互装置。
87.步骤402,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
88.本步骤中,对于根据步骤401估计获得的所述时延,对第二语音交互装置采集到的原始信号中的所述回声信号进行消除的具体方式,本公开实施例可以不做限定,例如,可以根据估计获得的所述时延,对参考信号进行移动,并根据采集到的原始信号和移动后的参考信号,对第二语音交互装置采集到的原始信号中的回声信号进行消除。
89.这里,由于步骤401在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,估计得到了第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号的时延,使得步骤402中可以使用第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号的时延,对第二语音交互装置采集到的原始信号中的所述回声信号进行消除,避免了在语音交互装置由第一语音交互装置变化为第二语音交互装置后,还是使用第一语音交互装置播放的参考信号与采集到的参考信号对应的回声信号的时延,对第二语音交互装置采集到的原始信号中的所述回声信号进行消除时,由于时延不准确而导致的回声消除效果较差的问题。
90.本实施例提供的回声消除方法,通过在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,计算设备估计第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号之间的时延,并根据估计获得的时延,对第二语音交互装置采集到的原始信号中的回声信号进行消除,实现了在计算机设备使用的语音交互装置变化时,可以及时估计变化后的语音交互装置的时延,并基于所估计的时延对变化后的语音交互装置采集到的原始信号中的回声信号进行消除,不但可以避免由于使用默认时延,而导致回声消除效果较差的问题,而且可以避免在计算机设备使用的语音交互装置变化时,还是使用变化前的语音交互装置(即第一语音交互装置)的时延对变化后的语音交互装置(即第二语音交互装置)采集到的原始信号中的回声信号进行消除时,由于时延不准确而导致的回声消除效果较差的问题,提高回声消除效果。
91.图5为本公开实施例提供的回声消除方法实施例二的流程示意图。本实施例在图5所示实施例的基础上,主要描述了在语音交互装置变化时,计算设备估计第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延的一种可选的实现方式。
92.步骤501,判断计算设备的连接对象是否发生变化。
93.本步骤中,若计算设备的连接对象发生变化,则可以表示所述语音交互装置变化,即计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。若计算设备的连接对象未发生变化,则可以表示所述语音交互装置未变化,即计算设备使用的语音交互装置未由第一语音交互装置变化为第二语音交互装置。
94.其中,第一语音交互装置可以理解为计算设备使用的语音交互装置变化前,所使用的语音交互装置。第二语音交互装置可以理解为计算设备使用的语音交互装置变化后,
所使用的语音交互装置。
95.可选的,所述计算设备的连接对象变化,具体可以为计算设备与目标设备连接,和计算设备未与目标设备连接两种状态之间的变化。
96.具体的,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
97.例如,如图2所示,计算设备11与第一目标设备12连接时,计算设备11可以使用第一目标设备12的语音交互装置b与用户进行语音交互;计算设备11未与第一目标设备12连接时,计算设备11可以使用计算设备11的语音交互装置a与用户进行语音交互。因此,在计算设备11与第一目标设备12的连接状态变化时,可以表示计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。具体的,在计算设备11由与第一目标设备12连接变化为未与第一目标设备连接时,语音交互装置b可以认为是第一语音交互装置,语音交互装置a可以认为是第二语音交互装置;在计算设备11由未与第一目标设备12连接变化为与第一目标设备连接时,语音交互装置a可以认为是第一语音交互装置,语音交互装置b可以认为是第二语音交互装置。
98.需要说明的是,所述目标设备具体可以为计算设备11能够与之建立连接,且能够控制其部分硬件的设备,该部分硬件包括语音交互装置。示例性的,所述目标设备可以为车辆,此时计算设备可以为支持特定功能的计算设备,该特定功能为计算设备可以与目标设备建立连接并能够控制目标设备的部分硬件的功能。
99.或者,可选的,所述计算设备的连接对象变化,具体可以为计算设备与一个目标设备连接,和计算设备与另一个目标设备连接两种状态之间的变化。具体的,若所述计算设备由与第一目标设备连接变化为与第二目标设备连接,则计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
100.例如,如图3所示,计算设备11与第一目标设备12连接时,计算设备11可以使用第一目标设备12的语音交互装置a与用户进行语音交互;计算设备11与第二目标设备13连接时,计算设备11可以使用第二目标设备13的语音交互装置b与用户进行语音交互。因此,在计算设备11与第一目标设备12和第二目标设备13的连接状态变化时,可以表示计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。具体的,在计算设备11由与第一目标设备12连接变化为与第二目标设备13连接时,语音交互装置a可以认为是第一语音交互装置,语音交互装置b可以认为是第二语音交互装置;在计算设备11由与第二目标设备13连接变化为与第一目标设备12连接时,语音交互装置b可以认为是第一语音交互装置,语音交互装置a可以认为是第二语音交互装置。
101.其中,若所述计算设备的连接对象发生变化,则执行步骤502;若所述计算设备的连接对象未发生变化,则结束。
102.步骤502,所述计算设备估计第二语音交互装置播放的参考信号与采集到的所述
参考信号对应的回声信号之间的时延。
103.本步骤中,所述第二语音交互装置可以理解为所述计算设备当前使用的语音交互装置。可选的,可以通过如下步骤确定时延:
104.步骤a,所述计算设备根据多个第一时间点以及与所述多个第一时间点一一对应的多个第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点。
105.这里,为了避免单个时间差不准确,而导致所确定的时延不准确的问题,可选的,可以根据多个第一时间点和多个第二时间点,得到多个时间差。例如,计算设备可以在播放语音信号x(可以理解为参考信号)时,记录播放语音信号x的时间点1(可以理解为第一时间点),采集原始信号,并记录采集到原始信号的时间点2,若该原始信号中包括语音信号x时,则时间点2为时间点1对应的第二时间点,进一步,可以获取时间点2与时间点1的时间差。又例如,计算设备可以在播放语音信号y(可以理解为参考信号)时,记录播放语音信号y的时间点3(可以理解为第一时间点),采集原始信号,并记录采集到原始信号的时间点4,若该原始信号中包括语音信号y时,则时间点4为时间点3对应的第二时间点,进一步,可以获取时间点4与时间点3的时间差。
106.需要说明的是,对于采集到的原始信号中包括参考信号的具体方式,本公开不作限定。
107.步骤b,所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
108.这里,具体的,可以对多个时间差进行数学计算,得到参考信号与回声信号的时延,例如,可以对多个时间差进行平均,得到时延。可选的,在根据时间差得到时延时,可以采用一定的估计算法。进一步可选的,步骤b具体可以包括:所述计算设备根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
109.示例性的,所述预设估计算法为最小均方(least-mean-square,lms)算法。这里,通过预设估计算法为lms算法,实现了根据多个时间差,采用机器学习的方式确定时延,提供了时延确定的准确性。
110.步骤503,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
111.本步骤中,可选的,可以采用aec算法对采集到的原始信号中的所述回声信号进行消除。具体的,步骤503可以包括:所述计算设备根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
112.考虑到一个aec算法在确定好之后,其适用的时延范围是一定的,因此为了避免由于所确定的时延在该一定的时延范围之外而导致回声消除效果较差的问题,可选的,步骤503具体可以包括:所述计算设备判断所述时延是否在预设的时延范围内;若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
113.本实施例提供的回声消除方法,通过判断计算设备的连接对象是否发生变化,若计算设备的连接对象发生变化,则计算设备估计第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,所述计算设备根据估计获得的所述时延,对采集到的原始信号中的所述回声信号进行消除,实现了由计算设备的连接对象发生变化表征计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
114.图6为本公开实施例提供的回声消除方法实施例三的流程示意图。本实施例在上述实施例的基础上,主要描述了进行回声消除之后的一种可选的实现方式。如图6所示,本实施例的方法可以包括:
115.步骤601,在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延。
116.需要说明的是,步骤601与步骤401类似,在此不再赘述。
117.步骤602,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
118.需要说明的是,步骤602与步骤402类似,在此不再赘述。
119.步骤603,对消除后获得的语音信号进行语音识别,得到语音识别结果。
120.本步骤中,语音识别结果的例如可以为“开机”、“天气”等。需要说明的是,对于对消除后获得的语音信号进行语音识别的具体方式,本公开不作限定。
121.由于步骤601和步骤602可以提高回声消除效果,因此步骤603进行语音识别所基于的语音信号的准确性更高,从而可以提高语音识别结果的准确性。
122.步骤604,根据所述语音识别结果,进行后续处理。
123.本步骤中,在得到语音识别结果后,可以基于语音识别结果进行一定的处理。这里,对于处理的类型本公开可以不作限定,示例性的,所述后续处理可以包括唤醒处理和/或输出处理。
124.其中,对于唤醒处理,示例性的,可以判断所述语音识别结果与预设唤醒指令是否相同,若所述语音识别结果与预设结果相同,则唤醒所述计算设备与所述预设唤醒指令对应的应用程序。对于输出处理,示例性的,可以将所述语音识别结果输出在输入界面的文本框。
125.本实施例提供的回声消除方法,通过在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,计算设备估计第二语音交互装置播放的参考信号与采集到的参考信号对应的回声信号之间的时延,计算设备根据估计获得的时延,对采集到的原始信号中的回声信号进行消除,对消除后获得的语音信号进行语音识别,得到语音识别结果,并根据语音识别结果进行后续处理,实现了在提高回声消除效果的基础上,提高了语音识别结果的准确性,从而提高了用户体验。
126.图7为本公开实施例提供的回声消除装置实施例一的结构示意图,本实施例提供的装置可以应用于上述方法实施例中,实现其计算设备的功能。如图7所示,本实施例的装置可以包括:估计模块701和消除模块702。
127.其中,估计模块701,用于在所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,估计所述第二语音交互装置播放的参考信号与采集到的所
述参考信号对应的回声信号之间的时延;
128.消除模块702,用于根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
129.在一种可能的实现中,若所述计算设备的连接对象发生变化,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
130.在一种可能的实现中,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;
131.或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
132.在一种可能的实现中,所述目标设备为车辆。
133.在一种可能的实现中,若所述计算设备由与第一目标设备连接变化为与第二目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
134.在一种可能的实现中,所述估计模块701具体用于:
135.根据多个第一时间点以及与所述多个第一时间点一一对应的多个第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点;
136.根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
137.在一种可能的实现中,所述估计模块701用于根据所述多个时间差,确定所述参考信号与所述回声信号的时延,具体包括:
138.根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
139.在一种可能的实现中,所述预设估计算法为最小均方lms算法。
140.在一种可能的实现中,所述消除模块702具体用于:
141.判断所述时延是否在预设的时延范围内;
142.若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;
143.若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
144.在一种可能的实现中,所述消除模块702根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,具体包括:
145.根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
146.在一种可能的实现中,所述装置还包括:响应模块703;
147.所述响应模块703,用于:对消除后获得的语音信号进行语音识别,得到语音识别结果;根据所述语音识别结果,进行后续处理。
148.在一种可能的实现中,所述后续处理包括唤醒处理和/或输出处理。
149.本实施例的装置,可以用于执行上述方法所示实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
150.图8为本公开实施例提供的回声消除装置实施例二的结构示意图,如图8所示,该装置可以包括:处理器801以及用于存储计算机指令的存储器802。
151.其中,处理器801运行该计算机指令执行以下方法:
152.在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,所述计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延;
153.所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
154.在一种可能的实现中,若所述计算设备的连接对象发生变化,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
155.在一种可能的实现中,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;
156.或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
157.在一种可能的实现中,所述目标设备为车辆。
158.在一种可能的实现中,若所述计算设备由与第一目标设备连接变化为与第二目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
159.在一种可能的实现中,所述计算设备估计播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,包括:
160.所述计算设备根据多个第一时间点以及与所述多个第一时间点一一对应的多个第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点;
161.所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
162.在一种可能的实现中,所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延,包括:
163.所述计算设备根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
164.在一种可能的实现中,所述预设估计算法为最小均方lms算法。
165.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,包括:
166.所述计算设备判断所述时延是否在预设的时延范围内;
167.若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;
168.若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
169.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,包括:
170.所述计算设备根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
171.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除之后,还包括:
172.对消除后获得的语音信号进行语音识别,得到语音识别结果;
173.根据所述语音识别结果,进行后续处理。
174.在一种可能的实现中,所述后续处理包括唤醒处理和/或输出处理。
175.本公开实施例还提供一种计算机可读存储介质,当该存储介质中的指令由回声消除装置的处理器执行时,使得回声消除装置能够执行一种回声消除方法,该方法包括:
176.在计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置时,计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,所述语音交互装置用于所述用户与所述计算设备进行语音交互;
177.所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
178.在一种可能的实现中,若所述计算设备的连接对象发生变化,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置。
179.在一种可能的实现中,若所述计算设备由与目标设备连接变化为未与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述目标设备包括所述第一语音交互装置,所述计算设备包括所述第二语音交互装置;
180.或者,所述计算设备由未与所述目标设备连接变化为与所述目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述计算设备包括所述第一语音交互装置,所述目标设备包括所述第二语音交互装置。
181.在一种可能的实现中,所述目标设备为车辆。
182.在一种可能的实现中,若所述计算设备由与第一目标设备连接变化为与第二目标设备连接,则所述计算设备使用的语音交互装置由第一语音交互装置变化为第二语音交互装置,所述第一目标设备包括所述第一语音交互装置,所述第二目标设备包括所述第二语音交互装置。
183.在一种可能的实现中,所述计算设备估计所述第二语音交互装置播放的参考信号与采集到的所述参考信号对应的回声信号之间的时延,包括:
184.所述计算设备根据多个第一时间点以及与所述多个第一时间点一一对应的多个
第二时间点,确定所述多个第一时间点中各第一时间点与各第一时间点对应的第二时间点的时间差,得到多个时间差,所述第一时间点为所述第二语音交互装置播放参考信号的时间点,所述第二时间点为所述第二语音装置采集到对应第一时间点所播放的参考信号对应的回声信号的时间点;
185.所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延。
186.在一种可能的实现中,所述计算设备根据所述多个时间差,确定所述参考信号与所述回声信号的时延,包括:
187.所述计算设备根据所述多个时间差以及预设估计算法,确定所述参考信号与所述回声信号的时延。
188.在一种可能的实现中,所述预设估计算法为最小均方lms算法。
189.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,包括:
190.所述计算设备判断所述时延是否在预设的时延范围内;
191.若所述时延在所述时延范围内,则根据所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除;
192.若所述时延不在所述时延范围内,则根据所述时延范围内的时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
193.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除,包括:
194.所述计算设备根据估计获得的所述时延,采用声学回声消除aec算法,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除。
195.在一种可能的实现中,所述计算设备根据估计获得的所述时延,对所述第二语音交互装置采集到的原始信号中的所述回声信号进行消除之后,还包括:
196.对消除后获得的语音信号进行语音识别,得到语音识别结果;
197.根据所述语音识别结果,进行后续处理。
198.在一种可能的实现中,所述后续处理包括唤醒处理和/或输出处理。
199.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
200.最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。