HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

音频降噪的制作方法

2021-01-28 13:01:06|238|起点商标网
音频降噪的制作方法

相关申请的交叉引用

本申请要求2019年6月10日提交的美国申请62/859,327的权益,其通过引用并入本文。

本说明书一般涉及语音处理。



背景技术:

语音处理是对语音信号和信号处理方法的研究。信号通常以数字表示进行处理,因此语音处理可以被认为是应用于语音信号的数字信号处理的特殊情况。语音处理的方面包括语音信号的获取、操纵、存储、传输和输出。



技术实现要素:

进行音频会议有时对于音频会议系统可能是具有挑战性的。音频会议系统可能必须执行多个音频信号处理技术,包括线性声学回声消除、残余回声抑制、降噪等。当说话者正在说话并且没有语音正在被音频会议系统的扬声器输出时,这些信号处理技术中的一些可以很好地执行,但是当音频会议系统的麦克风正在从附近的说话者拾取语音并且语音正在被扬声器输出时,这些信号处理技术可以很差地执行。

为了处理既可以包括来自附近的说话者的语音又可以包括由扬声器正在输出的语音的音频数据,训练不同的音频处理模型可能是有帮助的。一个模型可以被配置为降低包括来自一个说话者的语音的音频数据中的噪声,并且另一个模型可以被配置为降低包括来自多于一个说话者的语音的音频数据中的噪声。音频会议系统可以根据由扬声器正在输出的音频的能量水平来选择模型中的一个。如果由扬声器正在输出的音频高于阈值能量水平,则音频会议系统可以选择使用包括一个说话者的音频样本所训练的模型。如果由扬声器正在输出的音频低于阈值能量水平,则音频会议系统可以选择使用来自单个说话者和两个说话者的音频样本所训练的模型。

根据本申请中描述的主题的创新方面,一种用于降低音频噪声的方法包括动作,由具有相关联的麦克风和扬声器的计算设备接收用户语句(utterance)的第一音频数据,所述第一音频数据是使用所述麦克风生成的;当接收所述用户语句的所述第一音频数据时,由所述计算设备确定由所述计算设备的所述扬声器正在输出的第二音频数据的能量水平;基于所述第二音频数据的所述能量水平,由所述计算设备从(i)第一模型和(ii)第二模型中选择模型,所述第一模型被配置为降低音频数据中的噪声,并且使用第一音频数据样本来训练所述第一模型,所述第一音频数据样本各自对来自一个说话者的语音进行编码,所述第二模型被配置为降低所述音频数据中的噪声,并且使用第二音频数据样本来训练所述第二模型,所述第二音频数据样本各自对来自一个说话者或两个说话者的语音进行编码;由所述计算设备将所述第一音频数据作为输入提供给所选择的模型;由所述计算设备从所述所选择的模型接收处理后的第一音频数据;以及由所述计算设备提供所述处理后的第一音频用于输出。

这些和其它实施方式可以各自可选地包括一个或多个以下特征。动作进一步包括,由所述计算设备接收由第一说话者说出的第一语句的音频数据和由第二说话者说出的第二语句的音频数据;由所述计算设备通过将所述第一语句的所述音频数据和所述第二语句的所述音频数据进行组合来生成组合的音频数据;由所述计算设备通过将所述组合的音频数据和噪声进行组合来生成噪声音频数据;以及由所述计算设备使用所述组合的音频数据和所述噪声音频数据并且使用机器学习来训练所述第二模型。将所述第一语句的所述音频数据和所述第二语句的所述音频数据进行组合的动作包括,在时域中重叠所述第一语句的所述音频数据和所述第二语句的所述音频数据,以及对所述第一语句的所述音频数据和所述第二语句的所述音频数据求和。

动作进一步包括,在将所述第一音频数据作为输入提供给所述所选择的模型之前,由所述计算设备将所述第一音频数据作为输入提供给被配置为降低所述第一音频数据中的回声的回声消除器。动作进一步包括,由所述计算设备接收由说话者说出的语句的音频数据;由所述计算设备通过将所述语句的所述音频数据和噪声进行组合来生成噪声音频数据;以及由所述计算设备使用所述语句的所述音频数据和所述噪声音频数据并且使用机器学习来训练所述第一模型。使用第二音频数据样本来训练所述第二模型,所述第二音频数据样本各自对来自两个同时的说话者或一个说话者的语音进行编码。动作进一步包括,由所述计算设备将所述第二音频数据的所述能量水平与阈值能量水平进行比较;以及基于将所述第二音频数据的所述能量水平与所述阈值能量水平进行比较,由所述计算设备确定所述音频数据的所述能量水平不满足所述阈值能量水平。

选择所述模型的动作包括,基于确定所述第二音频数据的所述能量水平不满足所述阈值能量水平来选择所述第二模型。由所述计算设备将所述第二音频数据的所述能量水平与阈值能量水平进行比较;以及基于将所述第二音频数据的所述能量水平与所述阈值能量水平进行比较,由所述计算设备确定所述音频数据的所述能量水平满足所述阈值能量水平的动作。选择所述模型的动作包括,基于确定所述第二音频数据的所述能量水平满足所述阈值能量水平来选择所述第一模型。所述计算设备的所述麦克风被配置为检测由所述计算设备的所述扬声器输出的音频。所述计算设备在音频会议期间与另一计算设备进行通信。

