CN114365216A - 按讲话者进行语音识别的目标话音分离 - Google Patents
按讲话者进行语音识别的目标话音分离 Download PDFInfo
- Publication number
- CN114365216A CN114365216A CN201980097575.0A CN201980097575A CN114365216A CN 114365216 A CN114365216 A CN 114365216A CN 201980097575 A CN201980097575 A CN 201980097575A CN 114365216 A CN114365216 A CN 114365216A
- Authority
- CN
- China
- Prior art keywords
- audio data
- speaker
- frequency representation
- generate
- processing
- 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
- 238000000926 separation method Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000012549 training Methods 0.000 claims description 62
- 230000015654 memory Effects 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 10
- 230000001143 conditioned effect Effects 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000001629 suppression Effects 0.000 description 18
- 230000004044 response Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 230000026676 system process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 241000269400 Sirenidae Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- 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/0272—Voice signal separating
- G10L21/028—Voice signal separating using properties of sound source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/0272—Voice signal separating
-
- 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/0272—Voice signal separating
- G10L21/0308—Voice signal separating characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
- Telephonic Communication Services (AREA)
Abstract
处理音频数据的声学特征以生成所述声学特征的一个或多个修正版本,其中所述声学特征的每一个修正版本隔离单个相应的人类讲话者的一个或多个话语。各种实现方式通过使用自动语音识别系统的部分处理音频数据来生成声学特征。各种实现方式通过使用遮罩处理声学特征来生成修正声学特征,其中所述遮罩是使用经训练的话音滤波器模型来处理声学特征以及针对单个人类讲话者的讲话者嵌入而生成的。在经训练的话音滤波器模型上生成的输出使用自动语音识别系统来处理,以在不用重构音频数据的情况下生成单个人类讲话者的话语的预测文本表示。
Description
背景技术
自动助理(也称为“个人助理”、“移动助理”等)可以由用户经由诸如智能电话、平板计算机、可穿戴设备、汽车系统、独立个人助理设备等的各种客户端设备与之交互。自动助理从用户接收包括口语自然语言输入(即,话语)的输入并且可以通过执行动作、通过控制另一设备和/或提供响应内容(例如,可视和/或可听自然语言输出)来响应。经由客户端设备与之交互的自动助理可以经由客户端设备它本身和/或经由与客户端设备网络通信的一个或多个远程计算设备(例如,云中的计算设备)来实现。
自动助理可以将与用户的口语话语相对应的音频数据转换成对应的文本(或其它语义表示)。例如,可以基于经由包括自动助理的客户端设备的一个或多个麦克风对用户的口语话语的检测来生成音频数据。自动助理可以包括语音识别引擎,该语音识别引擎试图识别在音频数据中捕获的口语话语的各种特性,诸如由口语话语产生的声音(例如,音素)、发音声音的次序、语音的韵律、语调等。此外,语音识别引擎能够标识由此类特性表示的文本词或短语。自动助理然后可以在针对口语话语确定响应内容时进一步处理文本(例如,使用自然语言理解引擎和/或对话状态引擎)。语音识别引擎能够由客户端设备和/或由远离客户端设备但与之网络通信的一个或多个自动助理组件来实现。
发明内容
本文描述的技术涉及通过使用经训练的话音滤波器模型来生成预测遮罩从而将人类话音与音频信号的频率表示进行隔离,其中,使用自动语音识别(ASR)引擎来生成频率表示,并且其中用预测遮罩来处理频率表示能够隔离频率表示中的与人类话音相对应的部分。通过使用预测遮罩来处理频率表示从而生成的修正频率表示可以使用ASR引擎的附加部分来处理,以例如生成通过已隔离人类话音讲出的话语的文本表示(例如,文本、文本的符号表示等)。换句话说,可以在处理声学特征(例如,频率表示)并且生成修正声学特征(例如,修正频率表示)以供在自动语音识别中使用时使用话音滤波器模型,其中所述生成修正声学特征是在不用根据特征重构音频信号的情况下隔离与单个人类的话语相对应的声学特征的部分而实现的。
例如,假定有包括来自第一人类讲话者的第一话语、来自第二人类讲话者的第二话语和背景噪声的各种发生的音频数据序列。本文公开的实现方式可以利用使用ASR引擎生成的音频数据序列的频率表示来生成修正频率表示,该修正频率表示包括与来自第一人类讲话者的话语相对应的部分,而排除与第二话语和背景噪声相对应的部分,其中修正频率表示能够由ASR引擎进一步利用,而无需重构与修正频率表示相对应的附加音频信号。
话音滤波器模型能够用于除了处理音频数据的频率表示之外还处理与人类讲话者相对应的讲话者嵌入,以生成预测遮罩。例如,除了音频数据序列之外还能够处理与第一人类讲话者相对应的讲话者嵌入,以生成能够用于隔离第一人类讲话者的话语的预测遮罩。在许多实现方式中,可以在登记过程期间在处理音频数据序列之前生成讲话者嵌入(即,预先生成的讲话者嵌入)。在(例如,使用话音指纹和/或其它生物计量验证)验证第一人类讲话者之后,音频数据序列可以与预先生成的讲话者嵌入相关联。利用预先生成的讲话者嵌入能够实现对音频数据序列的实时自动语音识别。
在一些附加或替代实现方式中,在生成修正频率表示时利用的讲话者嵌入可以基于音频数据序列它本身的一个或多个实例。例如,可以利用话音活动检测器(VAD)来确定音频数据中的话音活动的第一实例,并且可以在为第一人类讲话者生成第一讲话者嵌入时利用第一实例的部分。例如,可以基于使用讲话者嵌入模型来处理话音活动的第一实例(可以将话音活动的第一实例假定为来自单个讲话者)的前X(例如,0.5、1.0、1.5、2.0)秒钟的特征从而生成第一讲话者嵌入。然后可以利用第一讲话者嵌入来生成如本文所描述的那样隔离第一讲话者的话语的第一修正频率表示。
可以利用ASR引擎的语音识别模型部分来处理诸如音频数据的频率表示的声学特征,以生成音频数据的预测文本表示。在许多实现方式中,可以使用诸如傅立叶变换(例如,快速傅立叶变换、离散傅立叶变换和/或附加傅立叶变换)的频率变换来处理音频数据,以生成音频数据的频率表示。在许多实现方式中,可以使用ASR模型来处理滤波器组表示(例如,在频率表示的每个频带中捕获的能量的量的滤波器组能量表示),以生成预测文本表示。在一些此类实现方式中,可以使用滤波器组变换来处理频率表示,以生成滤波器组表示。
可以在生成傅立叶变换频率表示的修正频率表示时利用本文公开的话音滤波器模型,其中可以使用滤波器组变换来处理修正傅立叶变换频率表示,以生成滤波器组表示,并且其中可以使用ASR模型来处理滤波器组表示,以生成预测文本表示。附加地或替换地,可以在生成滤波器组表示的修正频率表示时利用话音滤波器模型,其中使用滤波器组变换来处理音频数据的傅立叶变换表示以在使用话音滤波器模型来处理频率表示之前生成滤波器组频率表示,并且其中使用ASR模型来处理修正滤波器组频率表示,以生成预测文本表示。
现代ASR系统经常对背景噪声具有固有鲁棒性。因此,将话音滤波器模型与ASR系统集成可能引起通过话音滤波器模型的过度抑制。在一些此类实现方式中,可以使用不对称损失函数来训练话音滤波器模型,其中不对称损失函数用在训练对于抑制不足误差更容忍而对过度抑制误差较少容忍的话音滤波器模型中。附加地或替换地,可以在运行时利用自适应抑制强度来减少通过话音滤波器模型的过度抑制,其中自适应抑制强度可以基于音频数据中的附加噪声的量、类型等(例如,背景噪声的类型、附加讲话者的数目等)来动态地抑制多少频率表示被滤波。
因此,各种实现方式阐述了用于利用可以与ASR系统集成的经训练的话音滤波器模型在捕获的音频数据中隔离人类讲话者的话语的技术。在许多实现方式中,可以在处理所捕获的使用ASR系统生成的音频的声学特征(即,处理使用ASR系统生成的音频数据的频率表示)时使用话音滤波器模型。此外,可以使用ASR系统附加地处理声学特征的修正版本,以在无需重构音频信号的情况下生成话语的预测文本,其中所述声学特征的修正版本隔离了使用话音滤波器模型生成的人类讲话者的话语(即,使用话音滤波器模型生成的修正频率表示)。换句话说,可以使用ASR系统直接处理声学特征的修正版本,而无需首先将声学特征转换回为音频波形。此外,可以基于使用ASR系统生成的声学特征并且利用作为ASR系统的一部分集成的话音滤波器模型来生成声学特征的修正版本。处理ASR声学特征以生成修正声学特征能够使得ASR被更快地且更高效地执行,因为修正声学特征已经是能够由ASR系统直接利用来生成预测语音的格式。换句话说,修正声学特征不需要被转换回到时域表示并且然后被随后处理以将时域表示转换到ASR系统能够接受的格式。以这些和其它方式,话音滤波技术可以与设备上ASR系统集成以实现快速语音识别。
本文公开的一些实现方式利用一种或多种技术来减轻音频数据中对目标人类讲话者的抑制。减轻音频数据中对目标人类讲话者的抑制能够由处理音频数据以生成语音识别的ASR系统直接产生改进的语音识别性能。这可以是由于例如ASR系统基于非抑制的人类语音音频数据被训练并且在处理抑制的人类语音音频数据时具有高错误率而导致的。能够减轻抑制的此类技术可以包括如本文所描述的那样利用不对称损失训练函数、如本文所描述的那样在推理时利用自适应抑制强度和/或本文描述的其它技术。缺少这些技术的话,可能在使用经训练的话音滤波器模型来对音频数据进行滤波时抑制音频数据的与目标人类讲话者相对应的部分。再次,这种抑制可以在生成与目标人类讲话者相对应的文本时导致错误率增加。
在训练话音滤波器模型时利用不对称损失代替常规损失函数(例如,L2损失、均方误差损失、交叉熵损失等)能够产生对抑制不足误差给予更多容忍度而对过度抑制误差给予较少容忍度的经训练的模型。例如,被训练成针对背景噪声具有固有鲁棒性的ASR系统能够滤出音频数据序列中的背景噪声作为生成预测文本的一部分。将使用常规损失函数训练的话音滤波器模型集成到此ASR系统中可能导致对目标人类讲话者的过度抑制。然而,使用不对称损失函数训练的话音滤波器模型被训练成对这些过度抑制误差具有较少容忍度。以这些和其它方式,将使用不对称损失函数训练的话音滤波器模型集成到ASR系统中将导致生成文本的准确度增加。
附加地或替换地,在运行时利用的自适应抑制强度可以为过度抑制误差提供附加和/或替代补偿。例如,ASR系统可以使用ASR模型来处理经补偿的频率表示,以生成目标人类讲话者的预测文本,其中经补偿的频率表示包括抑制的动态权重。与集成在没有动态抑制强度的ASR系统中的话音滤波器模型相比,当动态抑制强度与话音滤波器模型一起集成在ASR系统中时,利用该动态抑制强度能够减小来自过度抑制的错误率。
此外,话音滤波器模型的参数能够被量化(例如,量化为8位整数),这在与利用尚未被量化的话音滤波器模型参数相比时可以减少当在客户端设备上利用话音滤波器模型时对计算资源(例如,存储器、电池电力、处理器周期等)的消耗。计算资源的这种减少能够帮助对音频数据进行实时和/或在设备上的ASR处理。例如,量化话音滤波器模型能够使得在具有受限处理器和/或存储器资源的移动电话或其它客户端设备上利用本文描述的话音滤波器技术。作为另一示例,量化话音滤波器模型能够使得在移动电话或其它客户端设备上利用本文描述的话音滤波器技术,即使此类设备的资源由于过热、低电池电量和/或其它条件而被压制时也是如此。
附加地或替换地,由于例如修正频率表示缺少背景噪声、其它用户的话语(例如,重叠话语)等,因此基于该修正频率表示使用ASR系统生成的预测文本表示可以改进相对于处理频率表示的话音至文本的准确度。经改进的文本准确度可以提高依靠所得的文本的一个或多个下游组件(例如,自然语言处理器、基于根据对文本的自然语言处理而确定的意图和参数来生成响应的模块等)的准确度。另外,例如,当与自动助理和/或其它交互式对话系统相结合地实现时,经改进的文本准确度能够减小交互式对话系统将口语话语不正确地转换成文本的机会,从而降低由对话系统对话语做出错误响应的可能性。这能够减少用户再次向交互式对话系统提供口语话语和/或其它澄清本应需要的对话轮次。
另外,一些实现方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中一个或多个处理器能够操作来执行存储在相关联的存储器中的指令,并且其中这些指令被配置成使本文描述的任何方法得到执行。一些实现方式还包括一个或多个非暂时性计算机可读存储介质,该一个或多个非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行本文描述的任何方法的计算机指令。
应该领会,前面的构思和本文更详细地描述的附加构思的所有组合都被设想为本文公开的主题的一部分。例如,本公开所附的要求保护的主题的所有组合都被设想为是本文公开的主题的一部分。
附图说明
图1图示可以在其中实现本文公开的各种实现方式的示例环境的框图。
图2图示根据本文公开的各种实现方式的训练话音滤波器模型的示例。
图3图示根据本文公开的各种实现方式的使用音频数据、讲话者嵌入和话音滤波器模型来生成音频数据的修正频率表示的示例。
图4是图示根据本文公开的各种实现方式生成用于训练话音滤波器模型的训练实例的示例过程的流程图。
图5图示使用地面实况音频数据和附加音频数据来生成混合音频数据以用于在训练实例用途中使用从而来训练图4的话音滤波器模型的示例。
图6是图示根据本文公开的各种实现方式的训练话音滤波器模型的示例过程的流程图。
图7是图示根据本文公开的各种实现方式的使用音频数据、讲话者嵌入和话音滤波器模型来生成音频数据的修正频率表示的示例过程的流程图。
图8图示能够根据本文公开的各种实现方式生成的与频率表示相对应的音频数据和与频率表示的修正版本相对应的音频数据的示例。
图9图示可以在其中实现本文公开的实现方式的另一示例环境的框图。
图10图示计算设备的示例架构。
具体实施方式
本文公开的技术包括训练并利用话音滤波器模型(即可以在客户端设备上运行以仅保存来自目标用户的语音信号的单通道源分离模型)作为流式语音识别系统的一部分。递送这样的模型呈现许多挑战:它应该在输入信号由重叠语音构成时改进性能,而在所有其它声学条件下绝不得损害语音识别性能。附加地或替换地,话音滤波器模型应该是微小的、快速的,并且以流式方式执行推理,以便对CPU、存储器、电池和时延具有最小影响。在许多实现方式中,训练和/或使用话音滤波器模型包括使用不对称损失、采用自适应运行时抑制强度和/或量化模型。
将以讲话者为条件的语音分离模型集成到生产环境尤其是设备上自动语音识别(ASR)系统呈现许多挑战。在质量方面,模型不仅应该在存在多个话音时改进ASR性能,而且还应该对其它场景下的识别性能无害,例如当语音仅来自目标讲话者时,或者当在背景中存在诸如音乐的非语音噪声时。对于流式系统,为了具有最小时延,不应在模型中使用双向递归层或时间卷积层。对于设备上系统,模型必须是微小且快速的以在CPU和存储器方面添加最小预算。
可以在实现这些目标时使用根据许多实现方式的话音滤波器模型。在一些实现方式中,话音滤波器模型可以作为逐帧前端信号处理器操作以增强由语音识别器消耗的特征,而不用根据特征重构音频信号。在训练期间,可以利用不对称损失函数来惩罚可能使模型在更多声学环境下变得无害的过度抑制。在运行时,可以利用自适应抑制强度来动态地适应不同的噪声条件。在许多实现方式中,可以将话音滤波器模型参数量化为8位整数以加快推理。
在各种实现方式中,利用话音滤波器模型的焦点可以是改进ASR性能。不是经由逆频率变换从音频数据的频率表示重构任何音频波形,而是话音滤波可以作为直接将声学特征视为输入并且输出增强声学特征的逐帧前端信号处理器操作。这里声学特征与由ASR模型消耗的特征确切相同,使得话音滤波甚至没有它自己的频率变换算子。由于ASR模型可以将堆叠对数梅尔滤波器组能量视为输入,所以话音滤波器模型具有两个集成选项:(1)将FFT幅度视为输入,并且输出增强FFT幅度,这些增强FFT幅度将用于计算滤波器组能量;(2)将滤波器组能量视为输入,并且输出增强滤波器组能量。
作为说明性示例,FFT幅度被用作话音滤波器系统的声学特征。首先,噪声音频和干净音频两者的FFT幅度在被馈送到神经网络或者用于计算损失函数之前能够用y=x0.3幂律进行压缩。幂律压缩的目的是为了平衡和/或部分地平衡较安静声音相对于响亮声音的重要性。
其次,在将d-向量(在本文中也称为讲话者嵌入)和经幂律压缩的FFT幅度两者馈送到神经网络中之前,使用在训练数据的小子集上计算的均值和标准偏差来全局地归一化所述d-向量和经幂律压缩的FFT幅度。当量化神经网络参数时,将网络输入的全局归一化作为单独操作执行将会大大地减小量化误差。
话音滤波器模型的神经网络拓扑是为最小时延而设计的:(1)卷积层可以是1D而不是2D,意味着卷积核仅用于频率维度;(2)LSTM层可以是单向的并且能够取流式输入。在实践中,由于仅频率1D-CNN不如2D-CNN强大,所以话音滤波器模型的许多实现方式移除这些CNN层,而纯粹由LSTM层构成。
在许多实现方式中,可以假定d-向量在运行时可用。在启用讲话者验证或话音滤波之前,通常提示用户遵循登记过程。在此登记过程期间,d-向量被从目标用户的录音中计算,并且存储在设备上。登记通常是一次性经历。
在训练时间,可以通过以某个概率将来自一个或若干干扰音频的波形添加到干净音频的波形来生成噪声音频。例如,干扰音频可以是来自其它讲话者的语音,或来自环境录音的非语音噪声。
现代ASR模型通常用密集扩增数据训练,诸如用不同类型的背景噪声并在不同的混响条件下训练。此类ASR模型已经固有地对噪声具有一定鲁棒性。当向现有ASR系统添加话音滤波组件时,应该保证性能在所有噪声条件下不降级。在一些实例中,当启用话音滤波器模型并且例如存在非语音噪声时,ASR性能可能降级。降级的词错误率(WER)的大多数部分来自假删除,这指示通过话音滤波器模型的显著过度抑制。
为了克服过度抑制问题,可以利用名为不对称损失的基于频谱图遮罩的语音分离/增强用的新损失函数。令Scln(t,f)和Senh(t,f)分别表示干净和增强时频FFT幅度。压缩幂为0.3的常规L2损失被定义为:
在许多实现方式中,期望对抑制不足误差更容忍,而对过度抑制误差较少容忍。因此,可以定义不对称惩罚函数gasym,其中具有对于对抑制不足误差更容忍而对过度抑制误差较少容忍的系统的惩罚因子α>1:
那么可以将不对称L2损失函数定义为:
如之前提到的,现代ASR模型通常已经对非语音噪声鲁棒。具有执行特征遮罩的附加步骤的话音滤波器模型可能损害ASR性能。
减轻性能降级的一个方式是在推理时间对过度抑制进行附加补偿。令Sin和Senh分别表示输入和增强FFT幅度,最终经补偿的输出将是:
这里w是抑制权重,p是压缩幂。当w=0时,完全禁用话音滤波;而当w=1时,没有补偿。
在实践中,当话音滤波器模型改进ASR时应该使用较大的w,而当它损害ASR时应该使用较小的w。对于多说话人语音,FFT幅度通常具有比带有非语音噪声的语音更好的可分离能带。被定义为大于平均值的值的百分比的高于平均比率(AAR)是反映此性质的很好统计。在许多实现方式中,非语音噪声下的话音往往具有比语音噪声下的语音更大的AAR。因此,可以将在时间t的自适应权重定义为
原始TensorFlow图可以将话音滤波器网络参数存储在32位浮点值中,并且可能未针对设备上推理进行很好的优化。在许多实现方式中,可以将话音滤波器模型序列化为FlatBuffer TensorFlow Lite格式。附加地或替换地,可以将网络参数量化为8位整数。这可以降低存储器成本,和/或利用优化硬件指令进行整数算术。
最初转向图1,图示了可以在其中执行各种实现方式的示例环境。图1包括客户端计算设备102。在许多实现方式中,客户端设备102可以执行自动助理(未描绘)的实例。
客户端计算设备102可以是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统和车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能器具和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。
图1所图示的示例环境包括话音滤波器引擎104、遮罩引擎106、幂压缩引擎108、归一化引擎110、自动语音识别(ASR)引擎114、讲话者嵌入引擎116、话音滤波器模型112和/或附加引擎和/或附加模型(未描绘)。话音滤波器引擎104、遮罩引擎106、幂压缩引擎108、归一化引擎110、ASR引擎114和讲话者嵌入引擎116是本文描述的技术可以在其中接口的示例组件。由图1的一个或多个引擎104、106、108、110、114和116执行的操作可以跨多个计算引擎分布。在一些实现方式中,可以将引擎104、106、108、110、114和116的一个或多个方面组合成单个系统和/或可以在客户端设备102上实现更多方面。例如,在那些实现方式中的一些中,话音滤波器引擎104的各方面可以与讲话者嵌入引擎116的各方面组合。根据许多实现方式的引擎可以各自被实现在例如通过通信网络来通信的一个或多个计算设备中。通信网络可以包括诸如因特网的广域网和诸如Wi-Fi LAN、网状网络等的一个或多个局域网(“LAN”)和/或一个或多个总线子系统。通信网络可以可选地利用一种或多种标准通信技术、协议和/或进程间通信技术。
可以训练话音滤波器模型112来处理音频信号的频率表示以及与人类讲话者相对应的讲话者嵌入从而生成预测遮罩,其中可以用预测遮罩来处理频率表示,以生成隔离人类讲话者的话语的修正频率表示。在各种实现方式中,可以如本文根据图2和/或图6所描述的那样训练话音滤波器模型112。在多种实现方式中,ASR引擎114可以处理捕获的音频以确定音频数据的频率表示。在许多实现方式中,可以使用客户端设备102的一个或多个麦克风(未描绘)实时地捕获音频数据。例如,ASR引擎114可以生成音频数据的FFT频率表示、音频数据的滤波器组表示和/或音频数据的附加频率表示。
在一些实现方式中,可以使用幂压缩引擎108和/或归一化引擎110附加地处理使用ASR引擎114生成的频率表示。例如,可以利用幂压缩引擎108来使用幂压缩过程处理频率表示以在音频数据中平衡(或部分地平衡)较安静声音相对于响亮声音的重要性。附加地或替换地,可以利用归一化引擎110来归一化频率表示。
讲话者嵌入引擎116可以确定与人类讲话者相对应的讲话者嵌入。在一些实现方式中,讲话者嵌入引擎116可以使用讲话者嵌入模型(未描绘)来处理所捕获的音频数据的部分,以生成讲话者嵌入。附加地或替换地,讲话者嵌入引擎116可以使用话音指纹、图像识别、密码和/或其它验证技术来选择预先生成的讲话者嵌入(例如,先前使用登记过程生成的讲话者嵌入)以确定人类讲话者当前活动,并且结果,确定针对当前活动的人类讲话者的讲话者嵌入。在许多实现方式中,归一化引擎110可以归一化所选择的讲话者嵌入。
话音滤波器引擎104可以生成修正频率表示,该修正频率表示隔离与使用讲话者嵌入引擎116所选择的讲话者嵌入相对应的人类讲话者的话语。在许多实现方式中,遮罩引擎106可以使用话音滤波器模型112来处理使用讲话者嵌入引擎116所选择的讲话者嵌入和使用ASR引擎114生成的频率表示,以生成预测遮罩。话音滤波器引擎104可以使用预测遮罩来处理频率表示,以生成修正频率表示。例如,话音滤波器引擎104可以将频率表示与预测遮罩卷积,以生成修正频率表示。附加地或替换地,ASR引擎114能够处理使用话音滤波器引擎104生成的修正频率表示,以生成人类讲话者的已隔离话语的预测文本表示。
转向图2,图示了训练话音滤波器模型112的示例。话音滤波器模型112可以是神经网络模型并且可以包括卷积神经网络部分、递归神经网络部分、全连接前馈神经网络部分和/或附加神经网络层。话音滤波器模型112被训练成用于基于处理音频数据的频域表示和目标人类讲话者的讲话者嵌入来生成音频数据的隔离目标讲话者的话语(若有的话)的修正频率表示。如本文描述的,话音滤波器模型112可以被训练成接受音频数据的频率表示(即,通过用ASR引擎的频率变换部分处理音频数据所生成的频率表示)作为输入。如本文进一步描述的,还使用目标讲话者的讲话者嵌入来生成输出。例如,目标讲话者的讲话者嵌入可以作为输入被应用于话音滤波器模型的一个或多个部分。因此,话音滤波器模型112一旦被训练,就能够用于生成作为话音滤波器模型122的输出的预测遮罩,该预测遮罩可以与频率表示卷积,以生成修正频率表示。可以使用ASR引擎的附加和/或替代部分来处理修正频率表示以例如生成音频数据的预测文本表示。
还图示了生成多个训练实例206A-N的训练实例引擎202,所述多个训练实例被存储在训练实例数据库208中以用于在训练话音滤波器模型112时使用。在图2中详细地图示了训练实例206A。训练实例206A包括音频数据的混合实例210A、给定讲话者的嵌入212A以及仅包括来自与嵌入212A相对应的给定讲话者的话语的音频数据的地面实况实例214A。在许多实现方式中,话音滤波器引擎104可以利用ASR引擎的频率变换部分来基于音频数据的混合实例210A生成混合频率表示。类似地,可以利用话音滤波器引擎104来使用ASR引擎的频率变换部分来生成地面实况音频214A的地面实况频率表示。附加地或替换地,训练实例206A可以包括作为音频数据的混合实例210A的补充或替代的混合频率表示和/或作为地面实况音频数据214A的补充或替代的地面实况频率表示。
训练实例引擎202可以基于来自音频数据数据库的实例204的音频数据的实例并且通过与讲话者嵌入引擎116的交互来生成训练实例206A-N。例如,训练实例引擎202可以从音频数据数据库的实例204中检索地面实况音频数据214A,并且将其用作训练实例206A的地面实况音频数据。
此外,训练实例引擎202可以将来自目标讲话者的音频数据的实例提供给讲话者嵌入引擎114以从讲话者嵌入引擎116接收给定讲话者的嵌入212A。在许多实现方式中,讲话者嵌入引擎114可以使用讲话者嵌入模型224来处理地面实况音频数据214A的一个或多个分段,以生成给定讲话者的嵌入212A。例如,讲话者嵌入引擎112可以利用话音活动检测器(VAD)来确定包括话音活动的地面实况音频数据214A的一个或多个分段,并且基于使用讲话者嵌入模型224来处理那些分段中的一个或多个确定给定讲话者的嵌入212A。例如,可以使用讲话者嵌入模型224来处理所有分段,并且可以将基于处理而生成的所得的最终输出用作给定讲话者的嵌入212A。另外,例如,可以使用讲话者嵌入模型224来处理第一分段以生成第一输出,可以使用讲话者嵌入模型224来处理第二分段以生成第二输出等,并且将输出的质心用作给定讲话者的嵌入212A。附加地或替换地,讲话者嵌入引擎116可以确定通过登记过程生成的讲话者嵌入,该登记过程对应于与客户端设备相关联的用户简档。
训练实例引擎202通过将地面实况音频数据214A与来自音频数据数据库的实例204的音频数据的附加实例组合来生成音频数据的混合实例210A。例如,音频数据的附加实例可以是包括一个或多个其它人类讲话者和/或背景噪声的实例。
在基于训练实例206A训练话音滤波器模型112时,话音滤波器引擎104将音频数据的混合实例210A的频率表示作为输入应用于话音滤波器模型的CNN部分,以生成CNN输出。附加地或替换地,话音滤波器引擎104将给定讲话者的嵌入212A以及CNN输出作为输入应用于话音滤波器模型112的RNN部分,以生成RNN输出。此外,话音滤波器引擎104将RNN输出作为输入应用于话音滤波器模型112的全连接前馈部分,以生成预测遮罩,话音滤波器引擎104可以在处理混合频率表示(即,音频数据的混合实例210A的频率表示)时利用该预测遮罩,以生成隔离人类讲话者的话语的预测细化频率表示218A。
损失模块222根据以下各项生成损失220A:预测频率表示218A(即,隔离人类讲话者的话语的音频数据的频率表示)和地面实况音频数据214A的频率表示。损失220A被提供给更新模块216,该更新模块216基于损失更新话音滤波器模型112。例如,更新模块216可以使用反向传播(例如,梯度下降)来更新话音滤波器模型的一个或多个权重。在许多实现方式中,当存在非语音噪声时,损失模块222可以生成不对称损失220A以减轻通过话音滤波器模型112的过度抑制。
虽然图2仅详细地图示了单个训练实例206A,但是应理解,训练实例数据库208可以包括大量附加训练实例。附加训练实例可以包括各种长度(例如,基于音频数据的各种持续时间)的训练实例、具有各种地面实况音频数据和讲话者嵌入的训练实例、以及在音频数据的相应混合实例中具有各种附加声音的训练实例。此外,应理解,将会利用大量附加训练实例来训练话音滤波器模型112。
图3图示使用音频数据、讲话者嵌入和话音滤波器模型来生成音频数据的修正频率表示的示例。话音滤波器模型112可以与图1的话音滤波器模型112相同,但是已被训练过(例如,利用本文所描述的图6的过程600)。
在图3中,话音滤波器引擎(例如,如图1和/或图2所图示的话音滤波器引擎104)可以接收使用ASR引擎的频率变换部分生成的频率表示302。频率表示302可以是例如以在线方式(例如,实时地或几乎实时地)处理的流式音频数据或先前已被记录并提供给话音滤波器引擎的非流式音频数据。话音滤波器引擎还接收来自讲话者嵌入引擎(例如,如图1和/或图2所图示的讲话者嵌入引擎116)的讲话者嵌入318。讲话者嵌入318是针对给定人类讲话者的嵌入,并且可以基于使用讲话者嵌入模型来处理来自给定讲话者的音频数据的一个或多个实例而被生成。如本文描述的,在一些实现方式中,讲话者嵌入318是由讲话者嵌入引擎基于来自给定讲话者的音频数据的先前实例预先生成的。在那些实现方式中的一些中,讲话者嵌入318与给定讲话者的账户和/或给定讲话者的客户端设备相关联,并且讲话者嵌入318能够被提供用于基于来自账户已被授权的客户端设备和/或数字系统的频率表示302与频率表示302一起利用。
在许多实现方式中,话音滤波器引擎可以可选地使用幂压缩过程来处理频率表示302,以生成幂压缩304。在许多实现方式中,幂压缩过程可以在音频数据中平衡(或部分地平衡)较安静声音相对于响亮声音的重要性。附加地或替换地,话音滤波器引擎可以可选地使用归一化过程来处理频率表示302,以生成归一化306,并且可以可选地使用归一化过程来处理讲话者嵌入318,以生成归一化312。
可以将频率表示302作为输入应用于话音滤波器模型112的卷积神经网络(CNN)部分314。在许多实现方式中,CNN部分314是一维卷积神经网络。在许多实现方式中,可以将由CNN部分314生成的卷积输出以及讲话者嵌入318作为输入应用于话音滤波器模型112的递归神经网络(RNN)部分316。在许多实现方式中,RNN部分316可以包括单向记忆单元(例如,长短期记忆单元(LSTM)、门控递归单元(GRU)和/或附加记忆单元)。附加地或替换地,可以将由RNN部分316生成的RNN输出作为输入应用于话音滤波器模型112的全连接前馈神经网络部分320,以生成预测遮罩322。在许多实现方式中,可以省略CNN部分314并且可以将频率表示302和讲话者嵌入318两者作为输入应用于RNN 316。
频率表示302可以用预测遮罩322来处理,以生成修正频率表示310。例如,频率表示302可以与预测遮罩322卷积308,以生成修正频率表示310。在许多实现方式中,可以通过使用语音识别过程324来处理修正频率表示310,例如使用ASR引擎(未描绘)的ASR模型来处理修正频率表示310从而生成文本表示326。
在许多实现方式中,修正频率表示310可以:在频率表示302仅包括来自与讲话者嵌入318相对应的讲话者的话语时与频率表示302相同;在频率表示302缺少来自与讲话者嵌入318相对应的讲话者的任何话语时为空/零;或者在频率表示302包括来自与讲话者嵌入318相对应的讲话者的话语和附加声音(例如,其它人类讲话者的重叠话语和/或附加背景噪声)时,排除附加声音同时隔离来自该讲话者的话语。
在许多实现方式中,文本表示326可以由话音滤波器引擎、由ASR引擎和/或由附加引擎提供给一个或多个附加组件。尽管图3图示基于单个讲话者嵌入318生成文本表示的单个实例326,但是应理解,在各种实现方式中,可以生成文本表示的多个实例,其中每个实例基于频率表示302和针对唯一人类讲话者的唯一讲话者嵌入。
现在转向图4,图示了根据本文公开的实现方式生成用于训练话音滤波器模型的训练实例的示例过程400。为了方便,参考在图5中示意性地表示的地面实况音频数据502、附加音频数据504和混合音频数据506来描述图4的流程图的某些方面的操作。另外,为了方便,参考执行操作的系统来描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如训练实例引擎202和/或GPU、CPU和/或TPU中的一个或多个。此外,虽然以特定次序示出过程400的操作,但是这不意在为限制性的。可以对一个或多个操作进行重新排序、省略和/或添加。
在框402,系统选择包括来自单个人类讲话者的口语输入的音频数据的地面实况实例。例如,系统可以选择图5的地面实况音频数据502。在图5中,箭头图示时间并且地面实况音频数据502中的三个对角线阴影区域表示音频数据的分段,在这些分段中“讲话者A”正在提供相应话语。值得注意的是,地面实况音频数据502不包括(或包括微不足道的)附加声音。
在框404,系统确定针对单个人类讲话者的讲话者嵌入。例如,可以通过使用讲话者嵌入模型来处理图5的音频数据502的地面实况实例的一个或多个分段从而生成讲话者嵌入。附加地或替换地,系统可以确定与音频数据的地面实况实例的单个人类讲话者相关联的讲话者嵌入。
在框406,系统选择缺少来自单个人类讲话者的口语输入的音频数据的附加实例。音频数据的附加实例可以包括来自其它讲话者的口语输入和/或背景噪声(例如,音乐、汽笛、空调噪声等)。例如,系统可以选择图5中示意性地图示的音频数据504的附加实例,该附加实例包括来自“讲话者B”的话语(交叉阴影)和“背景噪声”(点状阴影)。值得注意的是,“讲话者B”与“讲话者A”不同。
在框408,系统生成音频数据的混合实例,该混合实例将音频数据的地面实况实例和音频数据的附加实例组合。例如,图5的混合音频数据506是通过组合地面实况音频数据502和附加音频数据504而生成的。因此,混合音频数据506包括来自地面实况音频数据502的阴影区域(对角线阴影)和来自附加音频数据504的阴影区域(交叉阴影和点状阴影)。因此,在混合音频数据506中,包括“讲话者A”和“讲话者B”话语两者以及“背景噪声”。此外,“讲话者A”话语的部分与“背景噪声”的部分重叠并且与“讲话者B”话语的部分重叠。
在框410,系统生成并存储包括以下各项的训练实例:音频数据的混合实例、讲话者嵌入和音频数据的地面实况实例。例如,系统可以生成并存储包括以下各项的训练实例:音频数据的混合实例506、音频数据的地面实况实例502以及使用音频数据的地面实况实例502生成的讲话者嵌入。
在框412,系统确定是使用音频数据的相同地面实况实例和相同讲话者嵌入还是使用基于另一附加实例的音频数据的不同混合实例来生成附加训练实例。如果是这样的话,则系统往回进行到框406并且选择不同的附加实例,进行到框408并且生成将音频数据的相同地面实况实例和不同附加实例组合的音频数据的另一混合实例,然后进行到框410并且生成并存储对应的训练实例。
如果在框412的迭代时,系统确定不使用音频数据的相同地面实况实例和相同讲话者嵌入来生成附加训练实例,则系统进行到框414并且确定是否使用训练数据的另一地面实况实例来生成附加训练实例。如果是这样的话,则系统利用具有不同人类讲话者的音频数据的不同地面实况实例、利用不同讲话者嵌入并且可选地利用音频数据的不同附加实例来执行框402、404、406、408、410和412的另一次迭代。
如果在框414的迭代时,系统确定不使用音频数据的另一地面实况实例来生成附加训练实例,则系统进行到框416并且训练实例的生成结束。
现在转向图6,图示了根据本文公开的各种实现方式训练话音滤波器模型的示例过程600。为了方便,参考执行操作的系统来描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如话音滤波器引擎104和/或一个或多个GPU、CPU和/或TPU。此外,虽然以特定次序示出过程600的操作,但是这不意在为限制性的。可以对一个或多个操作进行重新排序、省略和/或添加。
在框602,系统选择包括音频数据的混合实例、讲话者嵌入和地面实况音频数据的训练实例。例如,系统可以选择根据图4的过程400生成的训练实例。
在框604,系统使用ASR引擎的频率变换部分来处理音频数据的混合实例,以生成混合频率表示。在各种实现方式中,ASR引擎的频率变换部分包括傅里叶变换,诸如快速傅里叶变换。附加地或替换地,该频率变换可以包括滤波器组过程,其可以将音频数据的频率表示转换成滤波器组能量。
在框606,系统使用话音滤波器模型(例如,话音滤波器模型112)来处理混合频率表示和讲话者嵌入,以生成预测遮罩。
在框608,系统使用预测遮罩来处理混合频率表示,以生成修正频率表示。在许多实现方式中,预测遮罩与混合频率表示卷积,以生成修正频率表示。在各种实现方式中,预测遮罩在混合音频数据的频率表示中隔离人类讲话者的话语的频率表示。
在框610,系统使用ASR引擎的频率变换部分来处理音频数据的地面实况实例,以生成地面实况频率表示610。
在框612,系统基于将修正频率表示与地面实况频率表示进行比较来生成不对称损失。在许多实现方式中,现有ASR系统固有地对背景噪声具有一定鲁棒性,这可能导致在音频数据中捕获的话语的过度抑制。不对称损失可以对抑制不足误差更容忍,并且能够附加地和/或替换地用于通过在语音与附加噪声重叠时改进语音识别来惩罚过度抑制。在许多实现方式中,系统生成不对称的附加和/或替代损失。
在框614,系统基于所生成的损失(即,反向传播)更新话音滤波器模型的一个或多个权重。
在框616处,系统确定是否对话音滤波器模型执行更多训练。如果是这样的话,则系统往回进行到框602,选择附加训练实例,然后基于附加训练实例执行框604、606、608、610、612和614的迭代,然后执行框616的附加迭代。在一些实现方式中,如果存在一个或多个附加未处理的训练实例和/或如果其它准则/判据还未得到满足,则系统可以确定要执行更多训练。其它准则/判据可以包括例如是否已发生了阈值数目的时期(epochs)和/或是否已发生了阈值持续时间的训练。尽管相对于非批量学习技术描述了过程600,但是可以附加地和/或替换地利用批量学习。
如果在框616的迭代时,系统确定不执行更多训练,则系统可以进行到框618,其中系统考虑经训练的话音滤波器模型,并且提供话音滤波器模型以供使用。例如,系统能够提供经训练的话音滤波器模型以供在如本文所描述的过程700(图7)中使用。
现在转向图7,根据本文公开的各种实现方式的使用音频数据、讲话者嵌入和话音滤波器模型来生成细化音频数据的过程700。为了方便起见,参考在图8中示意性地表示的与混合频率表示相对应的音频数据802和与修正频率表示相对应的音频数据804来描述图7的流程图的某些方面的操作。另外,为了方便起见,参考执行操作的系统来描述图7的流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如话音滤波器引擎104和/或一个或多个GPU、CPU和/或TPU。在各种实现方式中,图7的一个或多个框可以由客户端设备使用在本地存储在客户端设备处的讲话者嵌入模型和机器学习模型来执行。此外,虽然以特定次序示出过程700的操作,但是这不意在为限制性的。可以对一个或多个操作进行重新排序、省略和/或添加。
在框702,系统接收捕获人类讲话者的话语和不来自人类讲话者的附加声音的音频数据的混合实例。在一些实现方式中,音频数据是流式音频数据。作为一个示例,在框702,系统可以接收与图8的混合频率表示802相对应的音频数据,该音频数据包括来自“讲话者A”的话语(对角线阴影)以及来自“讲话者B”的话语(点状阴影)和“背景噪声”(交叉阴影)。
在框704,系统标识针对人类讲话者的先前生成的讲话者嵌入。例如,系统可以为“讲话者A”选择先前生成的讲话者嵌入。例如,讲话者嵌入可能已经在先前基于在生成了音频数据的客户端设备处接收到的来自“讲话者A”的紧接前面的话语而被生成—并且可以基于“讲话者A”是紧接前面的话语的讲话者而被选择。另外,例如,讲话者嵌入可能已经在先前在由“讲话者A”针对自动助理、客户端设备和/或其它数字系统执行的登记过程期间生成。在这样的实例中,可以基于由客户端设备生成的音频数据和/或经由数字系统的“讲话者A”的账户来选择讲话者嵌入。作为一个特定实例,可以基于“讲话者A”最近被验证为数字系统的活动用户而将在框702接收到的音频数据确定为来自“讲话者A”。例如,可能已经利用话音指纹、图像识别、密码和/或其它验证来确定“讲话者A”当前活动,并且结果,可以选择针对“讲话者A”的讲话者嵌入。
在框706,系统通过用ASR引擎的频率变换部分来处理音频数据从而生成混合频率表示。例如,ASR引擎的频率变换部分可以包括快速傅立叶变换(FFT),其中音频数据使用FFT来变换,以生成音频数据的FFT表示,并且其中音频数据的FFT表示被系统用作混合频率表示。在许多实现方式中,ASR引擎的频率变换部分可以包括FFT以及滤波器组变换,其中音频数据使用FFT来变换,以生成音频数据的FFT表示,该FFT表示使用滤波器组变换来变换,以生成滤波器组表示,并且其中音频数据的滤波器组表示被系统用作混合频率表示。
在框708,系统通过使用话音滤波器模型来处理混合频率表示和讲话者嵌入从而生成预测遮罩。在许多实现方式中,可以根据如本文所描述的图6的过程600来训练话音滤波器模型。
在框710,系统通过用预测遮罩来处理混合频率表示从而生成修正频率表示。例如,混合频率表示可以与预测遮罩卷积,以生成修正频率表示。例如,系统可以生成与图8中示意性地图示的音频数据804相对应的修正频率表示,其中仅保留“讲话者A”的话语。
在框712,系统通过使用ASR引擎来处理修正频率表示从而生成人类讲话者的话语的文本表示。在许多实现方式中,文本表示可以是文本、文本的符号表示和/或文本的附加表示。例如,系统可以通过使用ASR引擎来处理修正频率表示804从而生成“讲话者A”的话语的文本表示。
在许多实现方式中,当混合频率表示是FFT表示时(如本文关于框706所描述的那样),系统可以使用滤波器组变换来处理修正频率表示(即,音频数据的修正FFT表示),以生成滤波器组表示。可以使用ASR引擎的ASR模型部分来处理滤波器组表示,以生成人类讲话者的话语的文本表示。在附加和/或替代实现方式中,当混合频率表示是滤波器组表示时(如本文关于框706所描述的那样),系统可以使用ASR引擎的ASR模型部分来处理修正频率表示(即,音频数据的修正滤波器组表示),以生成人类讲话者的话语的文本表示。
现在转向图9,图示了可以在其中执行各种实现方式的示例环境。图9最初被描述,并且包括客户端计算设备902,其执行自动助理客户端904的实例。一个或多个基于云的自动助理组件910可以在一个或多个计算系统(统称为“云”计算系统)上实现,该一个或多个计算系统经由通常在908指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备902。
自动助理客户端904的实例通过其与一个或多个基于云的自动助理组件910的交互,可以形成从用户的角度看起来像是自动助理900的逻辑实例的东西,用户可以在人机对话中与之接洽。在图9中描绘了这样的自动助理900的实例。因此应该理解,在一些实现方式中,与在客户端设备902上执行的自动助理客户端904接洽的用户实际上可以与他或她自己的自动助理900的逻辑实例接洽。为了简洁和简单起见,如本文用作为特定用户“服务”的术语“自动助理”将会常常是指在由用户操作的客户端设备902上执行的自动助理客户端904和一个或多个基于云的自动助理组件910(其可以在多个客户端计算设备的多个自动助理客户端之间共享)的组合。还应该理解,在一些实现方式中,自动助理900可以对来自任何用户的请求做出响应,而不管该用户是否实际上由自动助理900的那个特定实例“服务”。
客户端计算设备902可以是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能器具和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。在各种实现方式中,客户端计算设备902可以可选地操作除了自动助理客户端904之外的一个或多个其它应用,诸如消息交换客户端(例如,SMS、MMS、在线聊天)、浏览器等。在那些各种实现方式中的一些中,一个或多个其它应用可以可选地(例如,经由应用编程接口)与自动助理900接口,或者包括它们自己的自动助理应用的实例(其也可以与基于云的自动助理组件910接口)。
自动助理900经由客户端设备902的用户接口输入和输出设备参与与用户的人机对话会话。为了保存用户隐私和/或为了节约资源,在许多情形下用户必须常常在自动助理将会完全处理口语话语之前显式地调用自动助理900。对自动助理900的显式调用可以响应于在客户端设备902处接收到的某些用户接口输入而发生。例如,能够经由客户端设备902调用自动助理900的用户接口输入可以可选地包括对客户端设备902的硬件和/或虚拟按钮的致动。此外,自动助理客户端可以包括一个或多个本地引擎906,诸如能够操作以检测一个或多个口语调用短语的存在的调用引擎。调用引擎可以响应于检测到口语调用短语之一而调用自动助理900。例如,调用引擎可以响应于检测到诸如“Hey Assistant(嘿助理)”、“OK Assistant(好的助理)”和/或“Assistant(助理)”的口语调用短语而调用自动助理900。调用引擎可以连续地处理(例如,如果不处于“不活动”模式)基于来自客户端设备106的一个或多个麦克风的输出的音频数据帧的流,以监测口语调用短语的发生。在监测到口语调用短语的发生时,调用引擎丢弃(例如,在暂时存储在缓冲器中之后)不包括口语调用短语的任何音频数据帧。然而,当调用引擎在处理的音频数据帧中检测到口语调用短语的发生时,调用引擎能够调用自动助理900。如本文所使用的,“调用”自动助理900可以包括使自动助理900的一个或多个先前不活动的功能被激活。例如,调用自动助理900可以包括使一个或多个本地引擎906和/或基于云的自动助理组件910进一步处理在上面检测到调用短语的音频数据帧,和/或一个或多个后面的音频数据帧(然而在调用之前没有发生对音频数据帧的进一步处理)。例如,本地和/或基于云的组件可以响应于对自动助理900的调用而生成音频数据的细化版本和/或执行其它处理。在一些实现方式中,可以处理口语调用短语,以生成在生成跟随在口语调用短语之后的音频数据的细化版本时使用的讲话者嵌入。在一些实现方式中,可以处理口语调用短语以标识与口语调用短语的讲话者相关联的账户,以及在生成跟随在口语调用短语之后的音频数据的细化版本中利用的与账户相关联的存储的讲话者嵌入。
自动助理900的一个或多个本地引擎906是可选的,并且可以包括例如上述调用引擎、本地话音至文本(“STT”)引擎(其将捕获的音频转换为文本),本地文本至语音(“TTS”)引擎(其将文本转换为语音)、本地自然语言处理器(其确定音频和/或从音频转换的文本的语义含义)和/或其它本地组件。因为客户端设备902在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,所以本地引擎906相对于被包括在基于云的自动助理组件910中的任何对应物可以具有有限的功能性。
相对于本地引擎906的任何对应物,基于云的自动助理组件910利用云的几乎无限的资源来执行对音频数据和/或其它用户接口输入的更鲁棒和/或更准确的处理。再次,在各种实现方式中,客户端设备902可以响应于调用引擎检测到口语调用短语或者检测到对自动助理900的某个其它显式调用而向基于云的自动助理组件910提供音频数据和/或其它数据。
所图示的基于云的自动助理组件910包括基于云的TTS模块912、基于云的STT模块914、自然语言处理器916、对话状态跟踪器918和对话管理器920。在一些实现方式中,可以省略、组合和/或在与自动助理900分离的组件中实现自动助理900的引擎和/或模块中的一个或多个。此外,在一些实现方式中自动助理900可以包括附加和/或替代引擎和/或模块。基于云的STT模块914可以将音频数据转换成文本,然后可以将该本文提供给自然语言处理器916。在各种实现方式中,基于云的STT模块914可以至少部分地基于由话音滤波器引擎104提供的频率表示的修正版本来将音频数据转换成文本。
基于云的TTS模块912可以将文本数据(例如,由自动助理900制定的自然语言响应)转换成计算机生成的语音输出。在一些实现方式中,TTS模块912可以将计算机生成的语音输出提供给客户端设备902以例如使用一个或多个扬声器直接输出。在其它实现方式中,可以将由自动助理900生成的文本数据(例如,自然语言响应)提供给本地引擎906之一,该本地引擎然后可以将文本数据转换成在本地输出的计算机生成的语音。
自动助理900的自然语言处理器916处理自由形式自然语言输入并且基于自然语言输入生成带注释的输出以供由自动助理900的一个或多个其它组件使用。例如,自然语言处理器916能够处理自然语言自由形式输入,即作为由STT模块914对由用户经由客户端设备902提供的音频数据的转换的文本输入。所生成的带注释的输出可以包括自然语言输入的一个或多个注释并且可选地包括自然语言输入的词语中的一个或多个(例如,全部)。
在一些实现方式中,自然语言处理器916被配置成标识并注释自然语言输入中的各种类型的语法信息。在一些实现方式中,自然语言处理器916可以附加地和/或替换地包括实体标记器(未描绘),该实体标记器被配置成在一个或多个分段中注释实体引用,诸如对人(包括例如文学角色、名人、公众人物等)、组织、地点(真实的和虚构的)等的引用。在一些实现方式中,自然语言处理器916可以附加地和/或替换地包括共指解析器(未描绘),该共指解析器被配置成基于一个或多个上下文线索对同一实体的引用进行分组或“聚类”。例如,可以利用共指解析器来将自然语言输入“I liked Hypothetical Cafélast time weate there(我喜欢上次我们在那里吃饭的假想咖啡馆)”中的术语“there(那里)”解析为“Hypothetical Café(假想咖啡馆)”。在一些实现中,自然语言处理器916的一个或多个组件可以依靠来自自然语言处理器916的一个或多个其它组件的注释。在一些实现方式中,在处理特定自然语言输入时,自然语言处理器916的一个或多个组件可以使用特定自然语言输入之外的相关在先输入和/或其它相关数据来确定一个或多个注释。
在一些实现方式中,对话状态跟踪器918可以被配置成跟踪“对话状态”,该“对话状态”包括例如一个或多个用户的目标(或“意图”)在人机对话会话过程中和/或跨多个对话会话的信念状态。在确定对话状态时,一些对话状态跟踪器可以设法基于对话会话中的用户和系统话语来确定用于在对话中实例化的槽的最可能值。一些技术利用定义槽集和与那些槽相关联的值集的固定本体。一些技术附加地或替换地可以适应个别槽和/或域。例如,一些技术可能需要针对每个域中的每种槽类型训练模型。
对话管理器920可以被配置成将例如由对话状态跟踪器918提供的当前对话状态映射到然后由自动助理900执行的多个候选响应动作中的一个或多个“响应动作”。取决于当前对话状态,响应动作可以以各种形式出现。例如,对应于在最后轮次之前(例如,当执行最终用户期望的任务时)发生的对话会话的轮次的初始和中游对话状态可以被映射到包括自动助理900输出附加自然语言对话的各种响应动作。例如,此响应对话可以包括请求用户为对话状态跟踪器918所相信的用户打算执行的一些动作(即,填充槽)提供参数。在一些实现方式中,响应动作可以包括诸如“请求”(例如,寻找用于槽填充的参数)、“提议”(例如,为用户建议动作或动作过程)、“选择”、“通知”(例如,给用户提供请求的信息)、“不匹配”(例如,通知用户其最后输入不被理解)、对外围设备的命令(例如,关闭灯泡)等。
图10是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备1010的框图。在一些实现方式中,客户端计算设备和/或其它组件中的一个或多个可以包括示例计算设备1010的一个或多个组件。
计算设备1010通常包括经由总线子系统1012与许多外围设备进行通信的至少一个处理器1014。这些外围设备可以包括存储子系统1024(包括例如存储器子系统1025和文件存储子系统1026)、用户接口输出设备1020、用户接口输入设备1022和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口并且耦合到其它计算设备中的对应接口设备。
用户接口输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、音频输入设备(诸如话音识别系统、麦克风)和/或其它类型的输入设备。一般而言,术语“输入设备”的使用旨在包括用于将信息输入到计算设备1010中或到通信网络上的所有可能类型的设备和方式。
用户接口输出设备1020可以包括显示子系统、打印机、传真机或非可视显示器(诸如音频输出设备)。显示子系统可以包括阴极射线管(“CRT”)、诸如液晶显示器(“LCD”)的平面板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统还可以例如经由音频输出设备提供非可视显示。一般而言,术语“输出设备”的使用旨在包括用于将信息从计算设备1010输出到用户或到另一机器或计算设备的所有可能类型的设备和方式。
存储子系统1024存储提供本文描述的一些或所有模块的功能性的编程和数据构造。例如,存储子系统1024可以包括用于执行图4、图6和/或图7的一个或多个过程的所选方面以及实现图1和/或图9中描绘的各种组件的逻辑。
这些软件模块通常由处理器1014单独或与其它处理器相结合地执行。存储子系统1024中使用的存储器1025可以包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(“RAM”)1030和在其中存储有固定指令的只读存储器(“ROM”)1032。文件存储子系统1026可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在能够由处理器1014访问的其它机器中。
总线子系统1012提供用于让计算设备1010的各种组件和子系统如预期的那样彼此通信的机制。尽管总线子系统1012被示意性地示出为单条总线,但是总线子系统的替代实现方式可以使用多条总线。
计算设备1010可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器农场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图10中描绘的计算设备1010的描述出于图示一些实现方式的目的而仅旨在作为特定示例。计算设备1010的许多其它配置可能具有比图10中描绘的计算设备更多或更少的组件。
在本文描述的系统收集关于用户(或如本文中常常提到的,“参与者”)的个人信息或者可以利用个人信息的情形下,可以给用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,某些数据可以在它被存储或使用之前被以一种或多种方式处理,使得个人可标识的信息被移除。例如,用户的身份可以被处理为使得对于该用户不能确定个人可标识的信息,或者用户的地理位置可以在获得地理位置信息的情况下被泛化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。
在一些实现方式中,提供一种由一个或多个处理器实现的方法,该方法包括接收音频数据,该音频数据捕获人类讲话者的话语并且还捕获不来自人类讲话者的一个或多个附加声音。该方法进一步包括用自动语音识别(“ASR”)引擎的频率变换部分来处理音频数据,以生成音频数据的频率表示。该方法进一步包括生成频率表示的修正版本,该修正版本包括频率表示的与话语相对应的一个或多个部分,并且该修正版本排除频率表示的捕获一个或多个附加声音的一个或多个其它部分,并且其中,生成频率表示的修正版本包括使用话音滤波器模型来处理频率表示和讲话者嵌入,以生成以频率表示和讲话者嵌入为条件的预测遮罩,其中,讲话者嵌入对应于人类讲话者。该方法进一步包括通过使用预测遮罩来处理频率表示从而生成频率表示的修正版本。该方法进一步包括使用ASR引擎的语音识别部分来处理频率表示的修正版本,以生成人类讲话者的话语的文本表示。
本文公开的技术的这些和其它实现方式可以包括以下特征中的一个或多个。
在一些实现方式中,用ASR引擎的频率变换部分来处理音频数据,以生成音频数据的频率表示进一步包括使用ASR引擎的频率变换部分来处理音频数据,以生成输出。在一些实现方式中,该方法进一步包括使用幂律压缩过程来处理输出,以生成频率表示。
在一些实现方式中,在生成频率表示的修正版本之前,该方法进一步包括使用归一化过程来归一化频率表示,并且使用归一化过程来归一化讲话者嵌入。
在一些实现方式中,使用话音滤波器模型来处理频率表示和讲话者嵌入,以生成以频率表示和讲话者嵌入两者为条件的预测遮罩进一步包括使用话音滤波器模型的一维卷积神经网络部分来处理频率表示,以生成卷积输出。在一些实现方式中,该方法进一步包括使用话音滤波器输出的单向长短期记忆模型部分来处理卷积输出和讲话者嵌入,以生成递归输出。在一些实现方式中,该方法进一步包括使用话音滤波器模型的前馈神经网络部分来处理递归输出,以生成预测遮罩。
在一些实现方式中,通过使用预测遮罩来处理频率表示从而生成频率表示的修正版本包括通过使用预测遮罩对频率表示进行卷积,从而使用预测遮罩来处理频率表示。
在一些实现方式中,讲话者嵌入是通过使用讲话者嵌入模型来处理与人类讲话者相对应的讲话者音频数据的一个或多个实例而生成的。在那些实现方式的一些版本中,在生成讲话者嵌入时处理的讲话者音频数据包括由人类讲话者在向数字系统登记期间讲出的一个或多个登记话语。在那些实现方式的一些版本中,讲话者嵌入在向数字系统登记期间被本地存储在客户端设备处,并且其中,在生成音频数据的修正频率表示时使用讲话者嵌入。
在一些实现方式中,在所接收到的音频数据中捕获的不来自人类讲话者的所述一个或多个附加声音包括不来自附加人类讲话者的背景噪声。
在一些实现方式中,在所接收到的音频数据中捕获的不来自人类讲话者的所述一个或多个附加声音包括附加人类讲话者的话语。
在一些实现方式中,音频数据是经由客户端设备的一个或多个麦克风捕获的,并且其中,与人类讲话者相对应的讲话者嵌入是在经由客户端设备的所述一个或多个麦克风捕获音频数据的至少一部分之后生成的。
在一些实现方式中,其中,音频数据是经由客户端设备的一个或多个麦克风捕获的,并且其中,与人类讲话者相对应的讲话者嵌入是在经由客户端设备的所述一个或多个麦克风捕获音频数据之前生成的。在那些实现方式的一些版本中,讲话者嵌入是基于在客户端设备处捕获的传感器数据指示人类讲话者当前正在与客户端设备交流而选择的。
在一些实现方式中,提供了一种训练话音滤波器机器学习模型,以生成隔离目标人类讲话者的任何话语的音频数据的频率表示的修正版本的方法,该方法由一个或多个处理器实现并且包括标识包括来自仅第一人类讲话者的口语输入的音频数据的实例。该方法进一步包括标识针对第一人类讲话者的讲话者嵌入。该方法进一步包括标识缺少来自第一人类讲话者的任何口语输入并且包括来自至少一个附加人类讲话者的口语输入的音频数据的附加实例。该方法进一步包括生成将音频数据的实例和音频数据的附加实例组合的音频数据的混合实例。该方法进一步包括使用自动语音识别(“ASR”)引擎的频率变换部分来处理音频数据的实例,以生成音频数据的实例的频率表示。该方法进一步包括使用ASR引擎的频率变换部分来处理音频数据的混合实例,以生成混合音频数据的混合频率表示。该方法进一步包括使用话音滤波器模型来处理混合频率表示和讲话者嵌入,以生成预测遮罩。该方法进一步包括使用预测遮罩来处理混合频率表示,以生成预测频率表示。该方法进一步包括基于对频率表示和预测频率表示的比较来确定不对称损失。该方法进一步包括基于损失来更新话音滤波器模型的一个或多个权重。
另外,一些实现方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中所述一个或多个处理器能够操作来执行存储在相关存储器中的指令,并且其中指令被配置成使本文描述的任何方法执行。一些实现方式还包括一个或多个非暂时性计算机可读存储介质,该一个或多个非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行本文描述的任何方法的计算机指令。
虽然已在本文中描述并图示了若干实现方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其它手段和/或结构,并且此类变化和/或修改中的每一个被视为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意在为示例性的并且实际参数、尺寸、材料和/或配置将取决于教导被用于的一个或多个特定应用。本领域的技术人员将认识到或能够使用不超过例行实验来探知本文描述的特定实现方式的许多等同物。因此应当理解,前面的实现方式仅通过示例来呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践实现方式。本公开的实现方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,两个或更多个此类特征、系统、物品、材料、套件和/或方法的任何组合在此类特征、系统、物品、材料、套件和/或方法不相互不一致的情况下,被包括在本公开的范围内。
Claims (17)
1.一种由一个或多个处理器实现的方法,所述方法包括:
接收音频数据,所述音频数据捕获人类讲话者的话语并且还捕获不是来自所述人类讲话者的一个或多个附加声音;
用自动语音识别(“ASR”)引擎的频率变换部分来处理所述音频数据以生成所述音频数据的频率表示;
生成所述频率表示的修正版本,所述修正版本包括所述频率表示的与所述话语相对应的一个或多个部分,并且所述修正版本排除所述频率表示的捕获所述一个或多个附加声音的一个或多个其它部分,并且其中,生成所述频率表示的所述修正版本包括:
使用话音滤波器模型来处理所述频率表示和讲话者嵌入以生成以所述频率表示和所述讲话者嵌入两者为条件的预测遮罩,其中,所述讲话者嵌入对应于所述人类讲话者;
通过使用所述预测遮罩处理所述频率表示来生成所述频率表示的所述修正版本;以及
使用所述ASR引擎的语音识别部分来处理所述频率表示的所述修正版本以生成所述人类讲话者的所述话语的文本表示。
2.根据权利要求1所述的方法,其中,用所述ASR引擎的所述频率变换部分来处理所述音频数据以生成所述音频数据的所述频率表示进一步包括:
使用所述ASR引擎的所述频率变换部分来处理所述音频数据以生成输出;以及
使用幂律压缩过程来处理所述输出以生成所述频率表示。
3.根据前述权利要求中的任一项所述的方法,进一步包括:
在生成所述频率表示的所述修正版本之前,使用归一化过程来归一化所述频率表示,并且使用归一化过程来归一化所述讲话者嵌入。
4.根据前述权利要求中的任一项所述的方法,其中,使用所述话音滤波器模型来处理所述频率表示和所述讲话者嵌入以生成以所述频率表示和所述讲话者嵌入两者为条件的所述预测遮罩包括:
使用所述话音滤波器模型的一维卷积神经网络部分来处理所述频率表示以生成卷积输出;
使用所述话音滤波器输出的单向长短期记忆模型部分来处理所述卷积输出和所述讲话者嵌入以生成递归输出;以及
使用所述话音滤波器模型的前馈神经网络部分来处理所述递归输出以生成所述预测遮罩。
5.根据前述权利要求中的任一项所述的方法,其中,通过使用所述预测遮罩处理所述频率表示来生成所述频率表示的所述修正版本包括:通过使用所述预测遮罩对所述频率表示进行卷积来使用所述预测遮罩处理所述频率表示。
6.根据前述权利要求中的任一项所述的方法,其中,所述讲话者嵌入是通过使用讲话者嵌入模型来处理与所述人类讲话者相对应的讲话者音频数据的一个或多个实例而生成的。
7.根据权利要求6所述的方法,其中,在生成所述讲话者嵌入时处理的所述讲话者音频数据包括由人类讲话者在向数字系统登记期间讲出的一个或多个登记话语。
8.根据权利要求7所述的方法,其中,所述讲话者嵌入在向所述数字系统登记期间被本地存储在客户端设备处,并且其中,在生成所述音频数据的所述修正频率表示时使用所述讲话者嵌入。
9.根据前述权利要求中的任一项所述的方法,其中,在所接收到的音频数据中捕获的不是来自所述人类讲话者的所述一个或多个附加声音包括不是来自附加人类讲话者的背景噪声。
10.根据前述权利要求中的任一项所述的方法,其中,在所接收到的音频数据中捕获的不是来自所述人类讲话者的所述一个或多个附加声音包括附加人类讲话者的话语。
11.根据权利要求1所述的方法,其中,所述音频数据是经由客户端设备的一个或多个麦克风捕获的,并且其中,与所述人类讲话者相对应的所述讲话者嵌入是在经由所述客户端设备的所述一个或多个麦克风捕获所述音频数据的至少一部分之后生成的。
12.根据权利要求1所述的方法,其中,所述音频数据是经由客户端设备的一个或多个麦克风捕获的,并且其中,与所述人类讲话者相对应的所述讲话者嵌入是在经由所述客户端设备的所述一个或多个麦克风捕获所述音频数据之前生成的。
13.根据权利要求12所述的方法,其中,所述讲话者嵌入是基于在所述客户端设备处捕获的指示所述人类讲话者当前正在与所述客户端设备交流的传感器数据来选择的。
14.一种训练话音滤波器机器学习模型以生成隔离目标人类讲话者的任何话语的音频数据的频率表示的修正版本的方法,所述方法由一个或多个处理器实现并且包括:
标识包括来自仅第一人类讲话者的口语输入的音频数据的实例;
标识针对所述第一人类讲话者的讲话者嵌入;
标识缺少来自所述第一人类讲话者的任何口语输入并且包括来自至少一个附加人类讲话者的口语输入的音频数据的附加实例;
生成将所述音频数据的实例和所述音频数据的附加实例组合的音频数据的混合实例;
使用自动语音识别(“ASR”)引擎的频率变换部分来处理所述音频数据的实例以生成所述音频数据的实例的频率表示;
使用所述ASR引擎的所述频率变换部分来处理所述音频数据的混合实例以生成所述混合音频数据的混合频率表示;
使用所述话音滤波器模型来处理所述混合频率表示和所述讲话者嵌入以生成预测遮罩;
使用所述预测遮罩来处理所述混合频率表示以生成预测频率表示;
基于对所述频率表示和所述预测频率表示的比较来确定不对称损失;以及
基于所述损失来更新所述话音滤波器模型的一个或多个权重。
15.一种计算机程序,所述计算机程序包括指令,所述指令在由计算系统的一个或多个处理器执行时使所述计算系统执行根据前述权利要求中的任一项所述的方法。
16.一种客户端设备,所述客户端设备包括一个或多个处理器,所述一个或多个处理器执行存储在所述客户端设备的存储器中的指令,以执行根据权利要求1至14中的任一项所述的方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储能够由计算系统的一个或多个处理器执行以执行根据权利要求1至14中的任一项所述的方法的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/055539 WO2021071489A1 (en) | 2019-10-10 | 2019-10-10 | Targeted voice separation by speaker for speech recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114365216A true CN114365216A (zh) | 2022-04-15 |
Family
ID=68393074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980097575.0A Pending CN114365216A (zh) | 2019-10-10 | 2019-10-10 | 按讲话者进行语音识别的目标话音分离 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220301573A1 (zh) |
EP (1) | EP3830819A1 (zh) |
CN (1) | CN114365216A (zh) |
WO (1) | WO2021071489A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11361749B2 (en) | 2020-03-11 | 2022-06-14 | Nuance Communications, Inc. | Ambient cooperative intelligence system and method |
CN113380239B (zh) * | 2021-07-20 | 2022-09-09 | 北京百度网讯科技有限公司 | 语音识别模型的训练方法、语音识别方法、装置和设备 |
CN115862658A (zh) * | 2021-09-24 | 2023-03-28 | 祖玛视频通讯公司 | 提取目标说话者语音的系统和方法 |
CN114419869B (zh) * | 2022-03-30 | 2022-07-26 | 北京启醒科技有限公司 | 一种基于时序多维预测的城市灾害预警方法及系统 |
US11880645B2 (en) | 2022-06-15 | 2024-01-23 | T-Mobile Usa, Inc. | Generating encoded text based on spoken utterances using machine learning systems and methods |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188671A1 (en) * | 2009-10-15 | 2011-08-04 | Georgia Tech Research Corporation | Adaptive gain control based on signal-to-noise ratio for noise suppression |
US10373612B2 (en) * | 2016-03-21 | 2019-08-06 | Amazon Technologies, Inc. | Anchored speech detection and speech recognition |
US10249305B2 (en) * | 2016-05-19 | 2019-04-02 | Microsoft Technology Licensing, Llc | Permutation invariant training for talker-independent multi-talker speech separation |
CA3179080A1 (en) * | 2016-09-19 | 2018-03-22 | Pindrop Security, Inc. | Channel-compensated low-level features for speaker recognition |
WO2018055455A1 (en) * | 2016-09-23 | 2018-03-29 | Eventide Inc. | Tonal/transient structural separation for audio effects |
US20230116052A1 (en) * | 2021-10-05 | 2023-04-13 | Microsoft Technology Licensing, Llc | Array geometry agnostic multi-channel personalized speech enhancement |
-
2019
- 2019-10-10 CN CN201980097575.0A patent/CN114365216A/zh active Pending
- 2019-10-10 US US17/619,648 patent/US20220301573A1/en active Pending
- 2019-10-10 WO PCT/US2019/055539 patent/WO2021071489A1/en unknown
- 2019-10-10 EP EP19795718.6A patent/EP3830819A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220301573A1 (en) | 2022-09-22 |
WO2021071489A1 (en) | 2021-04-15 |
EP3830819A1 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11735176B2 (en) | Speaker diarization using speaker embedding(s) and trained generative model | |
US11922951B2 (en) | Targeted voice separation by speaker conditioned on spectrogram masking | |
CN114365216A (zh) | 按讲话者进行语音识别的目标话音分离 | |
CN111742362B (zh) | 在调用短语检测中选择性地适配和利用噪声降低技术 | |
EP4139816B1 (en) | Voice shortcut detection with speaker verification | |
US11699453B2 (en) | Adaptive multichannel dereverberation for automatic speech recognition | |
US11854533B2 (en) | Speaker awareness using speaker dependent speech model(s) | |
JP2022534888A (ja) | 2パスエンドツーエンド音声認識 | |
KR20230153450A (ko) | 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재 |
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 |