音频通道混合的制作方法
相关申请的交叉引用
本申请要求2019年6月10日提交的美国申请62/859,386的权益,其通过引用并入本文。
本说明书大体涉及语音处理。
背景技术:
语音处理是对语音信号和信号处理方法的研究。信号通常以数字表示进行处理,因此语音处理可以被认为是应用于语音信号的数字信号处理的特殊情况。语音处理的方面包括语音信号的获取,操纵,存储,传输和输出。
技术实现要素:
对于具有多个麦克风的音频会议系统,进行音频会议有时可能是具有挑战性的。理想地,音频会议设备应该基于可用麦克风检测到的音频来发送包含最清晰语音的音频。在没有即按即说系统的情况下,音频会议设备可能无法确定哪个麦克风或麦克风的组合正在拾取最清晰的语音。同时发送由每个麦克风拾取的音频不是实际的选择。包括多个滤波的麦克风信号的一些麦克风信号或波束形成的音频通道可以包括比其它信号更多的噪声,并且最好忽略噪声麦克风或音频通道。一些音频会议设备简单地测量通过每个麦克风接收的音频的能量水平或音频通道的音频水平,并以最高的能量水平发送音频。因为一些麦克风可以拾取比其他麦克风更多的噪声,所以音频会议设备可以在扬声器远离麦克风或者没有人说话的时段期间结束发送噪声音频。
为了选择具有最干净音频的麦克风或音频通道,音频会议设备可以使用经过训练的模型来确定每个音频信号中的语音音频的水平和噪声的水平。可以使用机器学习和音频样本来训练该模型,所述机器学习和音频样本中的每一个都用包括在音频样本中的语音音频的水平和包括在音频样本中的噪声的水平来标记。通过将该模型应用于每个音频信号,音频会议设备能够选择可能具有最干净(或最清晰)语音的音频信号,即使该音频信号不是最响的。
根据本申请中描述的主题的创新方面,一种用于音频通道混合的方法包括由计算设备通过第一音频通道接收第一音频数据的动作;计算设备发送第一音频数据;在接收和发送第一音频数据的同时:由计算设备通过第二音频通道接收第二音频数据;计算设备通过提供第一音频数据作为模型的第一输入来确定第一音频数据的第一语音音频能量水平和第一音频数据的第一噪声能量水平,该模型被训练以确定给定音频数据的语音音频能量水平和给定音频数据的噪声能量水平;计算设备通过提供第二音频数据作为模型的第二输入来确定第二音频数据的第二语音音频能量水平和第二音频数据的第二噪声能量水平;以及,基于所述第一语音音频能量水平,所述第一噪声能量水平,所述第二语音音频能量水平和所述第二噪声能量水平,由所述计算设备确定是切换到发送所述第二音频数据还是继续发送所述第一音频数据;并且,基于确定是切换到发送第二音频数据还是继续发送第一音频数据,由计算设备发送第一音频数据或第二音频数据。
这些和其它实施方式可以各自可选地包括一个或多个以下特征。所述动作还包括由所述计算设备接收语音音频样本;计算设备接收噪声样本;计算设备确定每个噪声样本的噪声能量水平和每个语音音频样本的语音音频能量水平;计算设备通过组合每个噪声样本和每个语音音频样本来生成噪声语音音频样本;计算装置利用机器学习,使用每个噪声样本的噪声能量水平,每个语音音频样本的语音音频能量水平,以及噪声语音音频样本对模型进行训练。组合每个噪声样本和每个语音音频样本的动作包括在时域中重叠每个噪声样本和每个音频样本,并将每个噪声样本和每个音频样本相加。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括确定切换到发送第二音频数据。发送第一音频数据或第二音频数据的动作包括发送第二音频数据并停止发送第一音频数据。
确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括确定继续发送第一音频数据。发送第一音频数据或第二音频数据的动作包括继续发送第一音频数据。确定第一音频数据的第一语音音频能量水平和第一音频数据的第一噪声能量水平的动作包括,对于多个频带中的每一个,确定相应的第一语音音频能量水平和相应的第一噪声能量水平。确定第二音频数据的第二语音音频能量水平和第二音频数据的第二噪声能量水平的动作包括,对于多个频带中的每一个,确定相应的第二语音音频能量水平和相应的第二噪声能量水平。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作还基于,对于多个频带中的每一个的每个第一语音音频能量水平,每个第一噪声能量水平,每个第二语音音频能量水平和每个第二噪声能量水平。所述动作还包括,基于所述第一语音音频能量水平,所述第一噪声能量水平,所述第二语音音频能量水平和所述第二噪声能量水平,由所述计算设备更新状态机的状态,所述状态机的状态包括语音状态,噪声状态,静音状态和不确定状态。
第一音频通道是已建立的扬声器通道,其指示第一语音音频能量水平满足语音音频能量水平阈值。第二音频通道是另一个已建立的扬声器通道,其指示第一语音音频能量水平满足语音音频能量水平阈值。更新状态机的状态的动作包括将状态机的状态更新为语音状态。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括,基于将语音机的状态更新到语音状态并且基于第一音频通道和第二音频通道都是已建立的延伸起通道来确定发送第一音频数据和第二音频数据。第一音频通道是已建立的扬声器通道,其指示第一语音音频能量水平满足语音音频能量水平阈值。更新状态机的状态的动作包括将状态机的状态更新为噪声状态。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括,基于将状态机的状态更新到噪声状态来确定继续发送第一音频数据。第一音频通道是已建立的扬声器通道,其指示第一语音音频能量水平满足语音音频能量水平阈值。
更新状态机的状态的动作包括将状态机的状态更新为静音状态。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括,基于将状态机的状态更新为静音状态来确定继续发送第一音频数据。第一音频通道是已建立的扬声器通道,其指示第一语音音频能量水平满足语音音频能量水平阈值。更新状态机的状态的动作包括将状态机的状态更新为不确定状态。确定是切换到发送第二音频数据还是继续发送第一音频数据的动作包括,基于将状态机的状态更新到不确定状态来确定继续发送第一音频数据。所述动作还包括,在发送所述第一音频数据或所述第二音频数据之前,并且基于所述第一语音音频能量水平,所述第一噪声能量水平,所述第二语音音频能量水平,所述第二噪声能量水平,由所述计算设备对所述第一音频数据或所述第二音频数据进行降噪。计算设备被配置为通过额外音频通道接收额外音频数据,并确定是否切换到从额外音频通道之一发送额外音频数据。
该方面的其它实现包括记录在计算机存储设备上的相应系统,装置和计算机程序,每一个都被配置成进行所述方法的操作。
可以实现本说明书中描述的主题的特定实现,以便实现以下优点中的一个或多个。音频会议系统中的参与者即使在噪声条件下也可以清楚地听到音频会议的另一端上的扬声器。
本说明书中描述的主题的一个或多个实现的细节在附图和以下描述中阐述。从说明书,附图和权利要求书中,主题的其它特征,方面和优点将变得显而易见。
附图说明
图1示出了应用语音水平估计模型来选择输出通道的示例音频会议系统。
图2示出了用于训练在音频会议系统中使用的语音水平估计模型的示例系统。
图3是用于将语音水平估计应用到由音频会议系统接收的音频的示例性过程的流程图。
图4是计算设备和移动计算设备的示例。
在各个附图中相同的附图标记和标号表示相同的元件。
具体实施方式
提供了用于音频通道混合的方法,系统和设备,包括在计算机存储介质上编码的计算机程序。在一些实施方式中,一种方法包括接收用于第一音频通道的第一音频数据的动作。所述动作还包括发送所述第一音频数据。所述动作还包括,在接收和发送所述第一音频数据的同时,接收用于第二音频通道的第二音频数据;确定所述第一音频数据的第一语音音频能量水平和所述第一音频数据的第一噪声能量水平;确定第二音频数据的第二语音音频能量水平和第二音频数据的第二噪声能量水平;确定是切换到发送第二音频数据还是继续发送第一音频数据。所述动作还包括发送所述第一音频数据或所述第二音频数据。
图1示出了应用语音级别估计模型来选择输出通道的示例音频会议系统100。简而言之,并且如下面更详细描述的,用户102,用户104和用户106参与使用音频会议设备108和音频会议设备110的音频会议。当用户102和用户104说话时,音频会议设备108通过对接收到的音频应用语音级别估计模型来选择适当的输出通道来发送到音频会议设备110。
在实况音频系统(例如,音频会议系统或视频会议系统)中,例如经常使用多个麦克风来捕获大房间中的语音。这例如直接从单独的麦克风通道、或者从通过麦克风信号的波束成形或以其它方式组合多个麦克风信号而产生的输入通道,来创建多个输入通道。然后经常希望将输入通道下混合到更少的输出通道,通常是一个通道。在下混合过程中,希望集中于期望的声音,并避免混合成不期望的声音。例如,在会议系统中,希望拾取语音,但避免混合干扰会议体验的其它声音。图1提供了音频会议系统100可以使用一个或多个模型126来增强对要提供的音频数据的通道的选择的示例。
更详细地,在图1的示例中,用户102和用户104处于具有音频会议设备108的房间中。用户106在具有音频会议设备110的另一个房间中。音频会议设备108和音频会议设备110可以是被配置为检测音频并发送和接收音频数据的任何类型的计算设备。例如,音频会议设备108和音频会议设备110可以是电话,会议扬声器电话,平板电脑,智能扬声器,膝上型计算机,台式计算机或任何其它类似的计算设备。包括音频会议设备108的房间可以包括背景噪声112。背景噪声112可以是音乐,街道噪声,来自通风口的噪声,来自相邻房间的消声语音等。
音频会议设备108包括麦克风114,麦克风116和麦克风118。麦克风114可以离用户102最近,并且麦克风116可以离用户104最近。每个麦克风114,116和118可以拾取或检测背景噪声112。使用下面描述的技术,音频会议设备108能够选择具有最佳语音音频的麦克风,并将该音频从该麦克风发送到音频会议设备110,或者选择大于一个的麦克风,并在将混合的音频发送到音频会议设备110之前混合该音频。
用户102通过说:“我们讨论一下第一季度的销售数量,朱迪?”来说出语句120。音频会议设备108通过麦克风114,116和118或另一音频输入设备来检测语句120和噪声112,并使用音频子系统处理通过每个麦克风接收的音频数据。音频子系统可以包括麦克风114,116和118,模数转换器,缓冲器和各种其它音频滤波器。麦克风114,116和118可以被配置为检测周围区域中的声音,例如语音,例如语句120和122以及噪声112。模数转换器可以被配置为采样由麦克风114,116和118检测到的音频数据。缓冲器可以存储采样的音频数据以供音频会议设备108处理和/或由音频会议设备110传输。在一些实施方式中,音频子系统可以是连续活动的,或者在音频会议设备108期望接收例如会议呼叫期间的音频时可以是活动的。在这种情况下,麦克风114,116和118可以响应于发起与音频会议设备110的会议呼叫来检测音频。在会议呼叫期间,模数转换器可以不断地对检测到的音频数据进行采样。缓冲器可以存储最近采样的音频数据,例如最近十秒的声音。音频子系统可以将语句120和122以及噪声112的经采样和滤波后的音频数据提供给音频会议设备108的另一个部件。在一些实施方式中,音频会议设备108可以包括一个音频子系统或用于每个麦克风114,116和118的音频子系统。
音频会议设备108包括信号和噪声检测器124。信号和噪声检测器124被配置成将来自每个麦克风114,116和118的经处理的音频应用到语音和噪声估计模型126。信号和噪声检测器124可以使用语音和噪声估计模型126来估计诸如语音的信号量以及通过每个麦克风114,116和118接收的噪声量。信号和噪声检测器124可以提供来自每个麦克风114,116和118的特定秒数的音频作为语音和噪声估计模型126的输入。例如,信号和噪声检测器124可以提供通过每个麦克风114,116和118接收的最后三秒,十秒,十五秒或另一段时间的音频作为语音和噪声估计模型126的输入。为了便于解释,图1所示的示例示出了由信号和噪声检测器124处理的音频部分对应于语句120、语句122以及两个语句120和122之间的静音160。如果语句120,语句122和静音160每个持续相同的时间长度,并且信号和噪声检测器124处理与语句120,语句122和静音160之间的自然中断对齐的音频部分,则这在实践中可能发生。
信号和噪声检测器124分析通过每个麦克风114,116和118接收的几秒钟的音频。几秒钟可以对应于用户102说语句120所花费的时间段。通过麦克风114接收的音频在通道142上示出。通过麦克风116接收的音频在通道144上示出。通过麦克风118接收的音频在通道146上示出。信号和噪声检测器124使用语音和噪声估计模型126来分析通道142的音频部分148,通道144的音频部分150和通道146的音频部分152。在一些实施方式中,信号和噪声检测器124可以分析包括几毫秒音频(例如三或四毫秒音频)的部分中的音频。在类似的时间量中,音频会议设备108可以选择用于输出的音频通道。
信号和噪声检测器124确定通道142的音频部分148具有音频特性154。音频特性154指示通道142的音频部分148具有61分贝的信号电平和44分贝的噪声水平。信号和噪声检测器124可以通过提供通道142的音频部分148作为语音和噪声估计模型126的输入,来确定音频特性154。语音和噪声估计模型126可以响应于接收到音频部分148而输出音频特性154。
类似地,信号和噪声检测器124确定通道144的音频部分150具有音频特性156。音频特性156指示通道144的音频部分150具有5分贝的信号水平和47分贝的噪声水平。信号和噪声检测器124确定通道246的音频部分152具有音频特性158。音频特性158指示通道146的音频部分152具有4分贝的信号水平和42分贝的噪声水平。
在一些实施方式中,信号和噪声检测器124以及语音和噪声估计模型126被配置为确定音频通道的不同频带的音频特性。信号和噪声检测器124可以接收通道142的音频部分148,并将音频部分148分割成不同的频带,例如一百赫兹频带,一百二十五赫兹频带,或另一个类似的频带大小。信号和噪声检测器124可以提供每个频带的音频作为对不同语音和噪声估计模型126的输入,该模型126被训练以确定该特定频带中的音频特性154。附加地或替代地,噪声估计模型126可以被配置为确定通道142的音频部分148中的多个频带的音频特性。在这种情况下,信号和噪声检测器124可以向噪声估计模型126提供通道142的音频部分148。噪声估计模型126可以输出通道142的音频部分148中每个频带的音频特性154。每个频带的大小可以是一百赫兹频带,一百二十五赫兹频带,或另一个类似的频带大小。
音频会议设备108包括存储音频会议设备108的当前状态130的状态机128。状态机128基于音频特性154,156和158维持或调整音频会议设备108的当前状态130。状态机128可将当前状态130设定为四个状态132中的一者。状态132包括语音状态134,静音状态136,噪声状态138和不确定状态。每当信号和噪声检测器124产生附加音频特性时,状态机128可以维持或切换当前状态130。
音频会议设备108包括通道混合器141,其基于当前状态130选择用于输出的音频通道。在一些情况下,通道混合器141可以选择多个输出通道,并将多个通道组合成单个音频信号。在一些情况下,通道混合器141可以选择单个输出通道。每个通道可以对应于音频会议设备108上的不同麦克风。
在语音状态134中,通道混合器141选择并输出具有最高信号或语音水平的通道。如果存在具有高于信号水平阈值的信号水平的一个或多个通道,则状态机128可以将当前状态130设置为语音状态134。如果存在具有高于信噪比水平的信噪比的一个或多个通道,则状态机128可以将当前状态130设置为语音状态134。在一些情况下,状态机128可以仅在噪声水平低于噪声水平阈值时将当前状态130设置为语音状态134。在语音状态134中,通道混合器141将所选择的通道设置为所建立的扬声器通道。在通道混合器141在各自作为所建立的扬声器通道的不同通道之间进行切换的情况下,通道混合器141可以组合或混合所建立的扬声器通道。当有多个活跃的发言者可能轮流发言和/或同时发言时,这可能会有帮助。
在静音状态136中,通道混合器141选择并输出先前被标记为已建立的扬声器通道的一个或多个通道。如果所有通道具有低于信号水平阈值的信号水平,则状态机128可以将当前状态130设置为静音状态136。如果所有通道具有低于信噪比水平阈值的信噪比,则状态机128可以将当前状态130设置为静音状态136。
在噪声状态138中,通道混合器141选择并输出先前被标记为已建立的扬声器通道的一个或多个通道。通道混合器141还识别噪声通道并相应地标记那些通道。通道混合器141可以将大于一个的通道标记为噪声通道。在噪声状态138和其它状态下,通道混合器141可以避免切换到输出噪声通道。如果通道稍后被识别为已建立的扬声器通道,则通道混合器141可以清除噪声通道标签。如果存在音频会议经历静音的情况,则通道混合器141可以将具有最低噪声水平的通道标记为已建立的扬声器通道。如果所有通道都具有高于噪声水平阈值的噪声水平,则状态机128可以将当前状态130设置为噪声状态138。如果所有通道具有大于信号水平的噪声水平,或者如果噪声水平比信号水平大特定阈值或相对分贝水平,则状态机128可以将当前状态130设置为噪声状态138。
在不确定状态140中,通道混合器141选择并输出先前被标记为已建立的扬声器通道的一个或多个通道。如果所有通道具有在某个范围内的信号水平,则状态机128可以将当前状态130设置为不确定状态140。该范围可以指示信号可以是静音或语音。该范围可以是从30分贝到40分贝或类似的范围。
在图1所示的示例中,在信号和噪声检测器124处理通道142的音频部分148,通道144的音频部分150和通道146的音频部分152并产生音频特性154,音频特性156和音频特性158之后,状态机128将当前状态130设置为语音状态134,因为通道142具有高于信号水平阈值的信号水平。例如,61分贝的信号水平高于55分贝的信号水平阈值。基于当前状态130是语音状态134,通道混合器141将通道142标记为已建立的扬声器通道,并输出通道142的音频。音频会议设备110从音频会议设备108接收通道142的音频,并通过扬声器或另一输出设备输出音频162。用户106听到用户102说,“我们讨论一下第一季度的销售数量,朱迪?”
信号和噪声检测器124通过处理通道142的音频部分168,通道144的音频部分170和通道146的音频部分172并产生音频特性174,音频特性176和音频特性178来继续处理来自不同通道的音频。基于音频特性174,音频特性176和音频特性178,状态机128将当前状态130设置为静音状态136,因为每个通道的信号水平低于信号水平阈值。例如,每个通道142,144和146的信号水平低于20分贝。
基于当前状态130是静音状态136,通道混合器141继续选择通道142用于输出,因为通道142是已建立的扬声器通道。音频会议设备110从音频会议设备108接收通道142的音频,并通过扬声器或另一输出设备输出音频162。用户106听到可以由背景噪声112组成而没有任何语音的静音164。
信号和噪声检测器124通过处理通道142的音频部分180,通道144的音频部分182和通道146的音频部分184并产生音频特性186,音频特性188和音频特性190来继续处理来自不同通道的音频。基于音频特性174,音频特性176和音频特性178,状态机128将当前状态130设置为静音状态134,因为通道146具有高于信号水平阈值的信号水平。例如,62分贝的信号水平高于55分贝的信号水平阈值。在这种情况下,通道混合器141将通道146标记为已建立的扬声器通道。
基于当前状态130是语音状态134,通道混合器141选择通道146进行输出,因为通道146是已建立的扬声器通道并且通道146具有高于信号水平阈值的信号水平。通道混合器141可以将通道142与通道146混合,因为通道142也是已建立的扬声器通道。或者,通道混合器141可以不将通道142与通道146混合,因为通道146的信号水平低于55分贝的信号水平阈值。
音频会议设备110从音频会议设备108接收通道146的音频,并通过扬声器或另一输出设备输出音频166。用户106听到用户104说:“谢谢,杰克。第一季度的销售额增长了15%。”
在一些实施方式中,音频会议设备110和音频会议设备108可以一起工作以识别所建立的扬声器通道,噪声通道和其它通道。音频会议设备110和音频会议设备108可以从音频会议设备110中选择用于传输到音频会议设备108的通道。音频会议设备110和音频会议设备108可以连续地共同分析两个设备上的输入通道,并且选择最合适的通道用于输出到另一个音频会议设备。
在一些实施方式中,音频会议设备108可以包括降噪器。降噪器可以被配置为在音频会议设备108将所选音频通道的音频发送到音频会议设备110之前,降低所选音频通道上的噪声。对于所选择的通道或对于所选择的音频通道中的每个频带,降噪器可以将噪声降低特定量,例如十二分贝。在一些情况下,在音频会议系统108混合多个音频通道之前,降噪器可以处理多个音频通道。
图2示出了用于训练在音频会议系统中使用的语音水平估计模型的示例系统200。系统200可以包括在图1的音频会议设备108和/或音频会议设备110中,或者包括在单独的计算设备中。单独的计算设备可以是能够处理音频样本的任何类型的计算设备。系统200可以训练用于图1的音频会议系统100中的语音和噪声估计模型。
系统200包括语音音频样本205。语音音频样本205包括说不同短语的不同说话者的干净样本。例如,一个音频样本可以是一女人在没有任何背景噪声的情况下说“我可以为明天做约会”。另一个音频样本可以是一男人在没有任何背景噪声的情况下说“请给我到商店的方向”。在一些实施方式中,语音音频样本205可以包括低于某个阈值的背景噪声量,因为可能难以获得不包括任何背景噪声的语音音频样本。在一些实施方式中,语音音频样本可以由具有不同声音的各种语音合成器生成。语音音频样本205可仅包口头音频样本,仅包括语音合成音频样本,或口头音频样本与语音合成音频样本两者的混合。
系统200包括噪声样本210。噪声样本210可以包括几种不同类型的噪声的样本。噪声样本可以包括平稳噪声和/或非平稳噪声。例如,噪声样本210可以包括街道噪声样本,道路噪声样本,鸡尾酒噪声样本,办公室噪声样本等。噪声样本210可以通过麦克风采集或者可以由噪声合成器生成。
噪声选择器220可以被配置成从噪声样本210中选择噪声样本。噪声选择器220可以被配置为循环通过不同的噪声样本并跟踪那些已经被选择的噪声样本。噪声选择器220将所选择的噪声样本提供给语音和噪声组合器225和信号强度测量器230。在一些实施方式中,噪声选择器220向语音和噪声组合器225和信号强度测量器230提供一个噪声样本。在一些实施方式中,噪声选择器220向语音和噪声组合器225和信号强度测量器230提供多于一个的噪声样本,例如一个办公室噪声样本和一个街道噪声样本或两个办公室噪声样本。
语音音频样本选择器215可以类似于噪声选择器操作。语音音频样本选择器215可以被配置为循环通过不同的语音音频样本并跟踪已经被选择的那些语音音频样本。语音音频样本选择器215将所选择的语音音频样本提供给语音和噪声组合器225和信号强度测量器230。在一些实施方式中,语音音频样本选择器215向语音和噪声组合器225和信号强度测量器230提供一个语音音频样本。在一些实施方式中,语音音频样本选择器215向语音和噪声组合器225和信号强度测量器230提供多于一个的语音音频样本,例如“游戏什么时候开始?”的一个语音样本和“那时我们所有的桌子都被预订了”的另一个语音样本。
语音和噪声组合器225组合从噪声选择器220接收的一个或多个噪声样本和从语音音频样本选择器215接收的一个或多个语音音频样本。语音和噪声组合器225通过重叠样本并对样本求和来组合样本。在这种意义上,多于一个的语音音频样本将重叠以模仿多于一人同时说话。在接收到的样本在时间上不是全部相同长度的情况下,语音和噪声组合器225可以通过重复样本来扩展音频样本,直到达到所需的时间长度。例如,如果一个语音音频样本是“呼叫妈妈”,而另一个语音样本是“我可以为明天晚上预留”,则语音和噪声组合器225可以连接“呼叫妈妈”的多个样本以达到“我可以为明天晚上预留”的长度。在语音和噪声组合器225组合多个语音音频文件的情况下,语音和噪声组合器225输出添加了噪声的组合语音音频和未添加噪声的组合语音音频。
信号强度测量器230计算包括在每个组合的语音和噪声样本中的各个语音音频样本的信号强度以及包括在每个组合的语音和噪声样本中的各个噪声样本的信号强度。在一些实施方式中,信号强度测量器230计算每个样本在特定时间段的语音音频信号强度和噪声信号强度。例如,信号强度测量器230可以计算在1秒期间,3秒期间或另一时间段的语音音频信号强度和噪声信号强度。如果样本中剩余音频,则强度测量器230可以计算额外的信号强度。
在一些实施方式中,信号强度测量器230计算每个样本在不同频带的语音音频信号强度和噪声信号强度。例如,信号强度测量器230可以计算各种一百赫兹频带,一百二十五赫兹频带,或另一尺寸或另一类型频带中的每一个的语音音频信号强度和噪声信号强度。
在一些实施方式中,信号强度测量器230计算组合语音音频信号的语音音频信号强度。在这种情况下,信号强度测量器230以与上述类似的方式计算组合的语音音频信号的信号强度。在一些实施方式中,信号强度测量器230计算组合噪声信号的噪声信号强度。在这种情况下,信号强度测量器230以与上述类似的方式计算组合噪声信号的信号强度。
模型训练器235可以使用机器学习来训练模型。模型训练器235可以训练模型以接收包括语音和噪声的音频样本,并输出音频样本中包括的语音的语音信号强度值和音频样本中包括的噪声的噪声信号强度值。为了训练该模型,模型训练器235使用从语音和噪声组合器225接收的音频样本,该音频样本包括语音和噪声,并标记有语音信号强度值和噪声信号强度值。训练可以包括迭代过程,其中模型训练器235将示例音频数据作为模型的输入,接收模型的输出,并且将模型输出与示例音频数据的标签(例如,表示要预测的模型的目标输出的标记的强度值)进行比较。基于模型的输出和示例的标签之间的差异,模型训练器235调整模型的参数。例如,如果模型具有神经网络结构,则模型训练器235可以使用反向传播,随机梯度下降或另一训练算法来更新模型的权重或其它参数的值,使得模型的估计更接近于标记的值。
在一些实施方式中,信号强度标记包括音频样本中的每个频带的语音信号强度值和噪声信号强度值。在这种情况下,模型训练器235训练模型,以便在接收到音频数据时为每个频带生成语音信号强度值和噪声信号强度。频带的大小可以是一百赫兹,一百二十五赫兹,或另一个类似的大小。
在一些实施方式中,模型训练器235训练每个频带的模型。在这种情况下,模型训练器235接收音频样本和音频样本中不同频带的语音信号强度值以及噪声信号强度值。模型训练器235使用音频样本和相应的语音信号强度值以及相应的噪声信号强度值来训练每个模型。例如,模型训练器235可以训练2.1-2.2khz频带的模型。模型训练器235可以使用音频样本和每个音频样本中2.1-2.2khz频带的语音信号强度值以及噪声信号强度值。另外地或可选地,模型训练器235使用针对每个频带的滤波后的音频样本以及针对该频带的语音信号强度值和噪声信号强度值来训练每个模型。例如,模型训练器235对音频样本进行滤波以隔离2.1-2.2khz频带。模型训练器235使用滤波后的音频样本和用于2.1-2.2khz频带的语音信号强度值和噪声信号强度值来训练2.1-2.2khz频带。在向该模型提供音频输入之前,系统对音频输入应用2.1-2.2khz频带滤波器。
模型训练器235将训练后的模型存储在语音和噪声估计模型240中。语音和噪声估计模型240中的每一模型指示其是否被配置为估计整个音频样本或特定频带的语音和噪声水平。另外,语音和噪声估计模型240中的每个模型可以指示在向模型提供音频之前是否应该对音频应用任何滤波。例如,2.1-2.2khz频带可以指示在应用模型之前使用2.1-2.2khz频带滤波器对音频进行滤波。
可以使用各种类型的模型体系结构。可以被训练来估计语音和噪声水平和/或状态(例如,在语音状态,噪声状态,静音状态和不确定状态之间的估计)的机器学习模型的示例包括:神经网络,分类器,支持向量机,回归模型,强化学习模型,聚类模型,决策树,随机森林模型,遗传算法,贝叶斯模型和高斯混合模型。不同类型的模型可以一起用作整体或用于进行不同类型的预测。也可以使用其它类型的模型,例如统计模型和基于规则的模型。
图3是用于将语音水平估计应用到由音频会议系统接收的音频的示例过程300的流程图。通常,过程300在音频会议期间通过几个不同的麦克风接收音频数据。该过程确定通过每个麦克风接收的音频的信号水平和噪声水平,并选择麦克风用于发送到另一个音频会议系统。过程300将被描述为由包括一个或多个计算机的计算机系统执行,例如,图1的系统100和/或图2的系统200。
该系统通过第一音频通道接收第一音频数据(310)。该系统可以是在音频会议期间与另一系统或音频会议设备连接的音频会议设备。在一些实施方式中,该系统包括多个麦克风,并且通过第一麦克风接收第一音频数据。例如,用户可以说,“开始今天的会议”直接进入第一麦克风。
系统在音频会议期间将第一音频数据发送到连接到系统的另一系统(320)。其他系统可以通过扬声器输出第一音频数据。例如,扬声器可以输出“开始今天的会议”。
在接收和发送第一音频数据的同时,系统通过第二音频通道接收第二音频数据(330)。该系统可以通过第二麦克风接收第二音频。例如,另一个用户可以说,“谢谢,我们将从每个办公室的更新开始”。另一个用户可以坐在第一麦克风和第二麦克风附近。在一些实施方式中,第一音频通道和第二音频通道是例如来自多个麦克风的多个波束形成的信号的组合。
在接收和发送第一音频数据的同时,系统通过提供第一音频数据作为模型的第一输入来确定第一音频数据的第一语音音频能量水平和第一音频数据的第一噪声能量水平,该模型被训练以确定给定音频数据的语音音频能量水平和给定音频数据的噪声能量水平(340)。在一些实施方式中,当系统接收第一音频数据时,系统提供第一音频数据作为模型的输入。该模型可以指示第一音频数据的第一语音音频能量水平和第一音频数据的第一噪声能量水平。该系统可以将第一语音音频能量水平与语音能量水平阈值进行比较,并且将第一噪声能量水平与噪声能量水平阈值进行比较。基于该比较,系统可以确定第一音频通道是已建立的扬声器通道。
在接收和发送第一音频数据的同时,系统通过提供第二音频数据作为模型的第二输入来确定第二音频数据的第二语音音频能量水平和第二音频数据的第二噪声能量水平(350)。当系统接收第二音频数据时,系统向模型提供第二音频数据。该模型可以指示第二音频数据的第二语音音频能量水平和第二音频数据的第二噪声能量水平。该系统可以将第二语音音频能量水平与语音能量水平阈值进行比较,并且将第二噪声能量水平与噪声能量水平阈值进行比较。基于比较,系统可以确定第二音频通道也是已建立的扬声器通道。在此期间,系统可以继续将通过第一通道接收的音频数据提供给模型。
在一些实施方式中,系统确定第一音频数据和第二音频数据中的每个频带的语音音频能量水平和噪声能量水平。例如,系统可以确定第一音频数据和第二音频数据中的每一百赫兹频带的语音音频能量水平和噪声能量水平。
在接收和发送第一音频数据的同时,并且基于第一语音音频能量水平、第一噪声能量水平、第二语音音频能量水平、第二噪声能量水平,系统确定是切换到发送第二音频数据还是继续发送第一音频数据(360)。在一些实施方式中,系统更新状态机的状态。状态机的不同状态可能是语音,噪声,静音和不确定。系统可以根据第一语音音频能量水平,第一噪声能量水平,第二语音音频能量水平和第二噪声能量水平,将状态机切换到不同的状态或维持当前状态。系统可以根据状态确定是切换到发送第二音频数据还是继续发送第一音频数据。如果状态是噪声,静音或不确定状态,则如果第一音频通道是已建立的扬声器通道,则系统将继续发送第一音频数据。如果状态是语音状态,则系统选择具有最高语音水平的音频通道。
基于确定是切换到发送第二音频数据还是继续发送第一音频数据,系统发送第一音频数据或第二音频数据(370)。在一些实施方式中,系统发送第一音频数据。在一些实施方式中,系统发送第二音频数据。在一些实施方式中,系统混合第一音频数据和第二音频数据并发送混合的音频数据。根据配置,系统可以将音频数据发送到各种不同设备或系统中的任何一个。例如,在呼叫或视频会议期间,系统可以通过通信网络(例如,无线网络,有线网络,蜂窝网络,卫星网络,局域网,广域网,因特网等中的一个或多个)向呼叫或视频会议中的参与者的设备发送音频数据。这些设备可以是例如会议系统,计算机,移动设备等,它们可以基于所发送的音频数据来接收和播放音频。作为另一个例子,系统可以通过通信网络将音频数据发送到管理或支持呼叫或视频会议的服务器系统或其它系统。然后,服务器系统或其它系统可以将音频数据转发或流式传输到参与呼叫或视频会议的其它设备。
在一些实施方式中,系统使用语音音频样本和噪声样本来训练模型。系统通过组合音频样本和噪声样本来产生训练样本。该系统还确定每个噪声样本的噪声能量水平和每个语音音频样本的语音音频能量水平。系统使用机器学习来训练使用组合的语音和噪声样本的模型、基础(underlying)语音音频样本的语音音频能量水平、以及基础噪声样本的噪声能量水平。
图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】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除