该方面的其它实施方式包括对应的系统、装置和被记录在计算机存储设备上的计算机程序,每个都被配置为执行该方法的操作。

可以实施本说明书中描述的主题的特定实施方式,以便实现以下优点中的一个或多个。即使多于一个的说话者同时正在说话,音频会议系统中的参与者也可以清楚地听到音频会议的另一端上的说话者。

本说明书中描述的主题的一个或多个实施方式的细节在附图和以下描述中阐述。主题的其它特征、方面以及优点将根据描述、附图和权利要求而变得清楚。

附图说明

图1示出了示例音频会议系统,该示例音频会议系统根据由扬声器输出的音频、将不同的降噪模型应用于使用麦克风生成的音频数据。

图2示出了用于训练在音频会议系统中使用的降噪模型的示例系统。

图3是用于根据由扬声器正在输出的音频的能量水平、将不同的降噪模型应用于检测到的音频的示例处理的流程图。

图4是计算设备和移动计算设备的示例。

在各种附图中,类似的附图标记和表示指示类似的元素。

具体实施方式

根据这里描述的实施方式,提供了用于降低音频噪声的方法、系统和装置,包括在计算机存储介质上被编码的计算机程序。在一些实施方式中,一种方法包括接收用户语句的第一音频数据的动作,例如,使用麦克风生成的音频数据。动作进一步包括确定由扬声器正在输出的第二音频数据的能量水平。动作进一步包括从(i)第一模型和(ii)第二模型中选择模型,使用第一音频数据样本来训练该第一模型,该第一音频数据样本各自对来自一个说话者的语音进行编码,使用第二音频数据样本来训练该第二模型,该第二音频数据样本各自对来自一个说话者或两个说话者的语音进行编码。动作进一步包括将第一音频数据作为输入提供给所选择的模型。动作进一步包括接收处理后的第一音频数据。动作进一步包括输出处理后的第一音频数据。

图1示出了示例音频会议系统100,该示例音频会议系统100根据由检测语句118的设备的扬声器输出的音频104的能量水平,将不同的降噪模型102应用于根据由麦克风检测到的音频生成的音频数据。简而言之,并且如下面更详细描述的,音频会议设备112和音频会议设备114在音频会议中进行通信。音频会议设备112和音频会议设备114被配置为,通过根据由音频会议设备112和音频会议设备114的对应扬声器正在输出的音频的能量水平应用不同的降噪模型,来处理由每个麦克风检测到的音频。

音频会议设备112可以具有相关联的麦克风和相关联的扬声器,这两者都在会议期间使用。在一些实施方式中,麦克风和/或扬声器可以与音频会议设备112的其它组件被包括在相同的壳体中。在一些实施方式中,音频会议设备112的麦克风和/或扬声器可以是外围设备或连接的设备,例如,通过有线接口、无线接口等连接的独立设备。音频会议设备114类似地具有其自己的相关联的麦克风和相关联的扬声器。

更详细地,用户106、用户108和用户110使用音频会议设备112和音频会议设备114参与音频会议。音频会议设备112和音频会议设备114可以是能够检测音频和通过网络从另一音频会议设备接收音频的任何类型的设备。例如,音频会议设备112和音频会议设备114可以各自是电话、会议扬声器电话、膝上型计算机、平板计算机或其它类似设备中的一个或多个。

在示例中,用户106和用户108与音频会议设备112在同一房间中,并且用户110与音频会议设备114在同一房间中。在具有音频会议设备114的房间中存在背景噪声116。音频会议设备114还可以传送一些背景噪声116,该背景噪声116被音频会议设备112检测为背景噪声117,并且被包括在对语句150进行编码的音频中。在音频会议设备112所处的房间中还可能存在由麦克风音频会议设备112检测到的另外的背景噪声119。背景噪声116和119可以是音乐、街道噪声、来自通风口的噪声、在相邻办公室中的消声通话等。除了语句120之外,音频会议设备114可以检测背景噪声116。

当音频会议设备112通过扬声器输出对语句150进行编码的音频时,音频会议设备112的麦克风检测语句150、背景噪声117和背景噪声119。使用下面描述的技术,在音频会议设备112将语句118的音频数据传送到音频会议设备114之前,音频会议设备112能够在用户106正在说出语句118时降低由麦克风检测到的噪声。扬声器可以是指响应于来自计算设备或其它电子设备的输入而输出音频的计算设备或其它电子设备的组件。例如,扬声器可以是将电音频信号转换为声音的电声换能器。相反,说话者可以是指正在说话、已经说过话或能够说话的人或用户。

