A microphone array-invariant, streaming, multi-channel, neural enhancement front-end for automatic speech recognition
The multi-channel neural front-end speech enhancement model addresses the challenges of background noise and competing speech in ASR systems by processing multi-channel noisy input signals and context noise signals to generate enhanced input speech features, thereby improving speech recognition accuracy.
Patent Information
- Application Number
- JP2024555936
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-20
- Filing Date
- 2023-02-20
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2043-02-20
AI Technical Summary
Existing automated speech recognition (ASR) systems face challenges in accurately recognizing speech in conditions with background noise, reverberation, and competing speech, particularly in separating speech from non-speech-based noise.
A multi-channel neural front-end speech enhancement model is introduced, comprising a speech cleaner, a stack of self-attention blocks, and a masking layer. This model processes multi-channel noisy input signals and context noise signals to generate enhanced input speech features, effectively removing background interference.
The proposed model significantly improves the robustness of ASR systems by effectively separating speech from background noise and competing speech, leading to enhanced speech recognition performance even in challenging conditions.
Smart Images

Figure 2025509887000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a microphone array configuration invariant, streaming, multi-channel, neural enhancement front-end for automatic speech recognition. [Background technology]
[0002] The robustness of automatic speech recognition (ASR) systems has improved significantly over the years with the advent of neural network-based end-to-end models, large training data, and improved strategies for augmenting the training data. However, various conditions such as reverberation, significant background noise, and competing speech can significantly degrade the performance of ASR systems. Joint ASR models can be trained to handle these conditions. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2021 / 013345 Summary of the Invention [Problem to be solved by the invention]
[0004] However, separating speech in background conditions that include speech-based and non-speech-based noise is particularly challenging. [Means for solving the problem]
[0005] One aspect of the present disclosure provides a multi-channel neural front-end speech enhancement model for speech recognition. The multi-channel neural front-end speech enhancement model includes a speech cleaner, a stack of self-attention blocks each having a multi-head self-attention mechanism, and a masking layer. The speech cleaner receives a multi-channel noisy input signal and a multi-channel contextual noise signal as inputs, while generating a single-channel cleaned input signal as output. The stack of self-attention blocks receives a stack input including the single-channel cleaned input signal output from the speech cleaner and the single-channel noisy input signal at the first block of the stack of self-attention blocks as inputs, while generating an unmasked output as output from the final block of the stack of self-attention blocks. The masking layer receives as input a single-channel noisy input signal and the generated unmasked output as the output from the final block of the stack of self-attention blocks, while generating as output enhanced input speech features corresponding to the target utterance.
[0006] Implementations of the present disclosure may include one or more of the following optional features: In some implementations, the stack of self-attention blocks comprises a stack of conformer blocks. In these implementations, the stack of conformer blocks may include four conformer blocks. In some examples, the speech enhancement model is executed in data processing hardware present in a user device, where the user device is configured to capture the target speech and the multi-channel contextual noise signal via an array of microphones on the user device. In these examples, the speech enhancement model may be agnostic with respect to the number of microphones in the array of microphones.
[0007] In some implementations, the voice cleaner performs the steps of applying a finite impulse response (FIR) filter to all channels of the multi-channel noisy input signal except the first channel of the multi-channel noisy input signal to generate a sum output and subtracting the sum output from the first channel of the multi-channel noisy input signal to generate a single channel cleaned input signal by performing an adaptive noise cancellation algorithm. In some examples, the back-end voice system is configured to process the enhanced input voice features corresponding to the target speech. In these examples, the back-end voice system comprises at least one of an automatic speech recognition (ASR) model, or an audio call application, or an audio-video call application.
[0008] In some implementations, the speech enhancement model is jointly trained with a back-end automatic speech recognition (ASR) model by using a spectral loss and an automatic speech recognition (ASR) loss. In these implementations, the spectral loss may be based on a distance between an estimated ratio mask and an ideal ratio mask, where the ideal ratio mask is calculated by using reverberant speech and reverberant noise. Additionally or alternatively, the automatic speech recognition (ASR) loss is calculated by: generating a predicted output of the automatic speech recognition (ASR) encoder of the automatic speech recognition (ASR) model configured to receive as input the enhanced speech features predicted by the speech enhancement model for the training utterance; and generating a target output of the automatic speech recognition (ASR) encoder of the target speech features by using an automatic speech recognition (ASR) encoder configured to receive as input the target speech features of the training utterance. Wherein the automatic speech recognition (ASR) loss is calculated based on the predicted output of the automatic speech recognition (ASR) encoder of the enhanced speech features and the target output of the automatic speech recognition (ASR) encoder of the target speech features.
[0009] Another aspect of the disclosure provides a computer-implemented method that, when executed on the data processing hardware, causes the data processing hardware to perform operations. The operations include receiving a multi-channel noisy input signal and a multi-channel contextual noise signal, and generating a single-channel cleaned input signal by using a speech cleaner of a speech enhancement model. The operations also include generating an unmasked output as an output from a stack of self-attention blocks of the speech enhancement model configured to receive a stack input comprising the single-channel cleaned input signal output from the speech cleaner and the single-channel noisy input signal, where each self-attention block of the stack of self-attention blocks comprises a multi-head self-attention mechanism. The operations further include generating enhanced input speech features corresponding to the target utterance by using a masking layer of the speech enhancement model configured to receive the single-channel noisy input signal and the generated unmasked output as an output from the stack of self-attention blocks.
[0010] This aspect may include one or more of the following optional features: In some implementations, the stack of self-attention blocks comprises a stack of conformer blocks. In these implementations, the stack of conformer blocks may include four conformer blocks. In some examples, the speech cleaner, the stack of self-attention blocks, and the masking layer are executed in data processing hardware present in a user device, where the user device is configured to capture the target speech and the multi-channel contextual noise signal via an array of microphones on the user device. In these examples, the speech enhancement model may be agnostic with respect to the number of microphones in the array of microphones.
[0011] In some implementations, the operations further include using the voice cleaner to apply a finite impulse response (FIR) filter to all channels of the multi-channel noisy input signal except the first channel of the multi-channel noisy input signal to generate a sum output, and executing an adaptive noise cancellation algorithm to generate a single-channel cleaned input signal by subtracting the sum output from the first channel of the multi-channel noisy input signal. In some examples, the back-end voice system is configured to process the enhanced input voice features corresponding to the target speech. In these examples, the back-end voice system comprises at least one of an automatic speech recognition (ASR) model, or an audio or audio-video calling application.
[0012] In some implementations, the speech enhancement model is jointly trained with a back-end automatic speech recognition (ASR) model by using a spectral loss and an automatic speech recognition (ASR) loss. In these implementations, the spectral loss may be based on a distance between an estimated ratio mask and an ideal ratio mask, where the ideal ratio mask is calculated by using reverberant speech and reverberant noise. Additionally or alternatively, the automatic speech recognition (ASR) loss is calculated by: generating a predicted output of the automatic speech recognition (ASR) encoder of the automatic speech recognition (ASR) model configured to receive as input the enhanced speech features predicted by the speech enhancement model for the training utterance; and generating a target output of the automatic speech recognition (ASR) encoder of the target speech features by using an automatic speech recognition (ASR) encoder configured to receive as input the target speech features of the training utterance. Wherein the automatic speech recognition (ASR) loss is calculated based on the predicted output of the automatic speech recognition (ASR) encoder of the enhanced speech features and the target output of the automatic speech recognition (ASR) encoder of the target speech features.
[0013] The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will become apparent from the description and drawings, and from the claims. [Brief description of the drawings]
[0014] [Figure 1] 1 is a schematic diagram of a system comprising a user communicating a spoken target utterance to a voice-enabled user device. [Diagram 2] FIG. 2 is a schematic diagram of the multi-channel neural front-end speech enhancement model of FIG. [Diagram 3] FIG. 1 is a schematic diagram of a speech cleaner for a multi-channel neural front-end speech enhancement model. [Figure 4] FIG. 1 is a schematic diagram of a self-attention conformer block of a multi-channel neural front-end speech enhancement model. [Diagram 5] FIG. 2 is a schematic diagram of an exemplary training process for jointly training a contextual front-end processing model and an automatic speech recognition model. [Figure 6] 1 is an example flowchart of an example configuration of operations for a method of automatic speech recognition using a multi-channel neural front-end speech enhancement model. [Figure 7] FIG. 1 is a schematic diagram of an example computing device that can be used to implement the systems and methods described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Like reference symbols in the various drawings indicate like elements. The robustness of automatic speech recognition (ASR) systems has improved significantly over the years with the advent of neural network-based end-to-end models, large-scale training data, and improved strategies for expanding the training data. Nevertheless, background interference can significantly degrade the ability of an ASR system to accurately recognize speech directed at it. Background interference can be broadly categorized into three groups: device echo, background noise, and competing voices. To treat each of these background interference groups separately, it has been possible to train separate ASR models. However, maintaining multiple task / condition-specific ASR models and switching between models on the fly during use is not only difficult but also impractical.
[0016] Device echo can correspond to playback audio output from devices such as smart home speakers. The playback audio can then be recorded as an echo, which can impact the performance of back-end speech systems such as automatic speech recognition (ASR) systems. In particular, the degradation in performance of the back-end speech system can be particularly severe when the playback audio comprises audible speech, for example, a text-to-speech (TTS) response from a digital assistant.
[0017] Background noise, which has non-speech characteristics, is usually adequately handled by using data augmentation strategies such as multi-style training (MTR) of automatic speech recognition ASR models, where noise is added to the training data by using a room simulator. Then, during training, they are carefully weighted with clean data to balance the performance between clean and noisy conditions. As a result, large-scale automatic speech recognition ASR models are robust to moderate levels of non-speech noise. However, in the presence of low signal-to-noise ratio (SNR) conditions, background noise can still affect the performance of the back-end speech system.
[0018] Unlike non-speech background noise, competing speech is a major challenge for automatic speech recognition (ASR) models trained to recognize a single speaker. Training an automatic speech recognition (ASR) model with multiple talker speech can be problematic in itself, since it is difficult to disambiguate which speaker to focus on during inference. Using a model that recognizes multiple speakers is also suboptimal, since it is difficult to know in advance how many users it will support. Moreover, such multi-speaker models usually perform poorly in a single-speaker setting, making them undesirable.
[0019] The three aforementioned classes of background interference are usually addressed in isolation from one another, each using a separate modeling strategy. In recent literature, speech separation using deep clustering, permutation invariant training techniques, as well as speaker embeddings, has received much attention. When using speaker embeddings, the target speaker of interest is assumed to be known a priori. Techniques developed for speaker separation are also applied to remove non-speech noise as well as modifying the training data. Acoustic echo cancellation (AEC) has also been studied alone or together in the presence of background noise. It is well known that improving speech quality does not necessarily improve ASR performance, as distortions introduced by nonlinear processing can adversely affect ASR performance. One way to mitigate the mismatch between the enhancement front-end that first processes the incoming audio and the resulting ASR performance is to jointly train the enhancement front-end together with the back-end ASR model.
[0020] Furthermore, the application of large-scale multi-domain and multi-lingual automatic speech recognition (ASR) models continues to attract interest. Since the training data of these automatic speech recognition (ASR) models usually covers a variety of acoustic and linguistic use cases (e.g., voice search and video caption), it becomes difficult to simultaneously deal with more difficult noise conditions. As a result, it is often advantageous to train and maintain a separate front-end feature processing model that can deal with adverse conditions without combining it with the back-end automatic speech recognition (ASR) model.
[0021] The embodiments herein are directed to training a front-end speech enhancement model to improve the robustness of automatic speech recognition ASR. This model is practical in view of the fact that it is difficult, if not impossible, to know in advance which class of background interference to deal with, especially in a streaming automatic speech recognition ASR setting. Specifically, the front-end speech enhancement model comprises a context enhancement neural network (CENN) that is enabled to utilize a multi-channel noisy input signal and a multi-channel contextual noise signal. For speech enhancement and separation, the noise context, i.e., several seconds of audio before the target utterance to be recognized, conveys useful information about the acoustic context. The context enhancement neural network CENN generates enhanced input speech features by using respective neural network architectures configured to incorporate noisy input and contextual input. The enhanced input speech features can be passed to a back-end speech system, such as an automatic speech recognition ASR model, which can process the enhanced input speech features to generate speech recognition results for the target utterance. In particular, although the front-end speech enhancement model is designed to work with multi-channel arrays, the front-end speech enhancement model itself is agnostic with respect to the number of channels in the array or their configuration.
[0022] Referring to FIG. 1, in some embodiments, a system 100 includes a user 10 communicating a spoken target utterance 12 to a speech-enabled user device 110 (also referred to as device 110 or user device 110) in a speech environment. The user 10 (i.e., the speaker of the utterance 12) may speak the target utterance 12 as a query or command that solicits a response from the device 110. The user device 110 is configured to capture sounds from one or more users 10, 11 within the speech environment. Here, audio sounds may refer to spoken utterances (spoken utterances 12) by the user 10 that function as audible queries, commands for the device 110, or audible communications captured by the device 110. A speech-enabled system of the device 110, or a speech-enabled system associated with the device 110, may execute the query of the command by responding to the query and / or executing the command.
[0023] Various types of background interference may interfere with the ability of the back-end speech system 180 to process the target utterance 12 that specifies a query or command to the device 110. As previously described, background interference may include one or more of device echoes corresponding to playback audio 154 already output from the user device (e.g., smart speaker) 110, competing voices 13 such as utterances other than the target utterance 12 spoken by one or more other users 11 that are not directed to the user device 110, and background noise having non-speech characteristics such as a ringtone 15 from another user device 111. Implementations herein use a multi-channel neural front-end speech enhancement model 200 (also referred to as model 200 or front-end speech enhancement model 200) running on the device 110. The multi-channel neural front-end speech enhancement model 200 is configured to receive as input a multi-channel noisy input signal 202 comprising speech features corresponding to a target utterance 12 and background interference, and a multi-channel contextual noise signal 204, and to generate as output enhanced input speech features 250 corresponding to the target utterance 12 by processing the multi-channel noisy input signal 202 and the multi-channel contextual noise signal 204 to remove the background interference. The multi-channel noisy input signal 202 comprises one or more channels 206, 206a-206n of audio. The back-end speech system 180 is then enabled to process the enhanced input speech features 250 to generate an output 182. In particular, the multi-channel neural front-end speech enhancement model 200 effectively removes (i.e., masks) the presence of background interference recorded by the device 110 when the user 10 speaks the target utterance 12, such that the enhanced input speech features 250 provided to the back-end speech system 180 convey the speech intended for the device 110 (i.e., the target utterance 12) and the output 182 generated by the back-end speech system 180 is not degraded by the background interference.
[0024] In the illustrated example, the backend speech system 180 includes an automatic speech recognition ASR system 190. The automatic speech recognition ASR system 190 uses an automatic speech recognition ASR model 192 to generate a speech recognition result (e.g., a transcription) for the target utterance 12 by processing the enhanced input speech features 250. The automatic speech recognition ASR system 190 may further include a natural language understanding (NLU) module (not shown) that performs semantic interpretation on the transcription of the target utterance 12 to identify a query / command directed to the device 110. Thus, the output 182 from the backend speech system 180 may include a transcription and / or instructions for accomplishing the query / command identified by the natural language understanding NLU module.
[0025] The backend speech system 180 may additionally or alternatively include a hotword detection model (not shown) configured to detect whether the enhanced input speech features 250 comprise the presence of one or more hotwords / warm words that the hotword detection model is trained to detect. For example, the hotword detection model may output a hotword detection score indicating the likelihood that the enhanced input speech features 250 corresponding to the target utterance 12 comprise a particular hotword / warm word. Detection of a hotword may trigger a wake-up process that wakes up the device 110 from a sleep state. For example, the device 110 is enabled to wake up and process the hotword and / or one or more terms preceding / following the hotword.
[0026] In a further example, the background audio system 180 comprises an audio or audio-video calling application (e.g., a video conferencing application) in which the enhanced input speech features 250 corresponding to the target utterance 12 are used by the audio or audio-video calling application to filter the voice of the target speaker (10) for communication to a recipient during an audio or audio-video communication session. The background audio system 180 may additionally or alternatively include a speaker identification model configured to identify the user 10 who spoke the target utterance 12 by performing speaker identification using the enhanced input speech features 250.
[0027] In the illustrated example, the device 110 captures a multi-channel noisy input signal 202 (also referred to as audio data) of a target utterance 12 spoken by a user 10 in the presence of background interference emanating from one or more sources other than the user 10. The multi-channel noisy input signal 202 comprises one or more single-channel noisy input signals 206, 206a-206n of audio. The device 110 may correspond to any computing device that is associated with the user 10 and enabled to receive the multi-channel noisy input signal 202. Some examples of user devices 110 include, but are not limited to, mobile devices (e.g., mobile phones, tablets, laptops, etc.), computers, wearable devices (e.g., smart watches, smart headphones, etc.), smart appliances, Internet of Things (IoT) devices, smart speakers, etc. The device 110 comprises data processing hardware 112 and memory hardware 114 in communication with the data processing hardware 112. The memory hardware 114 stores instructions that, when executed by the data processing hardware 112, cause the data processing hardware 112 to perform one or more operations. The multi-channel neural front-end speech enhancement model 200 may be executed on the data processing hardware 112. In some examples, the back-end speech system 180 executes on the data processing hardware 112.
[0028] In some examples, the device 110 includes one or more applications (i.e., software applications), each of which may utilize the enhanced input speech features 250 generated by the multi-channel neural front-end speech enhancement model 200 to perform various functions within the application. For example, the device 110 includes an assistant application configured to assist the user 10 with various tasks by communicating synthetic playback audio 154 to the user 10.
[0029] The user device 110 further includes (or communicates with) an audio subsystem including an array of audio capture devices (e.g., microphones) 116, 116a-116n for capturing and converting spoken speech (12) into electrical signals within the audio environment, and an audio output device (e.g., speaker 118) for communicating an audible audio signal (e.g., synthesized playback audio 154 from the device 110). Each microphone 116 of the array of microphones 116 of the user device 110 is enabled to separately record speech (12) into a separate dedicated channel 206 of the multi-channel noisy input signal 202. For example, the user device 110 may include two microphones 116 each for recording speech (12), and the recordings from the two microphones 116 may be combined into a two-channel noisy input signal 202 (i.e., spatial audio or stereo). That is, two microphones are present in the user device 110. In some examples, the user device 110 includes three or more microphones 116. Additionally or alternatively, the user device 102 may communicate to two or more microphones 116 that are separate / remote from the user device 110. For example, the user device 110 may be a mobile device located in a vehicle and in wired or wireless communication (e.g., Bluetooth) with the vehicle's two or more microphones 116. In some configurations, the user device 110 communicates to at least one microphone 116 present on a separate device 111, which may include, but is not limited to, an in-car audio system, a computing device, a speaker, or another user device. In these configurations, the separate device 111 may also communicate to one or more microphones 116 present on the user device 110.
[0030] In some examples, the device 110 is configured to communicate to a remote system 130 over a network (not shown). The remote system 130 may include remote resources 132, such as remote data processing hardware 134 (e.g., a remote server or CPU) and / or remote memory hardware 136 (e.g., a remote database or other storage hardware). The user device 110 may utilize the remote resources 132 to perform various functions related to speech processing and / or synthesis playback communication. The multi-channel neural front-end speech enhancement model 200 and the back-end speech system 180 may be present on the device 110 (referred to as an on-device system) or may be present remotely while in communication with the device 110 (e.g., may be present on the remote system 130). In some examples, one or more back-end speech systems 180 are present locally or on-device, while one or more other back-end speech systems 180 are present remotely. In other words, the one or more backend speech systems 180 utilizing the enhanced input speech features 250 output from the multi-channel neural front-end speech enhancement model 200 may be local or remote in any combination. For example, if the size or processing requirements of the system 180 are significant, the system 180 may reside on the remote system 130. However, if the device 110 can support the size or processing requirements of the system or systems 180, the system or systems 180 may reside on the device 110 by using the data processing hardware 112 and / or memory hardware 114. Optionally, one or more of the systems 180 may reside both locally / on-device and remotely. For example, the backend speech system 180 is enabled to run on the remote system 130 by default when a connection between the device 110 and the remote system 130 is available, but when the connection is lost or unavailable, the system 180 runs locally on the device 110 instead.
[0031] In some implementations, device 110, or a system associated with device 110, identifies text that device 110 communicates to user 10 in response to a query spoken by user 10. Device 110 can then use a text-to-speech (TTS) system to convert the text into corresponding synthetic playback audio 154 that device 110 can communicate to user 10 (e.g., audibly communicate with user 10) in response to the query. Once generated, the TTS system communicates synthetic playback audio 154 to device 110, enabling device 110 to output synthetic playback audio 154. For example, device 110 outputs synthetic playback audio 154 of "It's sunny today" on speaker 118 of device 110 in response to user 10 making a verbal query for today's weather forecast.
[0032] Continuing to refer to FIG. 1, when the device 110 outputs the synthetic playback audio 154, the synthetic playback audio 154 generates an echo 156 captured by the audio capture device 116. The synthetic playback audio 154 corresponds to a reference audio signal. Although the synthetic playback audio 154 illustrates a reference audio signal in the example of FIG. 1, the reference audio signal may include other types of playback audio 154 comprising media content output from the speaker 118, or a communication from a remote user with whom the user 10 is conversing via the device 110 (e.g., a voice-over-IP call or a video conference call). Unfortunately, in addition to the echo 156, the audio capture device 116 may also simultaneously capture a target utterance 12 spoken by the user 10, beginning with "how about tomorrow", and comprising a follow-up query further inquiring about the weather. For example, FIG. 1 depicts the user 10 inquiring about the weather further in the spoken utterance (12) by beginning with "how about tomorrow" to the device 110 when the device 110 outputs the synthetic playback audio 154. The spoken speech (12) and the echo 156 are both captured by the audio capture device 116 at the same time, thereby forming a multi-channel noisy input signal 202. In other words, the multi-channel noisy input signal 202 comprises an overlapping audio signal in which a portion of the target utterance 12 spoken by the user 10 overlaps with a portion of the reference audio signal (e.g., the synthetic playback audio 154) already output from the speaker 118 of the device 110. In addition to the synthetic playback audio 154, competing voices 13 spoken by another user 11 in the environment and non-speech features such as an incoming call (ring tone) 15 from a separate user device 111 may also be captured by the audio capture device 116 and thus contribute to background interference overlapping with the target utterance 12.
[0033] In Fig. 1, the back-end speech system 180 may have problems processing the target utterance 12 corresponding to the follow-up weather query "How is tomorrow?" in the multi-channel noisy input signal 202 due to the presence of background interference interfering with the target utterance 12, where the background interference is attributed to at least one of the playback audio 154, the competing voice 13, or non-speech background noise 15. A multi-channel neural front-end speech enhancement model 200 is used to improve the robustness of the back-end speech system 180 by effectively removing (i.e., masking) the presence of background interference recorded by the device 110 when the user 10 speaks the target utterance 12.
[0034] The model 200 may perform speech enhancement by applying noise context modeling. The speech cleaner 300 of the model 200 processes a multi-channel context noise signal 204 associated with a predetermined period of a noise segment captured by the audio capture device 116 before the target utterance 12 is spoken by the user 10. In some examples, the predetermined period comprises a 6-second noise segment. Thus, the multi-channel context noise signal 204 provides a noise context. In some examples, the multi-channel context noise signal 204 comprises LFBE (log-mel filter bank energy) features of the noise context signal for use as context information.
[0035] Figure 2 shows the multi-channel neural front-end speech enhancement model 200 of Figure 1. The multi-channel neural front-end speech enhancement model 200 uses a modified version of a conformal neural network architecture that combines convolution and self-attention to model short-range and long-range interactions. The multi-channel neural front-end speech enhancement model 200 includes a speech cleaner 300, a feature stack 220, an encoder 230, and a masking layer 240. The speech cleaner 300 may perform an adaptive noise cancellation algorithm (Figure 3). The encoder 230 may include a stack of self-attention blocks 400.
[0036] The audio cleaner 300 may be configured to receive as inputs the multi-channel noisy input signal 202 and the multi-channel contextual noise signal 204, while generating as output a single-channel cleaned input signal 340. Here, the audio cleaner 300 includes a finite impulse response (FIR) filter for processing the multi-channel noisy input signal 202.
[0037] 3 presents an exemplary adaptive noise cancellation algorithm performed by an audio cleaner 300, which includes an FIR module 310 that includes an FIR filter, a minimization module 320, and a cancellation module 330.
[0038] In the illustrated example, for simplicity, the multi-channel noisy input signal 202 comprises three channels 206a-206c, each with a respective audio feature captured by a separate dedicated microphone 116a-116c of the array of three microphones 116. However, as noted above, the front-end speech enhancement model 200 is agnostic with respect to the number of microphones 116 of the array of microphones 116. In other words, the multi-channel noisy input signal 202 may comprise one channel 206 captured by one microphone 116, two channels 206 captured by two microphones 116, or four or more channels 206 captured by four or more microphones 116 without departing from the scope of the present disclosure.
[0039] Here, the FIR module 310 applies an FIR filter to all channels 206 of the multi-channel noisy input signal 202 except the first channel 206a to generate the sum output 312. In other words, the FIR module 310 does not process the first channel 206a of the multi-channel noisy input signal 202, while applying an FIR filter to the second channel 206b and the third channel 206c of the multi-channel noisy input signal 202 to generate the sum output 312. The minimization module 320 receives the sum output 312 and the first channel 206a, and generates a "minimized output" 322 by subtracting the sum output 312 from the first channel 206a of the multi-channel noisy input signal 202. Mathematically, the FIR filter comprises a three tapped delay line of length L that is applied to the channels 206b, 206c but not to the channel 206a. The determination of the minimized output 322 may be expressed as follows:
[0040]
number
[0041] During the ceremony,
[0042]
number
[0043] is a vector of inputs processed by the time-delay short-time Fourier transform (STFT) of channels 206b, 206c. m (k) is a vector of filter coefficients applied to channels 206b, 206c.
[0044]
number
[0045] and U m (k) can be expressed as follows:
[0046]
number
[0047] U m (k) = [U m (k,0),U m (k,1),…U m (k,N-1)] T (3) where the filter coefficients are allowed to minimize the power of the output as follows:
[0048]
number
[0049] Since the speech cleaner 300 is implemented in the device 110, the cancellation module 330 is enabled to use the multi-channel context noise signal 204 that occurs immediately before the speech (12) in the multi-channel noisy input signal 202. In other words, the minimization module 320 generates a minimized output 322 through adaptation during the multi-channel context noise signal 204 when the speech (12) is not present in the multi-channel noisy input signal 202. The adaptation may include a recursive least squares (RLS) algorithm. When the speech cleaner 300 detects the speech (12), the filter coefficients are fixed and the cancellation module 330 applies the last coefficient before the speech (12) to the multi-channel noisy input signal 202 to cancel the background interference, thereby generating a single-channel cleaned input signal 340 as follows:
[0050]
number
[0051] Referring back to FIG. 2, the feature stack 220 receives as input the single channel cleaned input signal 340 and the single channel 206a of the multi-channel noisy input signal 202. The feature stack 220 is then configured to generate a stack input 232. The stack input 232 comprises the single channel cleaned input signal 340 and the single channel 206a. The feature stack 220 may convert each of the single channel cleaned input signal 340 and the single channel 206a of the multi-channel noisy input signal 202 into a 128-dimensional log-mel domain by using a window size of 32 milliseconds (ms) with a step size of 10 ms, where four frames may be stacked in steps of 30 ms upon input to the feature stack 220.
[0052] The encoder 230 receives a stack input 232 comprising the single channel cleaned input signal 340 and the single channel 206a of the multi-channel noisy input signal 202, and generates as an output an unmasked output 480. The encoder 230 comprises a stack of self-attention blocks 400 (also referred to as blocks 400), where a first block (400) of the stack of self-attention blocks 400 receives a stack input 232. The stack input 232 comprises the single channel cleaned input signal 340 output from the audio cleaner 300 and the single channel 206a of the multi-channel noisy input signal 202. The final block (400) of the stack of self-attention blocks 400 generates the unmasked output 480.
[0053] Each conformer block (400) may include a (first half) feedforward layer, a self-attention layer, a convolutional layer, and a second (half) feedforward layer. In some implementations, the stack of self-attention blocks (400) comprises a stack of conformer blocks (400). In these implementations, the stack of conformer blocks (400) comprises four layers of conformer blocks (400), each with 1024 units, 8 attention heads, a convolution kernel size of 15×1, and 64 frames of self-attention to enable a streaming model. An example of a conformer block (400) is described in more detail below with reference to FIG. 4.
[0054] The masking layer 240 is configured to receive as input the unmasked output 480 output by the self-attention block 400 of the encoder 230 and a single channel 206a of the multi-channel noisy input signal 202, and to generate as output enhanced input speech features 250 corresponding to the target utterance 12. In some implementations, the masking layer 240 of the model 200 includes a decoder (not shown) configured to decode the unmasked output 480 into the enhanced input speech features 250 corresponding to the target utterance 12, where the decoder may include a simple projection decoder having a single-layer frame-wise fully connected network with sigmoid activation.
[0055] FIG. 4 presents an example of a block (400) from the stack of the self-attention block 400 of the encoder 230. In the self-attention block 400, the multi-head self-attention block 420 and the convolutional layer (convolutional layer) 430 include a first half feedforward layer 410, a second half feedforward layer 440, and concatenation operators 405, 405a-405d, which are arranged between the first half feedforward layer 410 and the second half feedforward layer 440. The first half feedforward layer 410 processes the stack input 232, which includes the single-channel cleaned input signal 340 output from the audio cleaner 300 and the single-channel noisy input signal 206a, to generate an output 412. The first concatenation operator 405a then concatenates the output 412 to the stack input 232 to generate a first concatenated input 414. Subsequently, the multi-head self-attention block 420 receives the first concatenated input 414 and generates a noise summary 422. Intuitively, the role of the multi-head self-attention block 420 is to separately summarize the noise context for each input frame to be highlighted.
[0056] Next, the second concatenation operator 405b concatenates the output noise summary 422 to the first concatenation input 414 to generate the second concatenation input 424. Then, the convolution layer (convolution layer) 430 subsamples the second concatenation input 424, which includes the noise summary 422 of the multi-head self-attention block 420, and the first concatenation input 414 to generate the convolution output 432. Then, the third concatenation operator 405c concatenates the convolution output 432 to the second concatenation input 424 to generate the third concatenation input 434. The third concatenation input 434 is provided as an input to the second half feedforward layer 440, which generates the output 442. The output 442 of the second half feedforward layer 440 is concatenated to the third concatenation input 434 by the fourth concatenation operator 405d to generate the fourth concatenation input 444. Finally, a layernorm module 450 processes the fourth connected input 444 from the second half feedforward layer 440. Mathematically, the self-attention block 400 generates output features y by transforming input features x using modulation features m as follows:
[0057]
number
[0058] The self-attention block 400 produces as output an unmasked output 480. This unmasked output 480 is passed to the next layer of the self-attention block 400. In this way, the inputs (204, 206) are modulated by each of the self-attention blocks 400.
[0059] FIG. 5 illustrates an exemplary training process 500 for calculating an automatic speech recognition ASR loss 560 when the front-end speech enhancement model 200 is jointly trained with the automatic speech recognition ASR model 192. The training process 500 may be executed on the remote system 130 of FIG. 1. As shown, the training process 500 obtains one or more training data sets 520 stored in a data store 510, and trains the multi-channel neural front-end speech enhancement model 200 with the training data sets 520. The data store 510 may reside in the memory hardware 136 of the remote system 130. Each training data set 520 includes multiple training examples 530, 530a-530n. Each training example 530 may include a training utterance 532. Here, only the encoder (540) of the automatic speech recognition ASR model 192 is used to calculate the loss. The automatic speech recognition ASR loss 560 is calculated as the l2 distance between the output of the automatic speech recognition ASR encoder 540 for the target features (536) of the training utterance 532 and the enhanced input speech features 250. The automatic speech recognition ASR encoder 540 is not updated during the training process 500. In particular, the training process 500 calculates the automatic speech recognition ASR loss 560 by the following two steps. The first step is to generate a predicted output 522 of the automatic speech recognition ASR encoder 540 for the enhanced input speech features 250 by using the automatic speech recognition ASR encoder 540 of the automatic speech recognition ASR model 192. Here, the automatic speech recognition ASR encoder 540 is configured to receive as an input the enhanced input speech features 250 predicted by the front-end speech enhancement model 200 for the training utterance 532. The second step is to generate a target output 524 of the automatic speech recognition ASR encoder 540 of the target speech features 536 by using an automatic speech recognition ASR encoder 540 configured to receive as input the target speech features 536 of the training utterance 532.The predicted output 522 of the enhanced input speech features 250 and the target output 524 of the target speech features 536 may each include a respective sequence of LFBE (Log-Mel Filter Bank Energy) features. The training process 500 then calculates an automatic speech recognition ASR loss 560 based on the predicted output 522 of the automatic speech recognition ASR encoder 540 of the enhanced input speech features 250 and the target output 524 of the automatic speech recognition ASR encoder 540 of the target speech features 536 via a loss module 550. The goal of using the automatic speech recognition ASR loss 560 is to attune the enhancement of the front-end speech enhancement model 200 to the automatic speech recognition ASR model 192 more closely. This is important to obtain the best performance from the front-end speech enhancement model 200. By keeping the parameters of the automatic speech recognition ASR model 192 fixed, the automatic speech recognition ASR model 192 is decoupled from the front-end speech enhancement model 200. This allows each to be trained and deployed independently of the other.
[0060] In some implementations, the front-end speech enhancement model 200 is jointly trained with the automatic speech recognition ASR model 192 of the back-end automatic speech recognition ASR system 180 by using the spectral loss and the automatic speech recognition ASR loss 560. The training targets (536) for training the multi-channel neural front-end speech enhancement model 200 use an ideal ratio mask (IRM). The ideal ratio mask IRM can be calculated by using reverberant speech and reverberant noise based on the assumption that there is no correlation between speech and noise in the Mel spectral space as follows:
[0061]
number
[0062] where X and N are the Mel spectrograms of reverberant speech and reverberant noise, respectively. t and f represent the time and Mel frequency bin indexes. The choice to estimate the ideal ratio mask IRM is based on a target restricted between [0,1], thus simplifying the estimation process. Furthermore, the automatic speech recognition ASR model 192 used for evaluation can be trained with real and simulated reverberation data. As a result, a trained automatic speech recognition ASR model 192 is obtained that is relatively robust to reverberant speech. Therefore, the ideal ratio mask IRM derived by using reverberant speech as a target still provides a significant improvement in performance. The spectral loss L during training is expressed as follows:
[0063]
number
[0064] It can be calculated based on the L1 loss and the L2 loss between
[0065]
number
[0066] During inference, the estimated ideal ratio mask IRM is scaled and floored to reduce speech distortion at the expense of reduced noise suppression. This is particularly important since the automatic speech recognition ASR model 192 is susceptible to speech distortion and nonlinear front-end processing, which is one of the main challenges in improving the performance of a robust automatic speech recognition ASR model by using an enhancement front-end. Enhanced features can be derived as follows:
[0067]
number
[0068] where Y is the noisy Mel spectrogram.
[0069]
number
[0070] is an estimate of the clean Mel spectrogram. α and β are the exponential mask scalar and mask floor. In some examples, α is set to 0.5, and β is set to 0.01. The enhanced features are log-compressed (i.e.
[0071]
number
[0072] The speech may be passed to an automatic speech recognition (ASR) model 192 for evaluation. 6 comprises a flow chart of an exemplary arrangement of operations for a method 600. The method 600 performs automatic speech recognition using a multi-channel neural front-end speech enhancement model (200). At operation 602, the method 600 comprises receiving a multi-channel noisy input signal 202 and a multi-channel contextual noise signal 204. The method 600 also comprises generating a single-channel cleaned input signal 340 at operation 604 by using the speech cleaner 300 of the speech enhancement model 200.
[0073] In operation 606, the method 600 also includes generating an unmasked output 480 as an output from a stack of self-attention blocks 400 of the speech enhancement model 200 configured to receive a stack input 232, where the stack input 232 includes a single-channel cleaned input signal 340 output from the speech cleaner 300 and a single-channel noisy input signal 206. Here, each self-attention block 400 of the stack of self-attention blocks 400 includes a multi-head self-attention mechanism. In operation 608, the method 600 further includes generating enhanced input speech features 250 corresponding to the target utterance 12 by using a masking layer 240 of the speech enhancement model 200. Here, the masking layer 240 is configured to receive the single-channel noisy input signal 206 and the generated unmasked output 480 as an output from the stack of self-attention blocks 400.
[0074] 7 is a schematic diagram of an exemplary computing device 700 that can be used to implement the systems and methods described herein. The computing device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components shown, their connections and relationships, and their functions are for illustrative purposes only and are not intended to limit the embodiments of the present disclosure described and / or claimed in this document.
[0075] The computing device 700 includes a processor 710, a memory 720, a storage device 730, a high-speed interface / controller (740) that connects to the memory 720 and a high-speed expansion port 750, and a low-speed interface / controller (760) that connects to a low-speed bus 770 and the storage device 730. Each of the components (710, 720, 730, 740, 750, and 760) are interconnected using various buses and may be mounted on a common motherboard or exist in other manners as needed. The processor 710 (e.g., data processing hardware 112, 134 of FIG. 1) is enabled to process instructions for execution within the computing device 700, comprising instructions stored in the memory 720 or the storage device 730, to display graphical information of a graphical user interface (GUI) on an external input / output device, such as a display 780 connected to the high-speed interface (740). In other implementations, multiple processors and / or multiple buses may be used as needed, along with multiple memories and multiple types of memories. Also, multiple computing devices 700 may be connected together (eg, as a bank of servers, a group of blade servers, or a multi-processor system) with each device providing a portion of the required operations.
[0076] The memory 720 (e.g., memory hardware 114, 136 of FIG. 1) stores information non-transiently within the computing device 700. The memory 720 may be a computer-readable medium, a volatile memory unit(s), or a non-volatile memory unit(s). The non-transient memory 720 may be a physical device used to temporarily or permanently store programs (e.g., instruction sequences) or data (e.g., program state information) for use by the computing device 700. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disk or tape.
[0077] The storage device 730 is enabled to provide mass storage to the computing device 700. In some embodiments, the storage device 730 is a computer-readable medium. In various different implementations, the storage device 730 may be a device array, including a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or a storage area network or other configuration of devices. In additional embodiments, the computer program product is tangibly embodied in an information carrier. The computer program product comprises instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable or machine-readable medium, such as the memory 720, the storage device 730, or the memory of the processor 710.
[0078] The high-speed controller 740 manages bandwidth-intensive operations of the computing device 700, and the low-speed controller 760 manages lower bandwidth-intensive operations. Such an allocation of roles is merely exemplary. In some implementations, the high-speed controller 740 is coupled to a memory 720, a display 780 (e.g., via a graphics processor or accelerator), and a high-speed expansion port 750 that can accept various expansion cards (not shown). In some implementations, the low-speed controller 760 is coupled to a storage device 730 and a low-speed expansion port 790. The low-speed expansion port 790 may include various communication ports (USB, Bluetooth, Ethernet, wireless Ethernet, etc.) and may be connected to one or more input / output devices such as a keyboard, a pointing device, a scanner, or a network device such as a switch or a router, for example, via a network adapter.
[0079] Computing device 700 may be implemented in a number of different forms, as shown in the figure: for example, it may be implemented as a standard server 700a, or multiplexed in a group of such servers (700a), as a laptop computer 700b, or as part of a rack server system 700c.
[0080] Various implementations of the systems and techniques described herein may be realized in digital electronic and / or optical circuitry, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may be specialized or general purpose and may include implementations in one or more computer programs executable and / or interpretable by a programmable system having at least one programmable processor, at least one input device, and at least one output device coupled to receive data and instructions from the storage system and to transmit data and instructions to the storage system.
[0081] A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform tasks. In some examples, a software application may be referred to as an "application," an "app," or a "program." Exemplary applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.
[0082] Non-transient memory may be a physical device used to store programs (e.g., instruction sequences) or data (e.g., program state information) temporarily or permanently for use by a computing device. Non-transient memory may be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disk or tape.
[0083] These computer programs (also known as programs, software, software applications, or codes) comprise machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor comprising a machine-readable medium that receives the machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0084] The processes and logic flows described herein can be implemented by one or more programmable processors, also referred to as data processing hardware, executing one or more computer programs to operate on input data and generate output to perform functions. The processes and logic flows can also be implemented by special purpose logic circuitry, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits). Processors suitable for executing computer programs include, by way of example, both general purpose and special purpose processors, as well as any one or more processors of any type of digital computer. Generally, a processor receives instructions and data from a read-only memory, a random access memory, or both. The basic elements of a computer are a processor for executing instructions, and one or more memory devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices, such as magnetic disks, magneto-optical disks, or optical disks, for storing data, or is operatively connected to receive data from or transmit data to them, or both. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks, whether internal or removable, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0085] To interact with a user, one or more aspects of the present disclosure can be implemented in a computer having a display device, such as a CRT (cathode ray tube), LCD (liquid crystal display), or touch screen, for displaying information to the user, and an optional keyboard and pointing device, such as a mouse or trackball, by which the user can provide input to the computer. Other types of devices can also be used to interact with the user. For example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user can be received in any form, such as acoustic input, speech input, or tactile input. Additionally, the computer can interact with the user by sending and receiving documents to a device used by the user, for example, by sending a web page to a web browser on the user's client device in response to a request received from the web browser.
[0086] Although several embodiments have been described, it will be understood that various modifications can be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments are within the scope of the following claims.
Claims
1. A speech enhancement model (200) as a multi-channel neural front-end speech enhancement model (200) for speech recognition, the speech enhancement model (200) comprising: An audio cleaner (300), comprising: receiving as input a multi-channel noisy input signal (202) and a multi-channel context noise signal (204); and the audio cleaner (300) configured to generate as an output a single-channel cleaned input signal (340); A stack of self-attention blocks (400) each having a multi-headed self-attention mechanism, the stack of self-attention blocks (400) comprising: As inputs, the first block (400) of the stack of self-attention blocks (400) receives a stack input (232) comprising a single-channel cleaned input signal (340) output from the audio cleaner (300) and a single-channel noisy input signal (206), while a stack of self-attention blocks (400) configured to generate an unmasked output (480) as an output from a final block (400) of the stack of self-attention blocks (400); and A masking layer (240), comprising: receiving as input the single channel noisy input signal (206) and the unmasked output (480) generated as output from the final block (400) of the stack of self-attention blocks (400); the masking layer (240) configured to generate, as output, enhanced input speech features (250) corresponding to the target utterance (12); Equipped with A speech enhancement model (200).
2. The stack of self-attention blocks (400) comprises a stack of conformer blocks (400). The speech enhancement model (200) of claim 1.
3. The stack of conformer blocks (400) comprises four of the conformer blocks (400). The speech enhancement model (200) of claim 2.
4. the speech enhancement model (200) is executed on data processing hardware (112) present on a user device (110); the user device (110) is configured to capture the target speech (12) and the multi-channel contextual noise signal (204) via an array of microphones (116) of the user device (110); A speech enhancement model (200) according to any one of claims 1 to 3.
5. the speech enhancement model (200) is agnostic with respect to the number of microphones (116) in the array of microphones (116); The speech enhancement model (200) of claim 4.
6. The audio cleaner (300) applying a finite impulse response (FIR) filter to all channels (206) of the multi-channel noisy input signal (202) except a first channel (206) of the multi-channel noisy input signal (202) to generate a sum output (312); subtracting the sum output (312) from the first channel (206) of the multi-channel noisy input signal (202); performing an adaptive noise cancellation algorithm to generate a single channel cleaned input signal (340) by A speech enhancement model (200) according to any one of claims 1 to 5.
7. a back-end speech system (180) configured to process the enhanced input speech features (250) corresponding to the target utterance (12); A speech enhancement model (200) according to any one of claims 1 to 6.
8. The back-end voice system (180) includes at least one of an automatic speech recognition (ASR) model (192), an audio calling application, or an audio-video calling application. The speech enhancement model (200) of claim 7.
9. The speech enhancement model (200) is jointly trained with an automatic speech recognition (ASR) model (192) as a back-end automatic speech recognition (ASR) model (192) by using a spectral loss and an automatic speech recognition (ASR) loss (560). A speech enhancement model (200) according to any one of claims 1 to 8.
10. The spectral loss is based on a distance between an estimated ratio mask and an ideal ratio mask in an L1 loss function and an L2 loss function; The ideal ratio mask is calculated using reverberant speech and reverberant noise. The speech enhancement model (200) of claim 9.
11. The Automatic Speech Recognition (ASR) Loss (560) is generating a predicted output (522) of the automatic speech recognition ASR encoder (540) of the automatic speech recognition ASR model (192) configured to receive as input enhanced speech features (250) predicted by the speech enhancement model (200) for a training utterance (532); using the automatic speech recognition ASR encoder (540) configured to receive as input the target speech features (536) of the training utterances (532), thereby generating a target output (524) of the automatic speech recognition ASR encoder (540) of the target speech features (536); and calculating the automatic speech recognition ASR loss (560) based on the predicted output (522) of the automatic speech recognition ASR encoder (540) of the enhanced speech features (250) and the target output (524) of the automatic speech recognition ASR encoder (540) of the target speech features (526); It is calculated by A speech enhancement model (200) according to claim 9 or 10.
12. A computer-implemented method (600) that, when executed on data processing hardware (112, 134), causes the data processing hardware (112, 134) to perform operations, the operations comprising: Receiving a multi-channel noisy input signal (202) and a multi-channel context noise signal (204); generating a single-channel cleaned input signal (340) by using a speech cleaner (300) of the speech enhancement model (200); generating an unmasked output (480) as an output from a stack of self-attention blocks (400) of the speech enhancement model (200) configured to receive a stack input (232) comprising a single-channel cleaned input signal (340) output from the speech cleaner (300) and a single-channel noisy input signal (206), each of the self-attention blocks (400) in the stack of self-attention blocks (400) comprising a multi-head self-attention mechanism; and generating enhanced input speech features (250) corresponding to a target utterance (12) by using a masking layer (240) of the speech enhancement model (200) configured to receive the single-channel noisy input signal (206) and the unmasked output (480) generated as an output from the stack of self-attention blocks (400); A computer-implemented method (600) comprising:
13. The stack of self-attention blocks (400) comprises a stack of conformer blocks (400).
13. The computer-implemented method (600) of claim 12.
14. The stack of conformer blocks (400) comprises four of the conformer blocks (400).
14. The computer-implemented method (600) of claim 13.
15. the audio cleaner (300), the stack of self-attention blocks (400), and the masking layer (240) are executed on the data processing hardware (112); The data processing hardware (112) resides in a user device (110); the user device (110) is configured to capture the target speech (12) and the multi-channel contextual noise signal (204) via an array of microphones (116) of the user device (110); A computer implemented method (600) according to any one of claims 12 to 14.
16. the speech enhancement model (200) is agnostic with respect to the number of microphones (116) in the array of microphones (116); 16. The computer-implemented method (600) of claim 15.
17. The operation further comprises using the audio cleaner (300): applying a finite impulse response (FIR) filter to all channels (206) of the multi-channel noisy input signal (202) except a first channel (206) of the multi-channel noisy input signal (202) to generate a sum output (312); and executing an adaptive noise cancellation algorithm to generate a single-channel cleaned input signal (340) by subtracting the sum output (312) from the first channel (206) of the multi-channel noisy input signal (202); Equipped with A computer implemented method (600) according to any one of claims 12 to 16.
18. a back-end speech system (180) configured to process the enhanced input speech features (250) corresponding to the target utterance (12); A computer implemented method (600) according to any one of claims 12 to 17.
19. The back-end voice system (180) includes at least one of an automatic speech recognition (ASR) model (192), an audio calling application, or an audio-video calling application.
20. The computer-implemented method (600) of claim 18.
20. The speech enhancement model (200) is jointly trained with an automatic speech recognition (ASR) model (192) as a back-end automatic speech recognition (ASR) model (192) by using a spectral loss and an automatic speech recognition (ASR) loss (560). A computer implemented method (600) according to any one of claims 12 to 19.
21. The spectral loss is based on a distance between an estimated ratio mask and an ideal ratio mask in an L1 loss function and an L2 loss function; The ideal ratio mask is calculated using reverberant speech and reverberant noise.
21. The computer-implemented method (600) of claim 20.
22. The Automatic Speech Recognition (ASR) Loss (560) is generating a predicted output (522) of the automatic speech recognition ASR encoder (540) of the automatic speech recognition ASR model (192) configured to receive as input enhanced speech features (250) predicted by the speech enhancement model (200) for a training utterance (532); using the automatic speech recognition ASR encoder (540) configured to receive as input the target speech features (536) of the training utterances (532), thereby generating a target output (524) of the automatic speech recognition ASR encoder (540) of the target speech features (536); and calculating the automatic speech recognition ASR loss (560) based on the predicted output (522) of the automatic speech recognition ASR encoder (540) of the enhanced speech features (250) and the target output (524) of the automatic speech recognition ASR encoder (540) of the target speech features (536); It is calculated by 22. A computer implemented method (600) according to claim 20 or 21.
Citation Information
Patent Citations
System and method for acoustic echo cancellation using deep multitask recurrent neural networks
US20200312346A1
Multistream acoustic models with dilations
US20210005182A1
Automated meeting minutes generator
US20210375289A1
Audio processing apparatus and method for denoising a multi-channel audio signal
WO2021013345A1