CN117940995A - 基于stft的回声静音器 - Google Patents
基于stft的回声静音器 Download PDFInfo
- Publication number
- CN117940995A CN117940995A CN202180102359.8A CN202180102359A CN117940995A CN 117940995 A CN117940995 A CN 117940995A CN 202180102359 A CN202180102359 A CN 202180102359A CN 117940995 A CN117940995 A CN 117940995A
- Authority
- CN
- China
- Prior art keywords
- frame
- double talk
- signal
- microphone signal
- echo
- 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
- 230000003584 silencer Effects 0.000 title description 8
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 47
- 230000005236 sound signal Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 12
- 230000001629 suppression Effects 0.000 claims description 4
- 238000002592 echocardiography Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000013518 transcription Methods 0.000 description 7
- 230000035897 transcription Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0224—Processing in the time domain
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- 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/26—Speech to text systems
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0232—Processing in the frequency domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
一种用于基于短时傅里叶变换的回声静音的方法(300),包括从声学扬声器(118)接收麦克风信号(202),麦克风信号(202)包括由麦克风捕获并且对应于音频内容(154)的声学回声(156),以及接收包括表示音频内容的帧序列的参考信号(158)。对于每个帧,该方法包括使用声学回声消除器(210)进行处理,并且使用双端通话检测器(220)基于相应帧和输出信号帧来确定相应帧是包括双端通话帧还是仅回声帧,该声学回声消除器(210)被配置为接收相应帧作为输入以生成相应输出信号帧(206),该输出信号帧(206)从相应帧中消除声学回声。对于包括仅回声帧的每个相应帧,对相应输出信号帧静音,并且对于包括双端通话帧的每个相应帧,对相应输出信号帧执行语音处理。
Description
技术领域
本公开涉及一种基于短时傅里叶变换的回声静音器。
背景技术
语音启用设备能够生成合成的回放音频并将合成的回放音频传送到语音环境内的一个或多个用户。当语音启用设备输出合成的回放音频时,语音启用设备的麦克风可以将合成的回放音频捕获为声学回声,同时主动捕获由用户说出的指向语音启用设备的语音。不幸的是,对于源自合成的回放音频的声学回声,语音识别器可能难以识别在来自合成的回放音频的回声期间发生的由用户说出的语音。
发明内容
本公开的一个方面提供了一种使用基于STFT的回声静音器来执行语音识别的计算机实现的方法。当在数据处理硬件上执行时,该计算机实现的方法使数据处理硬件执行包括接收包括由麦克风捕获的声学回声的麦克风信号的操作。声学回声对应于从声学扬声器回放的音频内容。操作还包括接收参考信号,该参考信号包括表示在声学扬声器回放音频内容之前在参考通道中发射的音频内容的帧序列。对于麦克风信号的帧序列中的每个帧,操作还包括使用被配置为接收参考信号的帧序列中的相应帧作为输入的声学回声消除器来处理麦克风信号的相应帧,以生成从麦克风信号的相应帧消除声学回声的相应输出信号帧。操作还包括使用双端通话检测器(DTD)基于参考信号的相应帧和相应输出信号帧来确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧。对于包括仅回声帧的麦克风信号的帧序列中的每个相应帧,操作还包括对相应输出信号帧静音。在对于包括仅回声帧的麦克风信号的帧序列中的每个相应帧对相应输出信号帧静音之后,操作还包括对于包括双端通话帧的麦克风信号的所述帧序列中的每个相应帧,对相应输出信号帧执行语音处理。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,麦克风信号的一部分进一步包括表示由麦克风捕获的目标语音的音频信号,以及当麦克风信号的相应帧包括表示目标语音的音频信号时,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧。这里,目标语音在从声学扬声器回放音频内容时说出。在一些示例中,执行语音处理包括使用自动语音识别(ASR)模型执行语音识别。在一些实施方案中,在使用DTD来确定麦克风信号的相应帧是包括所述双端通话帧还是所述仅回声帧之前,操作进一步包括将麦克风信号、参考信号和输出信号的每个相应帧转换到短时傅里叶变换域。
在一些示例中,确定所述麦克风信号的相应帧是包括双端通话帧还是仅回声帧包括:使用DTD基于麦克风信号的相应帧与参考信号的相应帧之间的互相关来计算相应第一帧级双端通话指示符;以及使用DTD基于麦克风信号的相应帧与相应输出信号帧之间的互相关来计算相应第二帧级双端通话指示符。这些示例还包括确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个是否满足双端通话阈值;以及当相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个满足双端通话阈值时,确定麦克风信号的相应帧包括双端通话帧。在这些示例中,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧可以进一步包括:当相应第一帧级双端通话指示符和相应第二帧级双端通话指示符两者都未能满足双端通话阈值时,确定麦克风信号的相应帧包括仅回声帧。可以在预定范围的频率子带上计算相应第一帧级双端通话指示符和相应第二帧级双端通话指示符。附加地或替代地,确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个是否满足双端通话阈值可以包括:当相应第一帧级双端通话指示符和相应第二帧级双端通话指示符中的最小值小于双端通话阈值时,确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个满足双端通话阈值。
在一些实施方式中,对于麦克风信号的帧序列中的每个帧,操作进一步包括使用DTD,基于麦克风信号的相应帧与参考信号的相应帧或相应输出信号帧中的一个之间的互相关来计算相应第一帧级双端通话指示符。这里,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧基于相应第一帧级双端通话指示符。在这些实施方式中,操作可以进一步包括使用DTD,基于麦克风信号的相应帧与参考信号的相应帧或相应输出信号帧中的另一个之间的互相关来计算相应第二帧级双端通话指示符,其中,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧进一步基于相应第二帧级双端通话指示符。
在一些示例中,声学回声消除器包括线性声学回声消除器。在一些实施方式中,数据处理硬件、麦克风和声学扬声器驻留在用户计算设备上。在一些示例中,对于包括双端通话帧的麦克风信号的序列中的每个相应帧,对相应输出信号帧执行语音处理包括对相应输出信号帧执行语音处理,而不对相应输出信号帧执行声学回声抑制。
本公开的另一方面提供了一种用于使用基于STFT的回声静音器来执行语音识别的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,该指令当在数据处理硬件上执行时使数据处理硬件执行操作,该操作包括接收包括由麦克风捕获的声学回声的麦克风信号。声学回声对应于从声学扬声器回放的音频内容。操作还包括接收参考信号,该参考信号包括表示在声学扬声器回放音频内容之前在参考通道中发射的音频内容的帧序列。对于麦克风信号的帧序列中的每个帧,操作包括使用声学回声消除器处理麦克风信号的相应帧以生成相应输出信号帧,声学回声消除器被配置为接收参考信号的帧序列中的相应帧作为输入,相应输出信号帧从麦克风信号的相应帧消除声学回声。操作还包括使用双端通话检测器(DTD)基于参考信号的相应帧和相应输出信号帧来确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧。对于包括仅回声帧的麦克风信号的帧序列中的每个相应帧,操作还包括对相应输出信号帧静音。在对于包括仅回声帧的麦克风信号的帧序列中的每个相应帧对相应输出信号帧静音之后,操作包括对于包括双端通话帧的麦克风信号的帧序列中的每个相应帧,对相应输出信号帧执行语音处理。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,麦克风信号的一部分进一步包括表示由麦克风捕获的目标语音的音频信号,以及当麦克风信号的相应帧包括表示目标语音的音频信号时,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧。这里,目标语音在从声学扬声器回放音频内容时说出。在一些示例中,执行语音处理包括使用自动语音识别(ASR)模型执行语音识别。在一些实施方案中,在使用DTD来确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧之前,操作进一步包括将麦克风信号、参考信号和输出信号的每个相应帧转换到短时傅里叶变换域。
在一些示例中,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧包括:使用DTD基于麦克风信号的相应帧与参考信号的相应帧之间的互相关来计算相应第一帧级双端通话指示符;以及使用DTD基于麦克风信号的相应帧与相应输出信号帧之间的互相关来计算相应第二帧级双端通话指示符。这些示例还包括确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个是否满足双端通话阈值;以及当相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个满足双端通话阈值时,确定麦克风信号的相应帧包括双端通话帧。在这些示例中,确定麦克风信号的相应帧是包括双端通话帧还是仅回声帧可以进一步包括:当相应第一帧级双端通话指示符和相应第二帧级双端通话指示符两者都未能满足双端通话阈值时,确定麦克风信号的相应帧包括仅回声帧。可以在预定范围的频率子带上计算相应第一帧级双端通话指示符和相应第二帧级双端通话指示符。附加地或替代地,确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个是否满足双端通话阈值可以包括:当相应第一帧级双端通话指示符和相应第二帧级双端通话指示符中的最小值小于双端通话阈值时,确定相应第一帧级双端通话指示符或相应第二帧级双端通话指示符中的至少一个满足双端通话阈值。
在一些实施方式中,对于麦克风信号的帧序列中的每个帧,操作进一步包括使用DTD,基于麦克风信号的相应帧与参考信号的相应帧或相应输出信号帧中的一个之间的互相关来计算相应第一帧级双端通话指示符。这里,确定麦克风信号的相应帧包括双端通话帧或仅回声帧基于相应第一帧级双端通话指示符。在这些实施方式中,操作可以进一步包括使用DTD,基于麦克风信号的相应帧与参考信号的相应帧或相应输出信号帧中的另一个之间的互相关来计算相应第二帧级双端通话指示符,其中,确定麦克风信号的相应帧包括双端通话帧或仅回声帧进一步基于相应第二帧级双端通话指示符。
在一些示例中,声学回声消除器包括线性声学回声消除器。在一些实施方式中,数据处理硬件、麦克风和声学扬声器驻留在用户计算设备上。在一些示例中,对于包括双端通话帧的麦克风信号的序列中的每个相应帧,对相应输出信号帧执行语音处理包括对相应输出信号帧执行语音处理,而不对相应输出信号帧执行声学回声抑制。
在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。其他方面、特征和优点将从说明书和附图以及权利要求书中显而易见。
附图说明
图1是使用声学回声消除(AEC)系统的示例语音环境的示意图。
图2是AEC系统的示意图。
图3是用于实现声学回声消除系统的方法的操作的示例布置的流程图。
图4是可以用于实现本文中描述的系统和方法的示例计算设备的示意图。
各个附图中相同的附图标记表示相同的元件。
具体实施方式
语音启用设备能够生成合成的回放音频并将合成的回放音频传送到语音环境内的一个或多个用户。这里,合成回放音频是指由语音启用设备生成的音频,其源自语音启用设备本身或与语音启用设备相关联的机器处理系统,而不是语音启用设备外部的人或其他可听声源。一般而言,语音启用设备使用文本到语音(TTS)系统生成合成的回放音频。TTS系统将文本转换为文本的音频表示,其中文本的音频表示被建模为类似于使用人类语言的口头话语的音频表示。
虽然语音启用设备的音频输出组件(例如,声学扬声器)输出合成的回放音频,但是语音启用设备的音频捕获组件(例如,麦克风)仍然可以主动捕获(即,收听)语音环境内的音频信号。这意味着从扬声器输出的合成回放音频的一些部分将在音频捕获组件处作为声学回声被接收。语音启用设备还可以回放其他类型的音频内容,诸如媒体内容(例如,音乐),其可以类似地由音频捕获组件捕获为声学回声,同时主动捕获语音环境内的音频信号。不幸的是,对于源自回放音频内容(例如,合成的音频内容)的声学回声,在语音启用设备处实现的或者在与语音启用设备通信的远程系统处实现的语音识别器可能难以理解在来自合成的回放音频的回声期间发生的口头话语。换句话说,语音启用设备通常生成合成的回放音频作为对来自语音启用设备的用户的查询或命令的响应。例如,用户可以询问语音启用设备“what will the weather be like today?(今天天气怎么样?)”。当语音启用设备从用户接收到该查询或问题时,语音启用设备或与语音启用设备通信的远程系统最初必须确定或处理来自用户的口头话语。通过处理口头话语,语音启用设备能够识别该口头话语对应于来自用户的查询(例如,关于天气),并且作为查询,用户预期来自语音启用设备的响应。
通常,语音启用设备使用语音识别系统(例如,自动语音识别(ASR)系统)来确定口头话语的内容。语音识别系统接收音频信号或音频数据,并且生成表示音频信号中所说的字符、单词和/或句子的文本的转录。然而,当语音启用设备的语音捕获组件在(多个)由用户向语音启用设备说出一个或多个话语的全部或部分的同时接收回声和/或失真时,语音识别可能变得更复杂。例如,语音启用设备的一个或多个麦克风被馈送合成的回放音频信号的一些部分作为回声或声学反馈。来自与一个或多个口头话语组合的合成回放音频的回声导致语音启用设备接收具有重叠语音的音频信号。这里,重叠语音是指双端通话(音频信号中的实例),其中,来自合成的回放音频的声学回声与一个或多个口头话语同时(即,同步或并发地)发生。在双端通话事件期间,语音识别系统可能难以处理在语音启用设备处接收到的音频信号。也就是说,重叠语音可能损害语音识别系统的生成一个或多个口头话语的准确转录的能力。在没有来自语音识别系统的准确转录的情况下,语音启用设备可能无法准确地响应或完全响应于来自用户的口头话语的查询或命令。替代地,语音启用设备可能想要避免使用其处理资源来尝试解释实际上是来自合成的回放音频信号和/或来自周围环境的回声的可听声音。
一种对抗由语音启用设备的音频捕获组件捕获的失真或回声的方法是使用声学回声消除(AEC)系统。在AEC系统中,AEC系统使用音频信号来消除与从声学扬声器回放的音频内容相关的回声。然而,由AEC系统用于消除回声的音频信号不可避免地产生残余回声,这可能进一步劣化语音识别系统的性能。在唤醒词应用中,其中说出预定的词或短语以通过语音启用设备调用语音识别,由AEC系统产生的残余回声改善了语音识别系统定位唤醒词的能力。然而,在无唤醒词应用中,该残余回声负面地影响语音识别系统的性能。减少该残余回声的一种方式是通过利用后置滤波器(例如,回声抑制器)处理由AEC系统采用的音频信号。然而,语音识别系统通常对音频信号的这种后置滤波器处理敏感,使得后置滤波器的使用是次优的解决方案。
参考图1,在一些实施方式中,语音环境100包括将口头话语12传送到语音启用设备110(也称为设备110或用户设备110)的用户10。用户10(即,话语12的说话者)可以说出话语12作为请求来自设备110的响应的查询或命令。设备110被配置为捕获来自语音环境100内的一个或多个用户10的声音。这里,音频声音可以指用户10的口头话语12,其用作可听查询、用于设备110的命令或由设备110捕获的可听通信。设备110的或与设备110相关联的语音启用系统可以通过回答查询和/或使得命令被执行对命令的查询进行字段化。
这里,设备110接收麦克风信号202,其包括由音频捕获设备116(也称为麦克风)捕获的声学回声156和/或用户10的口头话语12。声学回声156对应于从音频输出设备118(也称为声学扬声器)回放的音频内容154。设备110可以对应于与用户10相关联并且能够接收麦克风信号202的任何计算设备。用户设备110的一些示例包括但不限于移动设备(例如,移动电话、平板电脑、膝上型电脑等)、计算机、可穿戴设备(例如,智能手表)、智能家电和物联网(IoT)设备、智能扬声器等。设备110包括数据处理硬件112和与数据处理硬件112通信并存储指令的存储器硬件114,当由数据处理硬件112执行时,指令使数据处理硬件112执行一个或多个操作。在一些示例中,设备110包括一个或多个应用(即,软件应用),其中每个应用可以利用与设备110相关联的一个或多个语音处理系统140、150、200来执行应用内的各种功能。例如,设备110包括辅助应用,该辅助应用被配置为将合成的回放音频内容154传送到用户10以辅助用户10执行各种任务。在其他示例中,辅助应用或媒体应用被配置为回放包括媒体内容(例如,音乐、访谈广播、播客内容、电视/电影内容)的音频内容154。在附加的示例中,该应用对应于辅助应用,该辅助应用被配置为将音频内容154作为合成语音传送以从声学扬声器118回放,以与用户10通信/对话或辅助用户10执行各种任务。例如,辅助应用可以可听地输出响应于由用户10提交给辅助应用的查询/命令的合成语音。在附加的示例中,从声学扬声器118回放的音频内容154对应于通知/警报,诸如但不限于定时器结束、来电警报、门铃铃声、音频消息等。
设备110包括用于捕获语音环境100内的音频数据14并将其转换为电麦克风信号202的麦克风116,以及用于传送/输出回放音频内容154(例如,合成的回放音频内容)的声学扬声器118。虽然设备110在所示的示例中实现麦克风116,但是设备110可以在不脱离本公开的范围的情况下实现麦克风116的阵列,由此阵列中的一个或多个麦克风116可以不物理地驻留在设备110上,而是与设备110的接口/外围设备通信。例如,设备110可以对应于利用遍及车辆定位的麦克风阵列的车辆信息娱乐系统。类似地,声学扬声器118可以包括驻留在设备110上、与其通信的一个或多个扬声器,或者其中一个或多个扬声器驻留在设备110上并且一个或多个其他扬声器从设备110物理地移除但与设备110通信的组合。
此外,设备110可以被配置为经由网络120与远程系统130通信。远程系统130可以包括远程资源132,诸如远程数据处理硬件134(例如,远程服务器或CPU)和/或远程存储器硬件136(例如,远程数据库或其他存储硬件)。设备110可以利用远程资源132来执行与语音处理和/或合成回放通信相关的各种功能。例如,设备110被配置为使用语音识别系统140(例如,使用语音识别模型145)来执行语音识别。另外,设备可以被配置为使用TTS系统150执行文本到语音的转换并且使用AEC系统200执行声学回声消除。这些系统140、150、200可以驻留在设备110上(称为设备上系统)或远程驻留(例如,驻留在远程系统130上),但是与设备110通信。在一些示例中,这些系统140、150、200中的一些驻留在本地或设备上,而其他的驻留在远程。换句话说,这些系统140、150、200中的任何一个可以以任何组合是本地的或远程的。例如,当系统140、150、200在尺寸或处理需求上相当大时,系统140、150、200可以驻留在远程系统130中。然而,当设备110可以支持一个或多个系统140、150、200的尺寸或处理需求时,一个或多个系统140、150、200可以使用数据处理硬件112和/或存储器硬件114驻留在设备110上。可选地,系统140、150、200中的一个或多个可以驻留在本地/设备上和远程两者上。例如,当到设备110和远程系统130之间的网络120的连接可用时,系统140、150、200中的一个或多个可以默认在远程系统130上执行,但是当连接丢失或网络120不可用时,系统140、150、200替代地在设备110上本地执行。
语音识别系统140接收音频信号202作为输入,并将该音频信号转录成转录142作为输出。一般而言,通过将音频信号202转换为转录142,语音识别系统140允许设备110识别来自用户10的口头话语12何时对应于查询、命令或一些其他形式的音频通信。转录142是指文本序列,然后,设备110可以使用该文本序列来生成对查询或命令的响应。例如,如果用户10向设备110询问“what will the weather be like today”的问题,则设备110将与问题“what will the weather be like today”相对应的音频信号传递到语音识别系统140。语音识别系统140将音频信号转换为包括文本“what will the weather be like today”的转录。然后,设备110可以使用该文本或文本的一部分来确定对查询的响应。例如,为了确定当天(即,今天)的天气,设备110将文本(例如,“what will the weather be like today”)或识别文本的部分(例如,“weather(天气)”和“today(今天)”)传递到搜索引擎。然后,搜索引擎可以返回设备110解释的一个或多个搜索结果,以生成对用户10的响应。
在一些实施方式中,设备110或与设备110相关联的系统标识文本152,设备110将向用户10传送文本152作为对口头话语12的查询的响应。然后,设备110可以使用TTS系统150将文本152转换为对应的合成回放音频154,以供设备110传送给用户10(例如,可听地传送给用户10)作为对口头话语12的查询的响应。换句话说,TTS系统150接收文本152作为输入,并且将文本152转换为合成的回放音频154的输出,其中合成的回放音频154是定义文本152的可听再现的音频信号。在一些示例中,TTS系统150包括将文本152处理成编码格式(例如,文本嵌入)的文本编码器。这里,TTS系统150可以使用经训练的文本到语音模型来从文本152的编码格式生成合成的回放音频154。一旦生成,TTS系统150就将合成的回放音频154传送到设备110,以允许设备110输出合成的回放音频154。例如,设备110在设备110的扬声器118处输出合成的回放音频154“today is sunny(今天是晴天)”。
继续参考图1,当设备110输出合成的回放音频154(例如,合成语音)时,合成的回放音频154生成由麦克风116捕获的回声156。不幸的是,除了回声156之外,麦克风116还可以同时捕获来自用户10的与指向设备110的目标语音相对应的另一口头话语12。例如,图1描绘了当设备110输出合成的回放音频内容154时,用户10通过陈述“what abouttomorrow?(明天怎么样?)”在对设备110的口头话语12中查询关于天气的更多信息。特别地,在不要求用户10说出热词(例如,当检测时触发设备110调用语音识别的预定词或短语)的情况下,用户10说出话语12,作为设备110维持麦克风116打开并且语音识别系统140活动来允许可用户10提供后续查询以供语音识别系统140识别的继续对话场景的一部分。当由用户10说出的话语12包括热词时,回声156帮助语音识别系统140将音频信号14转换成转录。然而,当设备110不要求用户10说出热词来执行语音识别时,用户设备110可以处理包含回声156的麦克风信号202,使得用户设备110处理从扬声器118输出的其自己的回放音频154。
这里,口头话语12和回声156两者都由麦克风116同时捕获以形成麦克风信号202。换句话说,麦克风信号202包括仅包括与在用户10说出话语12之前从扬声器118输出的回放音频内容154相对应的回声156的部分、由用户10说出的话语12与从扬声器118输出的回放音频内容154的一些部分重叠的重叠部分(例如,重叠区域204)、以及在声学扬声器118停止输出回放音频内容154之后仅包括由用户12说出的话语12的部分。
在图1中,捕获的麦克风信号202中的重叠区域204对应于双端通话事件,该双端通话事件指示话语12的部分和合成的回放音频154的部分在捕获的麦克风信号202中彼此重叠的实例。在双端通话事件期间,语音识别系统140可能存在识别自话语12与合成的回放音频内容154的回声156混合以来,与由麦克风116捕获的音频信号202中的天气查询“whatabout tomorrow”相对应的后续查询12的问题。如上所讨论的,减少麦克风信号202中的回声156的一种方式是通过利用回声抑制器滤波器处理麦克风信号202。然而,语音识别系统140难以处理这种类型的经滤波的麦克风信号202。
为了解决这个问题,设备110包括AEC系统200以处理麦克风信号202并将输出提供给语音识别系统140。AEC系统200(图2)包括声学回声消除器210、双端通话检测器220及回声静音器230,并且被配置为对仅被标识为回声的音频输出信号帧静音,同时许可包括双端通话的音频帧通过以供语音识别系统140处理。换句话说,AEC系统200接收包括与回声156混合的后续查询12的麦克风信号202。对于麦克风信号中的每一音频帧,AEC系统200处理音频帧并且确定音频帧是仅回声还是包括双端通话。
参考图2,AEC系统200的声学回声消除器210被配置成接收麦克风信号202和参考信号158,麦克风信号202可以同时包括指向设备的目标语音12的相应帧以及与表示由麦克风12捕获的回放音频154的相应帧相对应的参考信号158。对于帧序列中的每个帧,声学回声消除器210使用参考信号158处理麦克风信号202以消除麦克风信号202中的回声156,从而产生输出信号帧206。在一些示例中,AEC系统200进一步使用以下等式将麦克风信号202、参考信号158和输出信号206的每一相应帧转换为短时傅里叶变换(STFT)域:
Y(l,k)=∑n y[n]w[n-lL]exp(-j2πkn/N),k=0,...,N-1 (1)
其中,L表示帧跳(frame-hop),w[n]表示具有可能的N个点的分析窗口,l表示帧索引,并且k表示子带索引。
然后,双端通话检测器220接收麦克风信号m[n]202(表示为M(l,k))、参考信号x[n]158(表示为X(l,k))和残余回声输出信号r[n]206(表示为R(l,k))的STFT域中的相应帧,并确定相应帧是包括双端通话帧还是仅回声帧。为了实现这一点,双端通话检测器220在每个相应帧中的每个子带使用两个双端通话指示符208。两个双端通话指示符208a,208b可以表示如下:
其中,CPQ(k)表示回放音频帧154P(l,k)和Q(l,k)的STFT域的滞后为零的每个子带k的复互相关。这里,P(l,k)和Q(l,k)分别与时域信号p[n]和q[n]相关联。复互相关CPQ(k)可以表示如下:
cPQ(k)=E{P(l,k)Q*(l,k)} (3)
其中,E{·}表示数学期望值,·*表示复共轭。此外,子带k中的能量可以表示如下:
每个子带的互相关通过使用以下等式在STFT域上使用指数加权平均来确定子带的能量:
CPQ(l,k)=ρcPQ(l-1,k)+(1-ρ)P(l,k)Q*(l,k)
σ2(l,k)=ρσ2(l-1,k)+(1-ρ)P(l,k)P*(l,k) (5)
其中,ρ表示指数加权因子(即,遗忘因子)。例如,指数加权因子ρ为0.9可以平衡估计准确度和响应时间。使用这一点,等式(2)可以被重新公式化并表示如下:
在一些示例中,通过麦克风信号202与参考信号158之间的互相关来计算第一双端通话指示符208a,而通过麦克风信号202与输出信号206之间的互相关来计算第二双端通话指示符208b。
双端通话检测器220使用指示符和子带能量通过计算有限数量的子带上的子带指示符的加权平均值来计算每个相应帧的双端通话指示符208a,208b。例如,可以使用700和2400Hz之间的子带来确定双端通话指示符208a,208b。通过对帧序列中的每个帧进行互相关以确定频带中的能量,由给定子带中的残余的能量对每个双端通话指示符208a,208b进行加权。子带中的残余能量越高,指示存在双端通话的可能性越高,导致双端通话指示符208a,208b指示帧包含双端通话。第一双端通话指示符208a可以如下计算:
同样地,第二双端通话指示符208b可以如下计算:
一旦双端通话检测器220已经计算双端通话指示符208a,208b作为输出,其提供给回声静音器230作为输入,以用于确定双端通话指示符208a,208b中的至少一个是否满足双端通话阈值。在一些示例中,双端通话检测器220仅计算第一双端通话指示符208a或第二双端通话指示符208b中的一个作为回声静音器230的输入,以用于确定是否满足双端通话阈值。在给定阈值τ的情况下,双端通话检测器220确定相应帧是应当被静音的仅回声,还是包括应当通过的双端通话。这如下确定:
当双端通话指示符208a,208b中的至少一个满足双端通话阈值时,相应帧被传递通过以供语音识别系统140处理。当双端通话指示符208a,208b两者都未能满足双端通话阈值时,相应帧被标识为仅回声并且被静音(即,不被传递以供语音识别系统处理)。要求最小的双端通话指示符208a,208b来满足双端通话阈值有利于通过帧而不是静音帧。
可以使用数据驱动方法来计算双端通话阈值τ。从话语中收集元数据以将话语分割成仅回声和双端通话间隔。接下来,针对训练数据集中的所有帧计算帧级双端通话指示符208a,208b。对于给定阈值τ,计算仅回声帧和双端通话帧的误分类的百分比。这可以针对阈值τ的范围重复,目标是标识导致10%或更少的双端通话帧的误分类的阈值τ。
图3包括使用基于STFT的回声静音器230执行语音识别的方法300的操作的示例布置的流程图。在操作302处,方法300包括接收包括由麦克风116捕获的声学回声156的麦克风信号202。声学回声156对应于从声学扬声器118回放的音频内容154。在操作304处,方法300包括接收参考信号158,参考信号158包括表示在声学扬声器118回放音频内容154之前在参考通道中发射的音频内容154的帧序列。
对于麦克风信号202的帧序列中的每个帧,在操作306处,方法300包括使用被配置为接收参考信号158的帧序列中的相应帧作为输入的声学回声消除器210来处理麦克风信号202的相应帧,以生成从麦克风信号202的相应帧消除声学回声156的相应输出信号帧206。在操作308处,方法300包括使用双端通话检测器220基于参考信号158的相应帧和相应输出信号帧206来确定麦克风信号202的相应帧是包括双端通话帧还是仅回声帧。在操作310处,对于麦克风信号202的帧序列中包括仅回声帧的每个相应帧,方法300包括对相应输出信号帧206静音。在操作312处,在对于包括仅回声帧的麦克风信号202的帧序列中的每个相应帧对相应输出信号帧206静音之后,方法300包括对于包括双端通话帧的麦克风信号202的帧序列中的每个相应帧,对相应输出信号帧206执行语音处理。
图4是可以被用于实现本文档中描述的系统和方法的示例计算设备400的示意图。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型计算机和其他适当的计算机。这里示出的组件、它们的连接和关系以及它们的功能仅仅旨在是示例性的,并且不意在限制本文档中描述和/或要求保护的本公开的实施方式。
计算设备400包括处理器410、存储器420、存储设备430、连接至存储器420和高速扩展端口450的高速接口/控制器440以及连接至低速总线470和存储设备430的低速接口/控制器460。组件410、420、430、440、450和460中的每个组件使用各种总线互连,并且可以被安装在公共主板上或者酌情以其他方式安装。处理器410(也称为“数据处理硬件410”,其可以包括用户计算设备110的数据处理硬件112或远程系统130的数据处理硬件134)能够处理用于在计算设备400内执行的指令,包括存储在存储器420中或者存储设备430上的指令,以在外部输入/输出设备(诸如被耦合至高速接口440的显示器480)上显示图形用户界面(GUI)的图形信息。在其他实施方式中,多个处理器和/或多个总线可以酌情与多个存储器和多种存储器类型一起使用。此外,多个计算设备400可以被连接,其中每个设备都提供必要的操作的部分(例如作为服务器组、一组刀片式服务器或者多处理器系统)。
存储器420(也称为“存储器硬件420”,其可以包括用户计算设备110的存储器硬件114或远程系统130的存储器硬件136)将信息非暂时性地存储在计算设备400内。存储器420可以是计算机可读介质、(多个)易失性存储器单元或者(多个)非易失性存储器单元。非暂时性存储器420可以是用于在暂时或者永久基础上存储程序(例如指令序列)或者数据(例如程序状态信息)以供计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如通常用于固件,诸如启动程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及光盘或者磁带。
存储设备430能够为计算设备400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或者磁带设备、闪存或者其他类似的固态存储器设备或者设备阵列,包括在存储区域网络或其他配置中的设备。在附加的实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,该指令在被执行时执行一种或多种方法,诸如上面描述的那些方法。信息载体是计算机可读介质或者机器可读介质,诸如存储器420、存储设备430或者处理器410上的存储器。
高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低带宽密集型操作。这种职责分配仅仅是示例性的。在一些实施方式中,高速控制器440被耦合至存储器420、显示器480(例如通过图形处理器或者加速器)和高速扩展端口450,该高速扩展端口450可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器460被耦合至存储设备430和低速扩展端口490。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口490可以例如通过网络适配器被耦合至一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或者联网设备(诸如交换机或者路由器)。
如图所示,计算设备400可以以多种不同形式来实现。例如,它可以被实现为标准服务器400a或者多次实现在一组这种服务器400a中、实现为膝上型计算机400b或者实现为机架式服务器系统400c的一部分。
本文中描述的系统和技术的各种实施方式能够被实现在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中。这些各种实施方式能够包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括可以是专用或者通用的至少一个可编程处理器,它被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令发射到存储系统、至少一个输入设备和至少一个输出设备。
软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为:“应用”、“app”或者“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息收发应用、媒体流应用、社交网络应用和游戏应用。
非暂时性存储器可以是用于在暂时或者永久基础上存储程序(例如指令序列)或者数据(例如程序状态信息)以供计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及光盘或者磁带。
这些计算机程序(也称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且能够以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文中使用的,术语“机器可读介质”和“计算机可读介质”是指用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于将机器指令和/或数据提供给可编程处理器的任何信号。
本说明书中描述的过程和逻辑流程能够由一个或多个可编程处理器执行,该一个或多个可编程处理器(也称为数据处理硬件)执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程也能够由专用逻辑电路(例如FPGA(现场可编程门阵列)或者ASIC(专用集成电路))执行。例如,适合于执行计算机程序的处理器包括通用和专用微处理器两者以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或者光盘),或者计算机被可操作地耦合以接收来自该大容量存储设备的数据或者将数据传递到该大容量存储设备或者两者。然而,计算机不需要具有这种设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备);磁盘(例如内部硬盘或者可移除盘);磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路系统补充,或者被并入到该专用逻辑电路系统中。
为了提供与用户的交互,本公开的一个或多个方面能够被实现在计算机上,该计算机具有:用于向用户显示信息的显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏;以及可选地键盘和定点设备(例如鼠标或者轨迹球),用户能够通过其向计算机提供输入。其他种类的设备也能够被用于提供与用户的交互;例如提供给用户的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入能够以任何形式(包括声学输入、语音输入或者触觉输入)接收。另外,计算机能够通过将文档发送给由用户使用的设备并且从该设备接收文档;例如通过响应于从web浏览器接收到的请求将网页发送到在用户的客户端设备上的web浏览器来与用户交互。
已经描述了许多实施方式。然而,将理解的是,可以在不脱离本公开的精神和范围的情况下进行各种修改。因此,其他实施方式在随附权利要求的范围内。
Claims (26)
1.一种计算机实现的方法(300),所述方法当在数据处理硬件(410)上执行时,使得所述数据处理硬件(410)执行操作,所述操作包括:
接收包括由麦克风(116)捕获的声学回声(156)的麦克风信号(202),所述声学回声(156)对应于从声学扬声器(118)回放的音频内容(154);
接收参考信号(158),所述参考信号(158)包括表示在所述声学扬声器(118)回放所述音频内容(154)之前在参考通道中发射的所述音频内容(154)的帧序列;
对于所述麦克风信号(202)的帧序列中的每个帧:
使用被配置为接收所述参考信号(158)的所述帧序列中的相应帧作为输入的声学回声消除器(210)处理所述麦克风信号(202)的相应帧以生成相应输出信号帧(206),所述相应输出信号帧(206)从所述麦克风信号(202)的所述相应帧消除所述声学回声(156);以及
使用双端通话检测器DTD(220)基于所述参考信号(158)的所述相应帧和所述相应输出信号帧(206)来确定所述麦克风信号(202)的所述相应帧是包括双端通话帧还是仅回声帧;以及
对于包括所述仅回声帧的所述麦克风信号(202)的所述帧序列中的每个相应帧,对所述相应输出信号帧(206)静音;以及
在对于包括所述仅回声帧的所述麦克风信号(202)的所述帧序列中的每个相应帧对所述相应输出信号帧(206)静音之后,对于包括所述双端通话帧的所述麦克风信号(202)的所述帧序列中的每个相应帧对所述相应输出信号帧(206)执行语音处理。
2.根据权利要求1所述的计算机实现的方法(300),其中:
所述麦克风信号(202)的一部分进一步包括表示由所述麦克风(116)捕获的目标语音(12)的音频信号,所述目标语音(12)在从所述声学扬声器(118)回放所述音频内容(154)时说出;以及
当所述麦克风信号(202)的所述相应帧包括表示所述目标语音(12)的所述音频信号时,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧。
3.根据权利要求1或2所述的计算机实现的方法(300),其中,执行语音处理包括使用自动语音识别(ASR)模型(145)执行语音识别。
4.根据权利要求1-3中的任一项所述的计算机实现的方法(300),其中,所述操作进一步包括:在使用所述DTD(220)来确定所述麦克风信号(202)的相应帧是包括所述双端通话帧还是所述仅回声帧之前,将所述麦克风信号(202)、所述参考信号(158)和所述输出信号(206)的每个相应帧转换到短时傅里叶变换(STFT)域。
5.根据权利要求1-4中的任一项所述的计算机实现的方法(300),其中,确定所述麦克风信号(202)的相应帧是包括所述双端通话帧还是所述仅回声帧包括:
使用所述DTD(220)基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧之间的互相关来计算相应第一帧级双端通话指示符(208a);
使用所述DTD(220)基于所述麦克风信号(202)的所述相应帧与所述相应输出信号帧(206)之间的互相关来计算相应第二帧级双端通话指示符(208b);
确定所述相应第一帧级双端通话指示符或所述相应第二帧级双端通话指示符(208a,208b)中的至少一个是否满足双端通话阈值;以及
当所述相应第一帧级双端通话指示符或所述相应第二帧级双端通话指示符(208a,208b)中的至少一个满足所述双端通话阈值时,确定所述麦克风信号(202)的所述相应帧包括所述双端通话帧。
6.根据权利要求5所述的计算机实现的方法(300),其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧进一步包括:当所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)两者都未能满足所述双端通话阈值时,确定所述麦克风信号(202)的所述相应帧包括所述仅回声帧。
7.根据权利要求5或6所述的计算机实现的方法(300),其中,在预定范围的频率子带上计算所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)。
8.根据权利要求5至7中的任一项所述的计算机实现的方法(300),其中,确定所述相应第一帧级双端通话指示符(208a)或所述相应第二帧级双端通话指示符(208b)中的至少一个是否满足所述双端通话阈值包括:当所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)中的最小值小于所述双端通话阈值时,确定所述相应第一帧级双端通话指示符(208a)或所述相应第二帧级双端通话指示符(208b)中的至少一个满足所述双端通话阈值。
9.根据权利要求1-8中的任一项所述的计算机实现的方法(300),其中,所述操作进一步包括,对于所述麦克风信号(202)的所述帧序列中的每个帧:
使用所述DTD(220),基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧或所述相应输出信号帧(206)中的一个之间的互相关来计算相应第一帧级双端通话指示符(208a),
其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧基于所述相应第一帧级双端通话指示符(208a)。
10.根据权利要求9所述的计算机实现的方法(300),其中,所述操作进一步包括,对于所述麦克风信号(202)的所述帧序列中的每个帧:
使用所述DTD(220),基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧或所述相应输出信号帧(206)中的另一个之间的互相关来计算相应第二帧级双端通话指示符(208b),
其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧进一步基于所述相应第二帧级双端通话指示符(208b)。
11.根据权利要求1-10中的任一项所述的计算机实现的方法(300),其中,所述声学回声消除器(210)包括线性声学回声消除器。
12.根据权利要求1-11中的任一项所述的计算机实现的方法(300),其中,所述数据处理硬件(410)、所述麦克风(116)和所述声学扬声器(118)驻留在用户计算设备(110)上。
13.根据权利要求1所述的计算机实现的方法(300),其中,对于包括所述双端通话帧的所述麦克风信号(202)的所述序列中的每个相应帧对所述相应输出信号帧(206)执行语音处理包括对所述相应输出信号帧(206)执行语音处理,而不对所述相应输出信号帧(206)执行声学回声抑制。
14.一种系统,包括:
数据处理硬件(410);以及
存储器硬件(114,136),所述存储器硬件(114,136)与所述数据处理硬件(410)通信,所述存储器硬件(114,136)存储指令,所述指令当在所述数据处理硬件(410)上执行时使得所述数据处理硬件(410)执行操作,所述操作包括:
接收包括由麦克风(116)捕获的声学回声(156)的麦克风信号(202),所述声学回声(156)对应于从声学扬声器(118)回放的音频内容(154);
接收参考信号(158),所述参考信号(158)包括表示在所述声学扬声器(118)回放所述音频内容(154)之前在参考通道中发射的所述音频内容(154)的帧序列;
对于所述麦克风信号(202)的帧序列中的每个帧:
使用被配置为接收所述参考信号(158)的所述帧序列中的相应帧作为输入的声学回声消除器(210)处理所述麦克风信号(202)的相应帧以生成相应输出信号帧(206)所述相应输出信号帧(206)从所述麦克风信号(202)的所述相应帧消除所述声学回声(156);以及
使用双端通话检测器DTD(220)基于所述参考信号(158)的所述相应帧和所述相应输出信号帧(206)来确定所述麦克风信号(202)的所述相应帧是包括双端通话帧还是仅回声帧;以及
对于包括所述仅回声帧的所述麦克风信号(202)的所述帧序列中的每个相应帧,对所述相应输出信号帧(206)静音;以及
在对于包括所述仅回声帧的所述麦克风信号(202)的所述帧序列中的每个相应帧对所述相应输出信号帧(206)静音之后,对于包括所述双端通话帧的所述麦克风信号(202)的所述帧序列中的每个相应帧对所述相应输出信号帧(206)执行语音处理。
15.根据权利要求14所述的系统,其中:
所述麦克风信号(202)的一部分进一步包括表示由所述麦克风(116)捕获的目标语音(12)的音频信号,所述目标语音(12)在从所述声学扬声器(118)回放所述音频内容(154)时说出;以及
当所述麦克风信号(202)的所述相应帧包括表示所述目标语音(12)的所述音频信号时,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧。
16.根据权利要求14或15所述的系统,其中,执行语音处理包括使用自动语音识别(ASR)模型(145)执行语音识别。
17.根据权利要求14-16中的任一项所述的系统,其中,所述操作进一步包括:在使用所述DTD(220)来确定所述麦克风信号(202)的相应帧是包括所述双端通话帧还是所述仅回声帧之前,将所述麦克风信号(202)、所述参考信号(158)和所述输出信号(206)的每个相应帧转换到短时傅里叶变换(STFT)域。
18.根据权利要求14-17中的任一项所述的系统,其中,确定所述麦克风信号(202)的相应帧是包括所述双端通话帧还是所述仅回声帧包括:
使用所述DTD(220)基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧之间的互相关来计算相应第一帧级双端通话指示符(208a);
使用所述DTD(220)基于所述麦克风信号(202)的所述相应帧与所述相应输出信号帧(206)之间的互相关来计算相应第二帧级双端通话指示符(208b);
确定所述相应第一帧级双端通话指示符或所述相应第二帧级双端通话指示符(208a,208b)中的至少一个是否满足双端通话阈值;以及
当所述相应第一帧级双端通话指示符或所述相应第二帧级双端通话指示符(208a,208b)中的至少一个满足所述双端通话阈值时,确定所述麦克风信号(202)的所述相应帧包括所述双端通话帧。
19.根据权利要求18所述的系统,其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧进一步包括:当所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)两者都未能满足所述双端通话阈值时,确定所述麦克风信号(202)的所述相应帧包括所述仅回声帧。
20.根据权利要求18或19所述的系统,其中,在预定范围的频率子带上计算所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)。
21.根据权利要求18-20中的任一项所述的系统,其中,确定所述相应第一帧级双端通话指示符(208a)或所述相应第二帧级双端通话指示符(208b)中的至少一个是否满足所述双端通话阈值包括:当所述相应第一帧级双端通话指示符(208a)和所述相应第二帧级双端通话指示符(208b)中的最小值小于所述双端通话阈值时,确定所述相应第一帧级双端通话指示符(208a)或所述相应第二帧级双端通话指示符(208b)中的至少一个满足所述双端通话阈值。
22.根据权利要求14-21中的任一项所述的系统,其中,所述操作进一步包括,对于所述麦克风信号(202)的所述帧序列中的每个帧:
使用所述DTD(220),基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧或所述相应输出信号帧(206)中的一个之间的互相关来计算相应第一帧级双端通话指示符(208a),
其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧基于所述相应第一帧级双端通话指示符(208a)。
23.根据权利要求22所述的系统,其中,所述操作进一步包括,对于所述麦克风信号(202)的所述帧序列中的每个帧:
使用所述DTD(220),基于所述麦克风信号(202)的所述相应帧与所述参考信号(158)的所述相应帧或所述相应输出信号帧中的另一个之间的互相关来计算相应第二帧级双端通话指示符(208b),
其中,确定所述麦克风信号(202)的所述相应帧是包括所述双端通话帧还是所述仅回声帧进一步基于所述相应第二帧级双端通话指示符(208b)。
24.根据权利要求14-23中的任一项所述的系统,其中,所述声学回声消除器(210)包括线性声学回声消除器。
25.根据权利要求14-24中的任一项所述的系统,其中,所述数据处理硬件(410)、所述麦克风(116)和所述声学扬声器(118)驻留在用户计算设备(110)上。
26.根据权利要求14-25中的任一项所述的系统,其中,对于包括所述双端通话帧的所述麦克风信号(202)的所述序列中的每个相应帧对所述相应输出信号帧(206)执行语音处理包括对所述相应输出信号帧(206)执行语音处理,而不对所述相应输出信号帧(206)执行声学回声抑制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163261281P | 2021-09-16 | 2021-09-16 | |
US63/261,281 | 2021-09-16 | ||
PCT/US2021/062970 WO2023043470A1 (en) | 2021-09-16 | 2021-12-11 | Stft-based echo muter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117940995A true CN117940995A (zh) | 2024-04-26 |
Family
ID=80050852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180102359.8A Pending CN117940995A (zh) | 2021-09-16 | 2021-12-11 | 基于stft的回声静音器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12051434B2 (zh) |
EP (1) | EP4385011A1 (zh) |
JP (1) | JP2024535861A (zh) |
KR (1) | KR20240049592A (zh) |
CN (1) | CN117940995A (zh) |
WO (1) | WO2023043470A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606382B2 (en) * | 2000-01-27 | 2003-08-12 | Qualcomm Incorporated | System and method for implementation of an echo canceller |
US7881459B2 (en) * | 2007-08-15 | 2011-02-01 | Motorola, Inc. | Acoustic echo canceller using multi-band nonlinear processing |
SG11201407085UA (en) | 2012-04-30 | 2014-12-30 | Creative Tech Ltd | A universal reconfigurable echo cancellation system |
US10446165B2 (en) | 2017-09-27 | 2019-10-15 | Sonos, Inc. | Robust short-time fourier transform acoustic echo cancellation during audio playback |
US10586534B1 (en) * | 2017-09-27 | 2020-03-10 | Amazon Technologies, Inc. | Voice-controlled device control using acoustic echo cancellation statistics |
WO2019143759A1 (en) | 2018-01-18 | 2019-07-25 | Knowles Electronics, Llc | Data driven echo cancellation and suppression |
US10622009B1 (en) * | 2018-09-10 | 2020-04-14 | Amazon Technologies, Inc. | Methods for detecting double-talk |
-
2021
- 2021-12-11 WO PCT/US2021/062970 patent/WO2023043470A1/en active Application Filing
- 2021-12-11 JP JP2024516942A patent/JP2024535861A/ja active Pending
- 2021-12-11 KR KR1020247009521A patent/KR20240049592A/ko unknown
- 2021-12-11 CN CN202180102359.8A patent/CN117940995A/zh active Pending
- 2021-12-11 US US17/643,825 patent/US12051434B2/en active Active
- 2021-12-11 EP EP21848338.6A patent/EP4385011A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12051434B2 (en) | 2024-07-30 |
JP2024535861A (ja) | 2024-10-02 |
KR20240049592A (ko) | 2024-04-16 |
US20230079828A1 (en) | 2023-03-16 |
WO2023043470A1 (en) | 2023-03-23 |
EP4385011A1 (en) | 2024-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839820B2 (en) | Voice processing method, apparatus, device and storage medium | |
WO2014120291A1 (en) | System and method for improving voice communication over a network | |
US20160358609A1 (en) | Rapid speech recognition adaptation using acoustic input | |
EP4394761A1 (en) | Audio signal processing method and apparatus, electronic device, and storage medium | |
US10762914B2 (en) | Adaptive multichannel dereverberation for automatic speech recognition | |
CN112053702B (zh) | 一种语音处理的方法、装置及电子设备 | |
KR20200142122A (ko) | 호출 구문 검출에서 노이즈 감소 기술의 선택적 적응 및 활용 | |
US11776563B2 (en) | Textual echo cancellation | |
US20230298609A1 (en) | Generalized Automatic Speech Recognition for Joint Acoustic Echo Cancellation, Speech Enhancement, and Voice Separation | |
US12051434B2 (en) | STFT-based echo muter | |
US11176957B2 (en) | Low complexity detection of voiced speech and pitch estimation | |
US20230298612A1 (en) | Microphone Array Configuration Invariant, Streaming, Multichannel Neural Enhancement Frontend for Automatic Speech Recognition | |
US20240249741A1 (en) | Guided Speech Enhancement Network | |
US12119014B2 (en) | Joint acoustic echo cancelation, speech enhancement, and voice separation for automatic speech recognition | |
US20230267949A1 (en) | Streaming Vocoder | |
Gogate et al. | Application for Real-time Audio-Visual Speech Enhancement | |
Xie et al. | New research on monaural speech segregation based on quality assessment |
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 |