在图1的示例中,用户106通过说“让我们讨论第一季度销售数量,然后我们将休息十五分钟”来说出语句118。当用户106正在说话时,用户110通过说“第二季度,对吗?”来同时说出语句120。用户110可以在用户106正在说“销售数量,然后”的同时说出语句120。音频会议设备112通过麦克风或另一音频输入设备检测语句118,并且使用音频子系统来处理音频数据。

音频子系统可以包括麦克风、其它麦克风、模数转换器、缓冲器和各种其它音频滤波器。麦克风可以被配置为检测周围区域中的诸如语音的声音,例如语句118,并且生成相应的音频数据。模数转换器可以被配置为采样由麦克风生成的音频数据。缓冲器可以存储采样的音频数据,用于由音频会议设备112处理和/或用于由音频会议设备112传输。在一些实施方式中,音频子系统可以是连续活动的,或者在音频会议设备112期望接收音频的时间期间,诸如在会议呼叫期间,可以是活动的。在这种情况下,麦克风可以响应于与音频会议设备114的会议呼叫的发起来检测音频。在会议呼叫期间,模数转换器可以不断地对检测到的音频数据进行采样。缓冲器可以存储最近采样的音频数据,诸如最近十秒的声音。音频子系统可以向音频会议设备112的另一组件提供语音118的采样和滤波后的音频数据。

在一些实施方式中,音频会议设备112可以使用回声消除器122来处理采样和滤波后的音频数据。回声消除器122可以实施回声抑制和/或回声消除。回声消除器112可以包括自适应滤波器,该自适应滤波器被配置为估计回声并且从采样和滤波后的音频数据中减去估计的回声。回声消除器112还可以包括残余回声抑制器,该残余回声抑制器被配置为去除通过减去由自适应滤波器估计的回声而不被去除的任何残余回声。音频会议设备112可以在将采样和滤波后的音频数据作为输入提供给模型134或136之前,使用回声消除器122来处理采样和滤波后的音频数据。作为示例,音频会议设备112的麦克风可以检测语句118的音频和由音频会议设备112的扬声器输出的音频。回声消除器122可以从由麦克风检测到的音频中减去由扬声器输出的音频。这可以去除一些回声,但是可能不能去除所有的回声和噪声。

在一些实施方式中,音频能量检测器124接收用于由音频会议设备112的扬声器产生输出的音频数据104。音频数据104对噪声117和语句150进行编码。在一些实施方式中,音频数据104是从会议系统114接收的音频数据。例如,音频数据104可以是通过网络接收的音频数据,该音频数据描述将由扬声器作为会议的一部分再现的音频。在一些实施方式中,音频数据104可以基于感测音频会议设备112的扬声器实际输出的音频来生成或测量。音频能量检测器124被配置为测量由音频会议设备112的扬声器输出的音频数据104的能量。能量可以类似于音频数据的幅度或功率。音频能量检测器124可以被配置为以诸如每百毫秒的周期间隔测量能量。在一些实施方式中,音频能量检测器124可以在语音活动检测器指示由麦克风生成的或者用于生成由扬声器输出的音频的音频数据包括语音的情况下比在语音活动检测器指示音频数据不包括语音时更频繁地测量能量。在一些实施方式中,音频能量检测器124对由扬声器在一段时间内输出的音频数据104的能量进行平均。例如,音频能量检测器124可以对一百毫秒内的音频数据的能量进行平均。平均周期可以由于类似于测量频率改变的原因而改变。

在图1的示例中,音频能量检测器124确定第一音频部分126的能量是42分贝,第二音频部分128的能量是67分贝,以及第三音频部分130的能量是41分贝。

音频能量检测器124向模型选择器132提供能量测量。模型选择器132被配置为基于从音频能量检测器124接收的能量测量,从降噪模型102的集合(例如,模型134和模型136)中选择降噪模型。模型选择器132可以将能量测量与能量阈值137进行比较。如果能量测量高于能量阈值137,则模型选择器132选择降噪模型136。如果能量测量低于能量阈值137,则模型选择器132选择降噪模型134。下面将结合图2讨论用于训练降噪模型134和降噪模型136的数据。

在一些实施方式中,代替能量阈值137,模型选择器132可以将能量测量与一系列范围进行比较。如果能量测量在特定范围内,则模型选择器132选择对应于该范围的降噪模型。如果能量测量改变到另一范围,则模型选择器132选择不同的降噪模型。

通过根据会议期间的状况选择性地使用不同的降噪模型102,音频会议设备112可以提供更高质量的音频并且适应在会议期间发生的不同情况。在示例中,应用音频能量阈值137帮助音频会议设备112识别一个或多个其它会议参与者(例如,在使用会议设备114的远程位置)何时正在说话。音频会议设备112然后基于来自其它会议设备的音频数据中的语音能量是否满足音频能量阈值137来选择使用模型134,136中的哪一个。这对于识别在不同的会议位置(例如,使用不同的设备112,114)的人同时谈话的“双谈话”状况是特别有用的。与例如在一个会议位置处正在提供语音的其它情况相比,噪声和回声考虑在双谈话状况下可以是相当不同的。音频会议设备112和音频会议设备114可以检测双谈话情形,并且对于该情形的持续时间(例如,在部分128期间)应用不同的降噪模型。然后,当检测到不同的状况时,音频会议设备112可以选择并且应用一个或多个其他降噪模型。

降噪器138使用所选择的降噪模型来降低使用音频会议设备112的麦克风生成并且由音频会议设备112的音频子系统以及在一些情况下由音频会议设备112的回声消除器122处理的音频数据中的噪声。减噪器138可以连续地将音频数据作为输入提供给所选择的减噪模型,并且切换为将音频数据作为输入提供给不同的减噪模型,如由模型选择器132所指示。例如,降噪器138可以将对语句部分140进行编码的音频部分和由麦克风检测到的任何其它音频作为输入提供给模型134。音频部分对与语句部分140对应的音频进行编码,其中,用户106说了“让我们讨论第一季度”。音频会议设备112可以将输出从模型134传送到音频会议设备114。音频会议设备114可以通过音频会议设备114的扬声器输出音频148的一部分。例如,用户110听到用户106说“让我们讨论第一季度”。

减噪器138可以继续将由音频会议设备112的麦克风生成并且由音频会议设备112处理的音频数据提供给所选择的模型。音频数据可以由音频会议设备112的音频子系统以及在一些情况下由音频会议设备112的回声消除器122处理。例如,降噪器138可以将对语句部分142进行编码的音频部分作为输入提供给模型136。音频部分对语句部分142进行编码,其中,用户106说了“销售数量,然后”。音频会议设备112可以将输出从模型136传送到音频会议设备114。音频会议设备114可以通过音频会议设备114的扬声器输出音频148的另一部分。例如,用户110听到用户106说“销售数量,然后”,同时用户110说“第二季度,对吗?”。

减噪器138可以继续将由音频会议设备112的麦克风检测并且由音频会议设备112处理的音频数据提供给所选择的模型。音频数据可以由音频会议设备112的音频子系统以及在一些情况下由音频会议设备112的回声消除器122处理。例如,降噪器138可以将包括语句部分146的音频部分作为输入提供给模型134。音频部分对语句部分146进行编码,其中,用户106说了“我们将休息十五分钟”。音频会议设备112可以将输出从模型134传送到音频会议设备114。音频会议设备114可以通过音频会议设备114的扬声器输出音频148的一部分。例如,用户110听到用户106说“我们将休息十五分钟”。

在一些实施方式中,降噪器138可以通过连续地将音频数据的音频帧提供给所选择的模型,来将表示由麦克风拾取的音频的音频数据作为输入提供给所选择的模型。例如,降噪器138可以接收包括语句118的一部分和由扬声器输出的音频的音频数据的帧。降噪器138可以将音频数据的帧提供给模型134。模型134可以处理音频数据的帧,或者可以处理一组音频数据的帧。减噪器138可以继续将音频数据的帧提供给所选择的模型,直到模型选择器132指示改变为将音频数据的帧提供给不同的模型。不同的模型可以接收音频数据的帧,处理帧,并且输出处理后的音频数据。

音频会议设备112可以使用不同的噪声模型来改善音频质量。如果音频会议设备112的扬声器的音频低于阈值,则音频会议设备112使用使用来自一个说话者和两个说话者的音频数据所训练的模型。在这种情况下,音频会议设备112应该能够处理和输出来自单独或同时说话的用户106和用户108的语音。如果音频会议设备112的扬声器的音频高于阈值,则音频会议设备112使用使用来自一个说话者的音频数据所训练的模型,以去除由音频会议设备112的麦克风检测到的回声。该模型选择可以影响用户106和用户108同时说话同时扬声器活动(例如,因为用户110说话)的情况。然而,这种情况类似于三个人同时说话,并且使用单个说话者模型可能不会显著降低音频质量。单个说话者模型可以增强仅来自一个说话者的音频,但也可以去除来自扬声器的回声。

通常,会议系统(例如,音频会议系统、视频会议系统等)执行多个音频信号处理操作,诸如线性声学回声消除、残余回声抑制、降噪、舒适噪声等。通常,线性声学回声消除器通过减法去除回声,并且不使近端语音失真。线性声学回声消除器可以去除大量的回声,但是它不能在所有情况下都去除所有回声,例如,由于失真、非线性等。结果,需要可以去除由线性声学回声消除器不能移除的残余回声的残余回声抑制,尽管如果可能的近端语音与残余回声同时存在的话,这具有使可能的近端语音失真的潜在缺点。设计残留回声抑制器通常涉及透明度(例如,双工)与回声抑制之间的折衷。

为了提高音频质量,音频会议设备112可以根据会议期间存在的情形或状况来选择不同训练的模型(例如,机器学习训练的回声或降噪模型)。如上所述,可以基于所接收的音频数据的特性(例如,音频能量水平)来进行选择。作为另一示例,可以根据残余回声抑制是否主动工作(例如,衰减回声)来选择不同的模型。类似地,可以基于当前谈话的参与者的数量、是否存在在相同的位置或不同的位置同时说话的人、是否存在检测到的回声、或基于其它状况来选择不同的模型。

作为示例,可以有两个降噪模型被配置用于在同一会议室中不同数量的人同时说话,例如,第一模型被训练用于一次一个人说话,并且使用在同一位置两个或更多个人同时说话的示例数据来训练第二模型。在一些情况下,仅用一次一个人说话的例子训练的单说话者降噪模型,在多个人同时说话的情况下可能不能提供期望的结果,而多个人同时说话可能是实际会议中的常见情况。结果,如果在对应的情况发生时选择被训练用于在同一位置多个人同时谈话的模型,则该模型的选项可以提高性能。然而,单说话者降噪模型可以帮助减轻双谈话(例如,在不同位置的人同时谈话)期间的回声,这可能至少部分地是由于单说话者降噪模型易于集中在一个说话者的事实。因此,当仅在一个会议位置处存在语音时(例如,当存在很少回声或不存在回声时),使用于两个或更多个同时谈话者(例如,模型134)的模型运行,以及当发生双谈话时或至少当从另一会议位置接收的音频数据具有至少阈值量的语音能量时,使单说话者模型(例如,模型136)运行是有益的。

图2示出了用于训练在音频会议系统中使用的降噪模型的示例系统200。系统200可以被包括在图1的音频会议设备112和/或音频会议设备114中,或者被包括在单独的计算设备中。单独的计算设备可以是能够处理音频样本的任何类型的计算设备。系统200可以训练在图1的音频会议系统100中使用的降噪模型。

系统100包括语音音频样本205。语音音频样本205包括说不同短语的不同说话者的干净样本。例如,一个音频样本可以是女人说“我可以做个明天的预约吗”而没有任何背景噪声。另一个音频样本可以是男人说“请告诉我商店怎么走”而没有任何背景噪声。在一些实施方式中,语音音频样本205可以包括低于某个阈值的背景噪声量,因为可能难以获得不包括任何背景噪声的语音音频样本。在一些实施方式中,语音音频样本可以由具有不同声音的各种语音合成器生成。语音音频样本205可以仅包括口头音频样本,仅包括语音合成音频样本,或包括口头音频样本和语音合成音频样本两者的混合。

系统100包括噪声样本210。噪声样本210可以包括多个不同类型的噪声的样本。噪声样本可以包括平稳噪声和/或非平稳噪声。例如,噪声样本210可以包括街道噪声样本、道路噪声样本、鸡尾酒噪声样本、办公室噪声样本等。噪声样本210可以通过麦克风采集或者可以由噪声合成器生成。

噪声选择器220可以被配置为从噪声样本210中选择噪声样本。噪声选择器220可以被配置为在不同的噪声样本中循环并且跟踪已经被选择的那些噪声样本。噪声选择器220将所选择的噪声样本提供给语音和噪声组合器225。在一些实施方式中,噪声选择器220向语音和噪声组合器225提供一个噪声样本。在一些实施方式中,噪声选择器220向语音和噪声组合器225提供多于一个噪声样本,诸如一个办公室噪声样本和一个街道噪声样本或者两个办公室噪声样本。

语音音频样本选择器215可以类似于噪声选择器操作。语音音频样本选择器215可以被配置为在不同的语音音频样本中循环并且跟踪已经被选择的那些语音音频样本。语音音频样本选择器215将所选择的语音音频样本提供给语音和噪声组合器225和模型训练器230。在一些实施方式中,语音音频样本选择器215向语音和噪声组合器225和模型训练器230提供一个语音音频样本。在一些实施方式中,语音音频样本选择器215向语音和噪声组合器225和模型训练器230提供一个或两个语音音频样本,诸如“游戏几点开始”的一个语音样本和“那时我们所有的桌子都被预订了”的另一个语音样本或者仅“游戏几点开始”的语音样本。

语音和噪声组合器225组合从噪声选择器220接收的一个或多个噪声样本和从语音音频样本选择器215接收的一个或多个语音音频样本。语音和噪声组合器225通过重叠样本并且对样本求和来组合样本。在这种意义上,多于一个的语音音频样本将重叠以模仿同时说话的多于一个的人。在接收到的样本在时间上并不都是相同的长度的情况下,语音和噪声组合器225可以通过重复样本来扩展音频样本,直到达到所需的时间长度。例如,如果一个语音音频样本是“呼叫妈妈”,并且另一个语音样本是“我可以做个明天晚上的预约吗”,则语音和噪声组合器225可以级联“呼叫妈妈”的多个样本以达到“我可以做个明天晚上的预约吗”的长度。在语音和噪声组合器225组合多个语音音频文件的情况下,语音和噪声组合器225输出添加了噪声的组合语音音频和没有添加噪声的组合语音音频。

在一些实施方式中,由语音和噪声组合器225添加的噪声可以包括回声。在这种情况下,语音和噪声组合器225可以向语音音频样本添加诸如通风口噪声的一些噪声,以及包括相同语音音频样本的回声。语音和噪声组合器225还可以为包括多于一个说话者的其它样本添加回声。在这种情况下,语音和噪声组合器225可以为语音样本中的一个、两个语音样本添加回声,或为语音样本改变回声。

模型训练器230可以使用机器学习来训练模型。模型训练器230可以训练模型以接收包括语音和噪声的音频样本并且输出包括语音和降低的噪声的音频样本。为了训练模型,模型训练器230使用音频样本对,音频样本对各自包括从语音音频样本选择器215接收的语音音频样本,以及从将噪声添加到语音音频样本的语音和噪声组合器225接收的样本。

模型训练器230训练多个模型,多个模型各自使用不同的音频样本组。模型训练器230使用语音音频样本来训练单个说话者模型,该语音音频样本各自包括来自单个说话者的音频以及语音和噪声样本,该语音和噪声样本是添加了噪声的相同语音音频样本。模型训练器使用语音音频样本来训练一个/两个说话者模型,该语音音频样本各自包括来自一个说话者和同时说话的两个说话者的音频以及语音和噪声样本,该语音和噪声样本是添加了噪声的相同组合的一个或两个说话者样本。语音和噪声组合器225可以通过添加来自不同说话者的两个不同语音音频样本的语音音频来产生这些两个说话者样本。模型训练器230可以使用类似的技术来训练用于三个说话者模型和其它数量的说话者模型的另外的模型。

模型训练器230将训练后的模型存储在降噪模型235中。降噪模型235指示被包括在用于每个模型的训练样本中的同时说话者的数量。

图3是用于根据由扬声器正在输出的音频的能量水平、将不同的降噪模型应用于输入音频的示例处理300的流程图。通常,处理300在音频会议期间接收音频数据。处理300根据由扬声器正在输出的音频的能量来选择降噪模型,该音频诸如是从在音频会议中通信的另一计算系统接收的音频。在将音频数据传送到参与音频会议的其他计算系统之前,将降噪模型应用于音频数据。处理300将被描述为由包括一个或多个计算机的计算机系统执行,例如,图1的系统100和/或图2的系统200。

系统接收由系统的麦克风检测到的用户语句的第一音频数据(310)。系统包括麦克风和扬声器。在一些实施方式中,麦克风检测由扬声器输出的音频以及用户语句的音频。

在接收第一音频数据时,系统确定由扬声器正在输出的第二音频数据的能量水平(320)。能量水平可以是第二音频数据的幅度。在一些实施方式中,系统可以对一段时间内的第二音频数据的能量水平进行平均。在一些实施方式中,系统可以以特定间隔确定能量水平。

系统基于第二音频数据的能量水平,从(i)第一模型和(ii)第二模型中选择模型,该第一模型被配置为降低音频数据中的噪声,并且使用第一音频数据样本来训练该第一模型,该第一音频数据样本各自对来自一个说话者的语音进行编码,该第二模型被配置为降低音频数据中的噪声,并且使用第二音频数据样本来训练该第二模型,该第二音频数据样本各自对来自一个说话者或两个说话者的语音进行编码(330)。在一些实施方式中,系统可以将能量水平与阈值能量水平进行比较。如果能量水平高于阈值能量水平,则系统可以选择第一模型,并且如果能量水平低于阈值能量水平,则系统可以选择第二模型。

在一些实施方式中,系统生成训练数据以训练第一模型。训练数据可以包括对来自多个说话者的语音进行编码的音频样本和噪声样本。每个训练样本可以包括来自一个说话者的语音。系统组合噪声样本和语音样本。系统使用机器学习和语音样本以及组合的语音和噪声样本来训练第一模型。

在一些实施方式中,系统生成训练数据以训练第二模型。训练数据可以包括来自多个说话者的语音音频样本和噪声样本。系统组合噪声样本以及一个或两个语音样本。系统还组合相同组的一个或两个语音样本。系统使用机器学习和组合的语音样本以及组合的语音和噪声样本来训练第二模型。在一些实施方式中,系统通过在时域中对噪声以及一个或两个语音样本求和来组合噪声以及一个或两个语音样本。在一些实施方式中,系统通过在时域中对语音样本求和来组合两个语音样本。这种求和可以与通过级联音频样本来组合音频样本相反。

系统使用由扬声器输出的第二音频数据的能量在第一模型和第二模型之间进行选择,作为第二音频数据包括语音的可能性的度量,诸如有人向音频会议中通信的另一系统的麦克风说话。在一些实施方式中,系统可以被配置为,如果由扬声器输出的音频数据的能量水平低于能量水平阈值,则系统选择第一模型,并且如果由扬声器输出的音频数据的能量水平高于能量水平阈值,则系统选择第二模型。

系统将第一音频数据作为输入提供给所选择的模型(340),并且从所选择的模型接收处理后的第一音频数据(350)。在一些实施方式中,系统可以在将第一音频数据提供给所选择的模型之前将回声消除器或回声抑制器应用于第一音频数据。系统提供处理后的第一音频数据用于输出(360)。例如,系统可以将处理后的第一音频数据传送到另一音频会议设备。

在一些实施方式中,系统可以使用静态阈值能量水平。可以基于系统所属的设备的类型来设置静态阈值能量水平。在一些实施方式中,可以在系统的配置期间设置静态阈值能量水平。例如,安装者可以在安装系统时运行配置设置,以便系统可以检测基线噪声水平。安装处理还可以包括,系统输出包括通过扬声器的语音的音频样本和不包括语音的其它音频样本。音频样本可以从不同设置的不同音频会议系统收集,诸如封闭的会议室和开放的办公室。系统可以基于包括一个或多个说话者的语音的音频数据和不包括语音的音频数据的能量水平来确定适当的阈值能量水平。例如,系统可以确定包括语音的音频数据的能量水平的算术或几何平均以及不包括语音的音频数据的算术或几何平均。阈值能量水平可以是(i)包括语音的音频数据的能量水平的算术或几何平均和(ii)不包括语音的音频数据的算术或几何平均的算术或几何平均。

在一些实施方式中,系统可以使用动态阈值能量水平。例如,系统可以包括语音识别器,该语音识别器生成使用麦克风接收的音频的转录,其他音频会议系统参与音频会议系统。如果系统确定转录与请求说话者重复该说话者所说的阶段匹配和/或转录包括重复短语,则系统可以调整阈值能量水平,然后系统可以尝试增加或减少阈值能量水平。如果系统继续确定转录与请求说话者重复该说话者所说的阶段匹配和/或转录包括重复短语,则系统可以增加或减少阈值能量水平。

图4示出了可用于实现这里描述的技术的计算设备400和移动计算设备450的示例。计算设备400旨在表示各种形式的数字计算机,例如膝上型计算机,台式计算机,工作站,个人数字助理,服务器,刀片服务器,大型机和其它适当的计算机。移动计算设备450旨在表示各种形式的移动设备,例如个人数字助理,蜂窝电话,智能电话和其它类似的计算设备。这里所示的部件,它们的连接和关系以及它们的功能仅仅是示例,而不是限制性的。

计算设备400包括处理器402,存储器404,存储设备406,连接到存储器404和多个高速扩展端口410的高速接口408,以及连接到低速扩展端口414和存储设备406的低速接口412。处理器402,存储器404,存储设备406,高速接口408,高速扩展端口410和低速接口412中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其它方式安装。处理器402可以处理用于在计算设备400内执行的指令,包括存储在存储器404中或存储设备406上的指令,以在外部输入/输出设备(例如耦合到高速接口408的显示器416)上显示gui的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备,其中每个设备提供必要操作的部分(例如,作为服务器库,一组刀片服务器,或多处理器系统)。

存储器404存储计算设备400内的信息。在一些实施方式中,存储器404是一个或多个易失性存储器单元。在一些实施方式中,存储器404是一个或多个非易失性存储器单元。存储器404也可以是另一种形式的计算机可读介质,例如磁盘或光盘。

存储设备406能够为计算设备400提供大容量存储。在一些实施方式中,存储设备406可以是或包含计算机可读介质,例如软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其它类似的固态存储器设备,或设备阵列,包括存储区域网络中的设备或其它配置。指令可以存储在信息载体中。指令在由一个或多个处理装置(例如,处理器402)执行时进行一个或多个方法,例如上文所述的那些方法。指令也可以由一个或多个存储设备存储,例如计算机或机器可读介质(例如,存储器404,存储设备406或处理器402上的存储器)。

高速接口408管理计算设备400的带宽密集操作,而低速接口412管理较低的带宽密集操作。这种功能的分配仅仅是示例。在一些实施方式中,高速接口408耦合到存储器404,显示器416(例如,通过图形处理器或加速器)以及高速扩展端口410,其可以接受各种扩展卡(未示出)。在该实施方式中,低速接口412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,usb,蓝牙,以太网,无线以太网)的低速扩展端口414可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘,定点设备,扫描仪,或联网设备,例如交换机或路由器。

计算设备400可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器420,或者在一组这样的服务器中多次实现。此外,它可以在诸如膝上型计算机422之类的个人计算机中实现。它也可以被实现为机架服务器系统424的一部分。或者,可以将来自计算设备400的部件与移动设备(未示出)(例如移动计算设备450)中的其它部件组合。这些设备中的每一个可以包含计算设备400和移动计算设备450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。

移动计算设备450包括处理器452,存储器464,诸如显示器454的输入/输出设备,通信接口466和收发器468等其他部件。移动计算设备450还可以具有存储设备,例如微驱动器或其它设备,以提供附加的存储。处理器452,存储器464,显示器454,通信接口466和收发器468中的每一个都使用各种总线互连,并且多个部件可以适当地安装在公共主板上或者以其它方式安装。

处理器452可以执行移动计算设备450内的指令,包括存储在存储器464中的指令。处理器452可以实现为芯片的芯片组,其包括单独的和多个模拟和数字处理器。处理器452可以提供例如用于协调移动计算设备450的其它部件,诸如用户接口的控制,由移动计算设备450运行的应用,以及由移动计算设备450进行的无线通信。

处理器452可以通过控制接口458和耦合到显示器454的显示接口456与用户通信。显示器454可以是例如tft(薄膜晶体管液晶显示器)显示器或oled(有机发光二极管)显示器,或其它适当的显示技术。显示接口456可以包括用于驱动显示器454以向用户呈现图形和其它信息的适当电路。控制接口458可以接收来自用户的命令,并将它们转换以提交给处理器452。此外,外部接口462可以提供与处理器452的通信,以便实现移动计算设备450与其它设备的近区通信。外部接口462可以例如在一些实施方式中提供有线通信,或者在其它实施方式中提供无线通信,并且还可以使用多个接口。

存储器464存储移动计算设备450内的信息。存储器464可被实现为一个或多个计算机可读介质,一个或多个易失性存储器单元,或一个或多个非易失性存储器单元。还可以提供扩展存储器474并通过扩展接口472将其连接到移动计算设备450,扩展接口472可以包括例如simm(单列直插存储器模块)卡接口。扩展存储器474可以为移动计算设备450提供额外的存储空间,或者也可以为移动计算设备450存储应用或其它信息。具体地,扩展存储器474可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供作为移动计算设备450的安全模块,并且可以用允许移动计算设备450的安全使用的指令来编程。此外,可以经由simm卡以及附加信息来提供安全应用,例如以不可窃取的方式将识别信息放置在simm卡上。

存储器可以包括例如闪存和/或nvram存储器(非易失性随机存取存储器),如下所述。在一些实施方式中,指令被存储在信息载体中,指令在由一个或多个处理设备(例如,处理器452)执行时进行一个或多个方法,例如上述的那些方法。指令还可由一个或多个存储装置(例如,存储器464,扩展存储器474或处理器452上的存储器)来存储。在一些实施方式中,指令可以在传播信号中接收,例如,通过收发器468或外部接口462。

移动计算设备450可以通过通信接口466进行无线通信,通信接口466在必要时可以包括数字信号处理电路。通信接口466可以提供各种模式或协议下的通信,例如gsm语音呼叫(全球移动通信系统),sms(短消息服务),ems(增强消息服务),或mms消息(多媒体消息服务),cdma(码分多址),tdma(时分多址),pdc(个人数字蜂窝),wcdma(宽带码分多址),cdma2000或gprs(通用分组无线业务)等。例如,这种通信可以通过收发器468使用射频来进行。此外,可以发生短距离通信,例如使用蓝牙,wifi或其它这样的收发器(未示出)。此外,gps(全球定位系统)接收器模块470可向移动计算装置450提供额外的导航及位置相关的无线数据,其可适当地由在移动计算装置450上运行的应用所使用。

移动计算设备450还可以使用音频编解码器460可听地通信,音频编解码器460可以从用户接收口头信息并将其转换成可用的数字信息。音频编解码器460同样可以为用户生成可听声音,例如通过扬声器,例如在移动计算设备450的手持机中。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息,音乐文件等),并且还可以包括由在移动计算设备450上操作的应用所生成的声音。

移动计算设备450可以以多种不同的形式来实现,如图中所示。例如,它可以被实现为蜂窝电话480。它也可以被实现为智能电话482,个人数字助理或其它类似的移动设备的一部分。

这里描述的系统和技术的各种实现可以在数字电子电路,集成电路,专门设计的asic(专用集成电路),计算机硬件,固件,软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,可编程系统包括至少一个可编程处理器,可编程处理器可以是专用的或通用的,被耦合以从存储系统,至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统,至少一个输入设备和至少一个输出设备发送数据和指令。

这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如这里所使用的,术语机器可读介质和计算机可读介质指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品,装置和/或设备(例如,磁盘,光盘,存储器,可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。

为了提供与用户的交互,这里描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈,听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。

在此描述的系统和技术可以在计算系统中实现,该计算系统包括后端部件(例如,作为数据服务器),或者包括中间件部件(例如,应用服务器),或者包括前端部件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与在此描述的系统和技术的实现进行交互),或者这种后端、中间件或前端部件的任意组合。系统的部件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(lan),广域网(wan)和因特网。在一些实施方式中,这里描述的系统和技术可以在嵌入式系统上实现,其中语音识别和其它处理直接在设备上执行。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。

尽管上面已经详细描述了几种实施方式,但是其它修改也是可能的。例如,虽然客户端应用程序被描述为访问(一个或多个)代理,但是在其它实施方式中,(一个或多个)代理可以被由一个或多个处理器实现的其它应用来使用,诸如在一个或多个服务器上执行的应用。此外,图中所描绘的逻辑流程不需要所示的特定次序或循序次序来获得所需结果。此外,可以从所描述的流中提供其它动作,或者可以从所描述的流中消除动作,并且可以将其它部件添加到所描述的系统中,或者从所描述的系统中去除其它部件。因此,其它实施方式也在所附权利要求的范围内。

所要求保护的是:

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips