使用神经网络的说话人识别/定位的制作方法
背景技术:
说话人识别技术可以包括通过分析人的语音的特性来识别人的说话人识别(id)系统。在一些例子中,声源定位(ssl)系统也可以用于定位活动说话人。说话人识别系统和ssl系统都可以用于实现说话人区分,或者将多人对话的音频流划分为同质片段,其中同质片段的每个片段中只有一个说话人处于活动状态。
技术实现要素:
本文公开了与利用神经网络进行说话人识别有关的各种例子。例如,一个公开的示例提供了一种利用联合说话人定位/说话人识别神经网络的计算设备,该神经网络使用来自多通道音频信号的幅度特征和相位信息特征进行训练。在运行时,联合说话人定位/说话人识别神经网络可以接收用户话音的多通道音频信号,并且可以利用信号中的幅度特征和相位信息特征来生成包含说话人识别特性和位置特性的用户嵌入(userembedding)。
可以将用户嵌入与从话音中提取的多个注册嵌入进行比较,每个话音都与对应的人的身份相关联。至少基于该比较,可以使用户与这些人之一的身份匹配,并且可以输出人的身份并将其用于各种目的和功能。在一些例子中,还可以确定并输出用户的角度取向。
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是使用该概括部分来限制本发明的保护范围。此外,本发明并不限于解决本公开内容的任何部分中陈述的任何或所有缺点。
附图说明
图1是根据本公开内容的示例,用于使用联合说话人定位/说话人识别神经网络来识别和定位用户语音的用户计算设备的示意图。
图2是根据本公开内容的示例,进入联合说话人定位/说话人识别神经网络的输入和从联合说话人定位/说话人识别神经网络的输出的示意图。
图3是根据本公开内容的示例,利用联合说话人定位/说话人识别神经网络的不同阶段的示意图。
图4是根据本公开内容的示例的联合说话人定位/说话人识别神经网络的简化示意图。
图5是根据本公开内容的示例,包括用于识别和定位用户的语音的用户计算设备的房间的示意图。
图6是根据本公开内容的示例,来自处理会话的联合说话人定位/说话人识别神经网络的输出的示意图。
图7是根据本公开内容的示例,使用联合说话人定位/说话人识别神经网络来更新说话人简档的示意图。
图8a和8b根据本公开内容的示例,示出了用于图示使用联合说话人定位/说话人识别神经网络的示例方法的流程图。
图9是根据本公开内容的示例的示例性计算系统的示意图。
具体实施方式
说话人识别和定位系统可以用于多种多样的应用中。在一些例子中,说话人识别可以用于识别正在说话的人(例如,说话人识别)。示例性应用程序包括法医调查,其可以将一个或多个样本话音与一组注册说话人的候选话音进行比较。在这些例子中,说话人识别技术可以确定样本话音是否与和已知身份相关联的候选话音相匹配。可以使用诸如ssl之类的说话人定位技术,相对于诸如客厅或会议室之类的物理环境中的一个或多个麦克风来定位活动说话人。
在一些情况下,两个或两个以上的人可能进行对话。在这些场景中,说话人区分系统可以确定在对话或会议的任何情况下谁在讲话。为了实现此目的,该系统可以将多人对话的音频流划分为同质的片段,在同质片段的每个片段中,只有单个说话人处于活动状态。然后,可以基于该人独特的声音品质中发现的特性来识别每个人的讲话。
说话人识别和ssl系统都有其局限性。例如,当两个说话人具有相似的声音特性时,说话人识别系统可能无法准确地确定说话人变化的边界或者无法准确地识别不同的片段。另一方面,当两个说话人彼此靠近坐着时,ssl系统可能无法确定两个说话人之间的空间位置差。另外,当用音频信号幅度数据(例如,logmel滤波器组)训练说话人识别系统时,它无法访问说话人的空间信息。因此,仅通过使用说话人特性信息来进行说话人识别系统的确定。同样,当使用说话人空间信息(如广义互相关(gcc)和转向响应功率(srp)函数)来训练ssl系统时,无法访问说话人的声音特性。
如下面更详细地描述的,本公开内容的例子提供了利用联合说话人定位/说话人识别神经网络来增强说话人识别和说话人位置结果二者的计算设备和方法。通过使用说话人声音特性和说话人空间信息训练该联合模型,系统能够利用这两种类型的信息来提供更准确和有用的说话人识别和位置结果。另外并且如下面提供的用例示例中所描述的,本公开内容提供的优点可以用于增强各种用户设备和体验,例如智能助理设备、音频和视频会议系统、基于音频的监测系统以及各种物联网(iot)设备。
现在将提供使用利用一个或多个联合说话人定位/说话人识别神经网络的用户计算设备来执行说话人识别和定位的例子。如下面讨论的用例中所描述的,可以从包括说出的话音的多通道音频信号中提取幅值特征(如logmel滤波器组)和相位信息特征(如gcc和srp特征)。将这些特征输入到一个或多个联合说话人定位/说话人识别神经网络。该联合说话人定位/说话人识别神经网络包括批输入层和深度架构,该批输入层和深度架构通过多个层来处理幅度和相位信息特征,以产生多个说话人特征的输出。在一些例子中,联合说话人定位/说话人识别神经网络可以包括前馈网络,例如卷积神经网络(cnn)。在其它例子中,可以结合本公开内容来利用一种或多种其它类型或类别的人工神经网络。例如,可以利用一个或多个递归神经网络(rnn)。
在本公开内容的一个潜在优点中,使用来自训练和/或注册语音的幅度和相位信息特征,来训练联合说话人定位/说话人识别神经网络。在各种应用中,说话人识别程序可以利用来自联合说话人定位/说话人识别神经网络的输出,来执行说话人识别和/或确定说话人位置。
现在转到图1,该图根据本公开内容的示例,提供了包括说话人识别/定位引擎14的用户计算设备10的示意图。如下面更详细解释的,在执行说话人识别任务时,说话人识别/定位引擎14可以训练和利用一个或多个联合说话人定位/说话人识别神经网络34。说话人识别/定位引擎14可以存储在用户计算设备10的非易失性存储器18中。可以将说话人识别/定位引擎14加载到存储器22中,并且由处理器26执行以实施下面更详细描述的方法和过程中的一种或多种。
非易失性存储器18可以包括由说话人识别/定位引擎14生成或接收的说话人识别/定位数据30。在一些例子中,说话人识别/定位引擎14可以与一个或多个其他说话人识别程序(例如,位于远程服务器44上的说话人定位/识别引擎40)协作,以执行下面更详细描述的方法和过程中的一种或多种。
如图1的例子中所示,用户计算设备10可以包括诸如麦克风阵列48之类的一个或多个音频输入设备或者与之通信耦合。在不同的例子中,麦克风阵列48可以集成到用户计算设备10中,或者可以位于远离客户端计算设备的位置,并且可以经由有线或无线通信与该设备进行通信。麦克风阵列48可以捕获来自用户的音频输入,并提供给音频处理器52以处理成音频数据。例如,麦克风阵列48可以捕获来自用户60的一个或多个话音56。在一些例子中,麦克风阵列48可以利用7个麦克风。在其它例子中,可以利用任何适当数量的麦克风。
在一些例子中,用户计算设备10还可以包括一个或多个其它的输入或输出组件。例如,用户计算设备10的不同例子可以包括一个或多个显示器64、红外、彩色、立体、深度照相机66、光指示器62和/或投影仪68。
在不同的例子中,用户计算设备10可以采用多种形式。在一些例子中,用户计算设备10可以采取能够放置在家庭或工作环境中的独立设备的形式。例如,独立设备可以包括智能个人助理程序或者与其通信耦合,并且可以使用户能够通过语音命令与助理程序进行交互。例如,用户可以通过对独立设备说出命令,来控制音乐播放器应用程序,与个人助理应用程序交互,请求信息,以及执行其它操作。在其它例子中,用户计算设备10可以采取音频或音频/视频会议设备、台式计算机、膝上型计算机、平板计算机、移动计算机、智能手机、机顶设备、游戏机、独立显示器或者任何其它类型的适当计算设备。在一些例子中,用户计算设备10可以与其它设备、组件、车辆、建筑物或其它对象嵌入或包括在一起,以使得能够在设备之间收集和交换数据。
在一些例子中,用户计算设备10可以使用有线连接与一个或多个其它计算设备可操作地连接,或者可以采用经由wifi、蓝牙或任何其它适当的无线通信协议的无线连接。如图1中所示,这些其它计算设备可以包括服务器计算设备44。例如,可以经由网络70通信地耦合用户计算设备10和服务器计算设备44。网络70可以采用局域网(lan)、广域网(wan)、有线网络、无线网络、个域网或者其组合的形式,并且可以包括互联网。
在一些例子中,用户计算设备10可以通过将说话人识别和/或位置数据传输到另一设备,将说话人识别和定位任务卸载到具有更鲁棒能力的另一个设备。在一些用例示例中,用户计算设备可以经由网络,与远程计算设备上的一个或多个基于云的服务进行通信。例如,用户计算设备10可以不包括说话人定位/识别引擎14,并且可以将说话人识别/定位任务卸载到服务器44。下面参考图9更详细地描述关于用户计算设备10和服务器计算设备44的组件和计算方面的其它细节。
如下面的用例示例中所描述的,说话人定位/识别引擎14可以利用来自联合说话人定位/说话人识别神经网络34的输出,来执行各种说话人识别和定位功能。现在参照图2和图3,示出了联合说话人定位/说话人识别神经网络34的例子。如上所述,可以从发出的话音的多通道音频信号中提取幅度(振幅)特征100(例如,logmel滤波器组200)和相位信息特征110(例如,gcc特征210和srp特征220),并输入到联合说话人定位/说话人识别神经网络34中。
幅度特征100和相位信息特征110可以包括多维向量。在一个例子中,logmel滤波器组200可以通过100维向量表示,并且gcc特征210也可以通过100维向量来表示。可以对这两个多维向量进行组合以形成200维向量,该200维向量馈送到联合说话人定位/说话人识别神经网络34。应当理解的是,在其它例子中,可以利用许多不同大小的多维向量。在不同的例子中,嵌入在联合说话人定位/说话人识别神经网络34中的特征选择和分类功能可以输出具有不同数量的维度的向量。如图4中所示,联合说话人定位/说话人识别神经网络34通过多个层来处理幅度特征100和相位信息特征110,以产生下面所描述的多个说话人识别和位置特性。
参考图3,在离线训练阶段,多通道音频信号230以及其提取的幅度和相位信息特征可以用于联合训练联合说话人定位/说话人识别神经网络34。可以利用用于训练神经网络的任何适当技术,例如使用反向传播和delta规则的变体。如上所述,通过用说话人声音特性和说话人空间信息来训练神经网络,该系统能够利用这两种类型的信息来提供更准确和有用的说话人识别和位置结果。
类似地,在在线注册阶段,可以继续对联合说话人定位/说话人识别神经网络34进行训练,并且可以生成并且逐渐增强一个或多个说话人简档。再次参考图1,在注册阶段,说话人识别/定位引擎14可以接收由用户计算设备10的用户和其他人说出的注册话音的多通道音频信号。每个注册话音可以包括训练幅度特征和训练阶段信息特征。在该例子中,用户60最初可以在注册阶段期间,说出一个或多个用户注册话音74。在一些例子中,用户60可以说一个或多个预定的单词或短语。在其它例子中,可以接收用户60的任何单词或词语的自由形式发音。类似地,在一些例子中,用户计算设备10可以接收来自一个或多个其他人78的其它注册话音76的音频信号。
对于每个注册话音74、76,说出相应注册话音的注册人的身份与该话音相关联。例如,可以针对每个注册话音,将注册人身份的元数据与注册嵌入82一起存储。如上所述,注册话音74、76可以用于训练说话人识别/定位引擎14的联合说话人定位/说话人识别神经网络34。以这种方式,可以生成代表每个人的语音的模型并且包括相对于设备10的位置信息的注册嵌入82。这种注册嵌入82可以本地存储在用户计算设备10上。如下面更详细地描述的,可以使用注册嵌入82来为设备的不同用户开发说话人简档86。
再次参考图3,并且在运行时或“在线识别”阶段,由联合说话人定位/说话人识别神经网络34处理来自用户话音56的多通道音频信号250,以生成包括说话人识别特性和说话人位置特性。将用户嵌入与从分别与对应的注册人60、78的身份相关联的注册话音中提取的注册嵌入82进行比较。至少基于这些比较,将用户与注册人之一的身份进行匹配,并输出该用户的身份。
在一些例子中,联合说话人定位/说话人识别神经网络34被配置为利用用户嵌入90的位置特性,来确定用户相对于捕获了该用户说出的话音的多通道音频信号的麦克风阵列的角度方位。参照图5,在一个例子中,三个人在会议室300中,其中,音频会议设备310形式的用户计算设备10在会议室中的桌子314上。音频会议设备310包括具有7个麦克风a-g的麦克风阵列,麦克风a-g捕获并生成7通道音频数据。联合说话人定位/说话人识别神经网络34可以对从麦克风阵列接收的音频数据进行处理和分析,以确定活动说话人在房间300中的估计位置。在一些例子中,音频数据可以用于生成与活动说话人相对于音频会议设备310的估计位置相对应的ssl分布。例如,再次参考图2,可以生成并输出在房间300的2d平面中以1-360度存在的语音的后验概率。
在一些例子中,可以利用基于时间延迟估计(tde)的技术来生成ssl分布。tde利用声音会在略微不同的时间到达不同位置的麦克风的原理。例如,可以使用来自不同麦克风的信号之间的互相关函数来计算延迟。在一些例子中,可以使用不同的加权(例如,最大似然、phat等)来解决噪声和/或混响条件下结果的可靠性和稳定性。以这种方式,可以生成gcc特征210。
以类似的方式,可以利用一种或多种基于波束成形的方法(例如,srp-phat算法),从音频数据中生成srp特征220。
在一个例子中,可以使用来自音频会议设备310的麦克风阵列的音频数据,来生成横跨房间300的x轴方向上的ssl分布。该ssl分布可以包括:指示沿着位于pdf的活动说话人的概率的概率分布函数(pdf)。在一些例子中,可以确定活动说话人沿着与pdf的峰值对应的方位角的估计位置。在一些例子中,可以通过从音频会议设备310朝ssl分布的峰值延伸的向量来定义该方位角,其中向量投影到平行于桌子314表面316的参考平面上。在该例子中,方位角是投影向量和在垂直于视频会议设备310的参考平面中在z轴方向上延伸的参考向量之间的角度。
在一些例子中,联合说话人定位/说话人识别神经网络34可以使用这种估计的位置,来估计活动说话人在房间300中的位置。在一些例子中,联合说话人定位/说话人识别神经网络34可以利用估计的位置,以输出角度方位以及与用户匹配的注册人员的身份。例如并且再次参考图4,对于给定的时间t,联合说话人定位/说话人识别神经网络可以输出说话人位于相对于音频会议设备310的某个角度范围的概率。在本例子中,对于围绕音频会议设备的1-360度之间的每度,联合说话人定位/说话人识别神经网络可以输出活动说话人位于每个度的概率。
如上所述,通过使用幅度特征100和相位信息特征110两者来训练联合说话人定位/说话人识别神经网络34,网络可以利用两种类型的信息来提供更准确和有用的说话人识别和位置结果。在一些例子中,联合说话人定位/说话人识别神经网络34可以使用说出的话音的幅度特征100,来确定说话人相对于捕获了这些说出的话音的麦克风阵列的角度方位。再次参考图5,在一个例子中,用户charlie330可以站在房间300的一个角落中,用户alice340在对角相对的角落中,并且用户bob350可以坐在桌子314边。现在参照图6的例子,说话人定位/识别引擎14可以利用来自联合说话人定位/说话人识别神经网络34的输出,来确定哪个用户在特定时间正在讲话以及说话人相对于音频会议设备310的角度位置。
在该例子中,对多通道音频信号600进行分析以确定用户charlie330在讲话一段时间后休息,然后alice340在讲话较长时间后休息,接着bob350讲话。随着该对话的继续并且每个说话人保持在各个角度位置,联合说话人定位/说话人识别神经网络34学习到将每个说话人的身份与他或她相对于音频会议设备310的角度位置相关联。
在对话的某一时刻,当用户alice340在用户bob讲话之后1/2秒开始讲话时,可以听到来自墙壁304后面的相邻房间的背景噪音。该背景噪声可能影响联合说话人定位/说话人识别神经网络34处理的相位信息特征110,并且可以减小将alice的声音隔离和定位到特定角度位置的可能性。例如,pdf可能具有对应于靠近墙壁304和用户alice340的位置的多个峰值。
在该例子中,联合说话人定位/说话人识别神经网络34可以利用当前音频信号的幅度特征100,以相对较高的概率将说话人识别为用户alice340。另外,通过还检查最近的对话历史并注意到用户alice340和310度的角度位置之间的一致关联性,联合说话人定位/说话人识别神经网络34可以利用通过当前幅度特征确定的说话人id(alice),进一步确定alice在310度的角度方位。以这种方式,即使在单靠相位信息特征不足以准确地确定其位置的情况下,联合说话人定位/说话人识别神经网络34也可以通过利用当前幅度特征来确定alice的位置,来提高说话人定位/说话人识别引擎14和音频会议设备310的性能和准确性。随之而来的是,由联合说话人定位/说话人识别神经网络34提供的这些其它功能还提供了更愉悦和一致的用户交互,以及与利用这种网络的设备的体验。
在一些例子中,联合说话人定位/说话人识别神经网络34可以以协同方式利用幅度特征100和相位信息特征110两者,来确定说话人的位置。例如,在pdf具有多个峰值的情况下,联合说话人定位/说话人识别神经网络34确定用户alice340和310度的角度位置之间的一致关联性,并且310度也对应于pdf的这些峰值之一。因此,联合说话人定位/说话人识别神经网络34可以利用所有这些信息来确定用户alice340位于310度的高概率。以这种方式,并且在本公开内容的另一潜在优点中,联合说话人定位/说话人识别神经网络34可以通过协同地利用幅度和相位信息特征来确定alice的位置,提高说话人定位/说话人识别引擎14和音频会议设备310的性能和准确性。
以类似的方式,在一些例子中,联合说话人定位/说话人识别神经网络34可以利用相位信息特征110来确定用户的身份。在上述对话的某一时刻,当用户bob350在用户charlie完成讲话后1秒开始讲话时,音频会议设备310接收到其它背景噪声。该背景噪声可能与bob的声音混合,以改变联合说话人定位/说话人识别神经网络34处理的幅度特征100,并且可以显著地降低说话人定位/识别引擎14将用户bob350识别为当前说话人的能力。
在该例子中,联合说话人定位/说话人识别神经网络34可以利用当前音频信号的相位信息特征110,以相对较高的概率将人类语音的来源定位在29度的角度方位上。有利地,通过进一步检查最近的对话历史并且注意到用户bob350和29度的角度位置之间的一致关联性,联合说话人定位/说话人识别神经网络34可以利用通过当前相位信息特征所确定的角度方位,将说话人的身份确定为用户bob350。用此方式,说话人定位/说话人识别神经网络34以协同的方式利用幅度特征100和相位信息特征110两者来确定说话人的身份。因此,在该另外的方面,联合说话人定位/说话人识别神经网络34使音频会议设备310能够与利用这种网络的设备一起提供更愉悦和一致的用户交互和体验。
在上面的例子中,可以通过各种不同的用户计算设备,以各种方式来利用当前说话人的身份和相对于接收音频的麦克风阵列的位置的输出。例如,如本文所描述的利用联合说话人定位/说话人识别神经网络34的智能助理设备可以被配置为识别说出的关键词或关键短语,并确定说出关键词或短语的人的身份以及其相对于该设备的位置。一旦识别出关键字,智能助理设备可以被配置为激活一个或多个功能(例如,更健壮的语音识别功能)。智能助理设备还可以被配置为当接收到没有关键词开头的人类语音时,避免激活这些功能。
在一些例子中,本文所描述的联合说话人定位/说话人识别神经网络34可以用于实现设备的关键词识别规则的一个或多个例外,其中这些规则提供与该设备的更自然和用户友好的体验。例如,设备可以利用联合说话人定位/说话人识别神经网络34,来识别和定位说出关键词并随后向该设备发出请求的第一用户。在该第一话音之后,可以接收到不是以关键词开头的后续语音。如上所述,联合说话人定位/说话人识别神经网络34可以将第一用户识别为后续话音的说话人。至少基于将第一用户识别为说话人,并且尽管没有接收到关键词,该设备仍可以激活通常与关键词的接收相关联的一个或多个功能。有利地,以这种方式,联合说话人定位/说话人识别神经网络34可以使智能助理设备能够向用户提供更自然和用户友好的交互和协助。
该设备还可以确定说出后续话音时的第一用户的位置与说出第一话音的第一用户的位置没有改变。在一些例子中,该设备还可以基于确定第一用户的位置没有发生改变,来激活通常与关键词的接收相关联的一个或多个功能。
现在参考图7,在一些例子中,联合说话人定位/说话人识别神经网络34可以被配置为利用用户嵌入来增强用户的说话人简档。在一些例子中,对于用户每次说话的时间t,说话人特性vector_t将包含位置信息。在构造说话人简档86时,说话人定位/说话人识别神经网络34可以被配置为对于与所接收的音频相关联的位置信息进行平均。例如,在注册过程中,说话人可以在相对于接收麦克风阵列的不同位置,说出注册话音。通过组合/平均这些vector_t特性,可以独立于说话人在哪里说话来生成说话人的更完整的声纹。换句话说,生成的向量提取所有信息(语音指纹和位置),并且联合说话人定位/说话人识别神经网络34选择相关信息以进行说话人识别和位置预测。
再次参照图2和图7,联合说话人定位/说话人识别神经网络34还可以从多通道音频信号中确定语音活动检测(vad)特性。在一些例子中,在用户嵌入进一步包括vad特性的情况下,说话人定位/识别引擎14可以确定vad特性是否指示人的语音。在vad特性未指示人类语音的情况下,说话人定位/识别引擎14可以避免利用该用户嵌入来增强说话人简档。以类似的方式,确定vad特性未指示人类语音,也可以用于管理不同用户计算设备的各种其它功能。
类似地,联合说话人定位/说话人识别神经网络34也可以从多通道音频信号中确定语音重叠(overlap)特性。在一些例子中,在用户嵌入包括重叠特性的情况下,联合说话人定位/说话人识别神经网络34可以确定重叠特性是否指示音频数据包含同时讲话的两个或更多人。在重叠特性指示两个或更多个语音重叠的情况下,则联合说话人定位/识别引擎14可以避免利用该用户嵌入来增强说话人简档。以类似的方式,确定重叠特性指示:多个语音重叠也可以用于管理不同用户计算设备的各种其它功能。
在一些用例示例中,不同的用户计算设备10可以利用联合说话人定位/识别引擎14的一个或多个特征来记录并生成多个人之间的对话的转录。例如,在教室设置中,用户计算设备10可以识别老师和不同的学生以生成课堂讨论的书面记录,其中该书面讨论包括指示对话的每个部分的说话人的身份的标记。
在一些例子中,用户计算设备10可以使用本文所描述的联合说话人定位/识别引擎14的各方面,来跟踪和跟随说话人的改变的位置。例如,具有智能助理设备形式的用户计算设备10可以包括可移动的相机或显示器,该相机或显示器可以指向讲话的人的位置。使用由联合说话人定位/识别引擎14生成的位置信息,当用户相对于设备的位置改变时,照相机和/或显示器可以跟随用户。
在仅跟踪说话人的位置(而不跟踪说话人的身份)的一些用例中,可能不需要来自说话人简档的信息。例如,联合说话人定位/识别引擎14在时刻t-1知道从10度的角度接收到声音,而在时刻t,系统从11度的角度检测到连续的声音,并且这两个声音是来自同一个人(通过比较特性vector_t确定),则系统可以确定这两个声音都来自同一说话人,从而跟踪该说话人。
在多个说话人之间的对话的一些例子中,本文所描述的联合说话人定位/说话人识别神经网络34可以用于检测讲话的人是否存在变化,而无需利用注册信息。例如,在具有多个参与者的会议中,音频会议设备可以从多个说话人接收包含话音的会话的音频信号。在这种情况下,联合说话人定位/说话人识别神经网络34可以连续地分析信号,并利用幅度特征100和相位信息特征110两者来检测说话人声音特性的变化和当前说话人的位置的变化。使用该信息,并且在不利用来自这些说话人的任何预先注册的音频数据的情况下,联合说话人定位/说话人识别神经网络34可以确定说话人何时发生变化。例如,联合说话人定位/说话人识别神经网络34可以在不利用来自注册话音的信息的情况下,确定来自第一说话人的第一讲话和来自第二说话人的第二讲话之间的边界。
图8a和8b根据本公开内容的例子,示出了用于使用联合说话人定位/说话人识别神经网络的示例方法800。在一些例子中,用户计算设备10和/或音频会议设备310可以执行方法800。参考本文中所描述的以及图1-7和图9中所示的软件和硬件组件,来提供方法800的以下描述。应当理解的是,也可以使用其它适当的硬件和软件组件,在其它上下文中执行方法800。
参照图8a,在804处,方法800可以包括:接收用户说出的话音的多通道音频信号。在808处,方法800可以包括:从信号中提取幅度特征和相位信息特征。在812处,方法800可以包括:将幅度特征和相位信息特征输入到联合说话人定位/说话人识别神经网络中,其中,使用来自多个人的多个话音,来训练联合说话人定位/说话人识别神经网络。在816处,方法800可以包括:从联合说话人定位/说话人识别神经网络接收包括说话人识别特性和位置特性的用户嵌入。
在820处,方法800可以包括:将用户嵌入与从多个话音中提取的多个注册嵌入进行比较,其中所述多个话音各自与对应的人的身份相关联。在824处,方法800可以包括:至少基于该比较,使用户与这些人之一的身份相匹配。在828处,方法800可以包括:输出该人的身份。在832处,方法800可以包括:利用用户嵌入的位置特性,来确定用户相对于捕获了该用户说出的话音的多通道音频信号的麦克风阵列的角度方位。在836处,方法800可以包括:输出角度方位以及与该用户相匹配的人的身份。
现在参照图8b,在838处,方法800可以包括:使用幅度特征来确定用户相对于捕获了该用户说出的话音的多通道音频信号的麦克风阵列的角度方位。在840处,方法800可以包括:输出角度方位以及与该用户相匹配的人的身份。在842处,方法800可以包括:利用相位信息特征来确定用户的身份。在844处,方法800可以包括:通过从话音中接收到的训练幅度特征和训练阶段信息特征,来训练联合说话人定位/说话人识别神经网络。
在848处,方法800可以包括:利用用户嵌入来增强用户的说话人简档。在852处,方法800可以包括:其中,用户嵌入还包括语音活动检测(vad)特性,确定vad特性是否指示人类语音。在856处,方法800可以包括:如果vad特性不指示人类语音,则避免利用用户嵌入来增强说话人简档。在860处,方法800可以包括:其中,用户嵌入包括语音重叠特性,确定语音重叠特性是否指示音频信号包含来自两个或更多人的语音。在864处,方法800可以包括:如果语音重叠特性指示音频信号包含来自两个或更多个人的语音,则避免利用用户嵌入来增强说话人简档。
应当理解的是,方法800是作为示例来提供的,并不意味着是限制的。因此,应当理解,相对于图8a和8b所示的方法,方法800可以包括另外的和/或替代的步骤。此外,应当理解,可以以任何适当的顺序来执行方法800。此外,应当理解,在不脱离本公开内容的保护范围的情况下,方法800可以省略一个或多个步骤。
在一些实施例中,本文所描述的方法和过程可以与一个或多个计算设备的计算系统联系在一起。具体而言,可以将这样的方法和过程实现为计算机应用程序或服务、应用程序接口(api)、库和/或其它计算程序产品。
图9示意性地示出了计算系统400的非限制性实施例,该计算系统400实施本文所描述的方法和过程中的一个或多个。以简化形式示出了计算系统400。用户计算设备10、音频会议设备310和服务器计算设备44可以采取计算系统400的形式。
计算系统400包括逻辑处理器404、易失性存储器408和非易失性存储设备412。计算系统400可以可选地包括显示子系统416、输入子系统420、通信子系统424和/或未在图9中显示的其它组件。
逻辑处理器404包括被配置为执行指令的一个或多个物理设备。例如,逻辑处理器可以被配置为执行作为一个或多个应用程序、程序、例行程序、库、对象、组件、数据结构或其它逻辑构造的一部分的指令。可以实现这些指令以执行任务,实现某种数据类型,转换一个或多个组件的状态,达到技术效果,或者以其它方式来获得期望的结果。
逻辑处理器404可以包括被配置为执行软件指令的一个或多个物理处理器(硬件)。另外地或替代地,逻辑处理器可以包括被配置为执行硬件实现的逻辑或固件指令的一个或多个硬件逻辑电路或固件设备。逻辑处理器404的处理器可以是单核或多核的,并且在其上执行的指令可以被配置为进行顺序地、并行地和/或分布式处理。逻辑处理器的各个组件可以可选地分布在两个或多个单独的设备中,这些单独的设备可以远程地放置和/或被配置为进行协同处理。可以通过以云计算配置进行配置的可远程访问的联网计算设备,来虚拟化并执行逻辑处理器404的各方面。在这种情况下,可以在各种不同的机器的不同物理逻辑处理器上运行这些虚拟化方面。
易失性存储器408可以包括包含随机存取存储器的物理设备。逻辑处理器404通常利用易失性存储器408,在软件指令的处理期间临时地存储信息。应当理解的是,当切断易失性存储器的电源时,易失性存储器408通常不继续存储指令。
非易失性存储设备412包括被配置为保存可由逻辑处理器执行以实现本文所描述的方法和过程的指令的一个或多个物理设备。当实施这样的方法和过程时,非易失性存储设备412的状态可以发生变换(例如,用于保存不同的数据)。
非易失性存储设备412可以包括可移动和/或内置的物理设备。非易失性存储设备412可以包括光学存储器(cd、dvd、hd-dvd、蓝光光盘等等)、半导体存储器(rom、eprom、eeprom、闪存等等)和/或磁存储器(硬盘-磁盘驱动器、软盘驱动器、磁带驱动器、mram等等)或者其它大容量存储设备技术。非易失性存储设备412可以包括非易失性、动态、静态、读/写、只读、顺序访问、位置可寻址、文件可寻址和/或内容可寻址的设备。应当理解,非易失性存储设备412被配置为即使当非易失性存储设备断电时,也保存指令。
可以将逻辑处理器404、易失性存储器408和非易失性存储设备412的各方面一起集成到一个或多个硬件逻辑组件中。例如,这种硬件逻辑组件可以包括现场可编程门阵列(fpga)、特定于程序的集成电路和专用集成电路(pasic/asic)、特定于程序的标准产品和特定于应用的标准产品(pssp/assp)、片上系统(soc)、以及复杂可编程逻辑器件(cpld)。
术语“程序”和“引擎”可以用于描述被实现为执行特定功能的计算系统400的方面。在一些情况下,可以使用易失性存储器408的一部分,通过逻辑处理器404执行由非易失性存储设备412保存的指令来实例化程序或引擎。应当理解,可以从同一应用程序、服务、代码块、对象、库、例程、api、功能等等,实例化不同的程序或引擎。同样,可以通过不同的应用程序、服务、代码块、对象、例程、api、函数等等,实例化相同的程序或引擎。术语“程序”和“引擎”涵盖单一一个或一组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等等。
当包括显示子系统416时,显示子系统416可以用于呈现非易失性存储设备412所保存的数据的视觉表示。当本文描述的方法和过程改变了非易失性存储设备所保存的数据,从而改变了非易失性存储设备的状态时,显示子系统416的状态同样可能被变换以可视地表示基础数据的变化。显示子系统416可以包括实际上利用任何类型的技术的一个或多个显示设备。可以在共享外壳中,将这样的显示设备与逻辑处理器404、易失性存储器408和/或非易失性存储设备412进行组合,或者这样的显示设备可以是外围显示设备。
当包括输入子系统420时,输入子系统420可以包括一个或多个输入设备或者与一个或多个输入设备接口。在一些实施例中,输入子系统可以包括选定的自然用户输入(nui)组件或者与选定的自然用户输入(nui)组件接口。此类组件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或板外进行。示例性nui组件可以包括用于语音和/或声音识别的一个或多个麦克风(例如,麦克风阵列48);用于机器视觉和/或手势识别的红外、彩色、立体和/或深度摄像头;用于运动检测、注视检测和/或意图识别的前方跟踪器、眼睛跟踪器、加速度计和/或陀螺仪;用于评估脑活动的电场感应组件和/或任何其它适当的传感器。
当包括通信子系统424时,通信子系统424可以被配置为将计算系统400与一个或多个其它计算设备通信地耦合。通信子系统424可以包括与一种或多种不同的通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可以被配置为经由无线电话网络或者有线或无线局域网或广域网进行通信。在一些实施例中,通信子系统可以计算系统400经由诸如互联网之类的网络,向其它设备发送消息和/或从其它设备接收消息。
以下段落为主题申请的权利要求提供了额外的支持。一个方面提供了一种计算设备,其包括处理器、以及保存可由所述处理器执行以实现以下操作的指令的存储器:接收用户说出的话音的多通道音频信号;从所述信号中提取幅度特征和相位信息特征;将所述幅度特征和所述相位信息特征输入到联合说话人定位/说话人识别神经网络中,其中所述联合说话人定位/说话人识别神经网络是使用来自多个人的多个话音来训练的;从所述联合说话人定位/说话人识别神经网络接收包括说话人识别特性和位置特性的用户嵌入;将所述用户嵌入与从所述多个话音中提取的多个注册嵌入进行比较,其中每个话音与对应的人的身份相关联;至少基于所述比较,使所述用户与其中一人的身份匹配;并输出所述人的所述身份。所述计算设备可以另外地或替代地包括:其中,所述联合说话人定位/说话人识别神经网络被配置为利用所述用户嵌入的所述位置特性,来确定所述用户相对于捕获所述用户说出的所述话音的所述多通道音频信号的麦克风阵列的角度方位,并且,所述指令可被执行以输出所述角度方位以及与所述用户相匹配的所述人的所述身份。所述计算设备可以另外地或替代地包括:其中,所述联合说话人定位/说话人识别神经网络被配置为使用所述幅度特征,来确定所述用户相对于捕获所述用户说出的所述话音的所述多通道音频信号的麦克风阵列的角度方位,并且,所述指令可被执行以输出所述角度方位以及与所述用户相匹配的所述人的所述身份。所述计算设备可以另外地或替代地包括:其中,所述联合说话人定位/说话人识别神经网络利用所述相位信息特征来确定所述用户的所述身份。所述计算设备可以另外地或替代地包括:其中,经由从所述话音接收的训练幅度特征和训练相位信息特征,来训练所述联合说话人定位/说话人识别神经网络。所述计算设备可以另外地或替代地包括:其中,所述联合说话人定位/说话人识别神经网络被配置为利用所述用户嵌入来增强所述用户的说话人简档。所述计算设备可以另外地或替代地包括:其中,所述用户嵌入还包括语音活动检测(vad)特性,并且所述指令可被执行以用于:确定所述vad特性是否表示人声;以及如果所述vad特性没有表示人声,则避免利用所述用户嵌入来增强所述说话人简档。所述计算设备可以另外地或替代地包括:其中,所述用户嵌入包括语音重叠特性,并且所述指令可被执行以用于:确定所述语音重叠特性是否指示所述音频信号包含来自两个或更多人的语音;以及如果所述语音重叠特性指示所述音频信号包含来自两个或更多人的语音,则避免利用所述用户嵌入来增强所述说话人简档。所述计算设备可以另外地或替代地包括:其中,所述计算设备是包括麦克风阵列的独立设备,并且所述麦克风阵列捕获所述话音的所述多通道音频信号。所述计算设备可以另外地或替代地包括:其中,所述计算设备从远程设备接收所述话音的所述多通道音频信号,其中所述远程设备包括捕获所述音频信号的麦克风。所述计算设备可以另外地或替代地包括:其中,所述用户是第一用户,并且所述话音是第一话音,所述多通道音频信号还包括由第二用户说出的第二话音,并且所述指令可被执行以在不利用来自用于训练所述联合说话人定位/说话人识别神经网络的所述多个话音的信息的情况下,确定在所述第一话音和所述第二话音之间的边界。
另一个方面提供了在计算设备上的一种方法,该方法包括:接收用户说出的话音的多通道音频信号;从所述信号中提取幅度特征和相位信息特征;将所述幅度特征和所述相位信息特征输入到联合说话人定位/说话人识别神经网络中,其中所述联合说话人定位/说话人识别神经网络是使用来自多个人的多个话音来训练的;从所述联合说话人定位/说话人识别神经网络接收包括说话人识别特性和位置特性的用户嵌入;将所述用户嵌入与从所述多个话音中提取的多个注册嵌入进行比较,其中每个话音与对应的人的身份相关联;至少基于所述比较,使所述用户与其中一人的身份匹配;并输出所述人的所述身份。所述方法可以另外地或替代地包括:利用所述用户嵌入的所述位置特性,来确定所述用户相对于捕获所述用户说出的所述话音的所述多通道音频信号的麦克风阵列的角度方位;输出所述角度方位以及与所述用户相匹配的所述人的所述身份。所述方法可以另外地或替代地包括:使用所述幅度特征,来确定所述用户相对于捕获所述用户说出的所述话音的所述多通道音频信号的麦克风阵列的角度方位;输出所述角度方位以及与所述用户相匹配的所述人的所述身份。所述方法可以另外地或替代地包括:利用所述相位信息特征来确定所述用户的所述身份。所述方法可以另外地或替代地包括:经由从所述话音接收的训练幅度特征和训练相位信息特征,来训练所述联合说话人定位/说话人识别神经网络。所述方法可以另外地或替代地包括:其中,所述用户嵌入还包括语音活动检测(vad)特性,确定所述vad特性是否表示人声;以及如果所述vad特性没有表示人声,则避免利用所述用户嵌入来增强所述说话人简档。所述方法可以另外地或替代地包括:其中,所述用户嵌入包括语音重叠特性,确定所述语音重叠特性是否指示所述音频信号包含来自两个或更多人的语音;以及如果所述语音重叠特性指示所述音频信号包含来自两个或更多人的语音,则避免利用所述用户嵌入来增强所述说话人简档。
另一个方面提供了一种计算设备,其包括处理器、以及保存可由所述处理器执行以实现以下操作的指令的存储器:接收用户说出的话音的多通道音频信号;从所述信号中提取幅度特征和相位信息特征;将所述幅度特征和所述相位信息特征输入到联合说话人定位/说话人识别神经网络中,其中所述联合说话人定位/说话人识别神经网络是使用来自多个人的多个话音来训练的;从所述联合说话人定位/说话人识别神经网络接收包括说话人识别特性和位置特性的用户嵌入;将所述用户嵌入与从所述多个话音中提取的多个注册嵌入进行比较,其中每个话音与对应的人的身份相关联;至少基于所述比较,使所述用户与其中一人的身份匹配;输出所述人的所述身份;使用所述幅度特征,来确定所述用户相对于捕获所述用户说出的所述话音的所述多通道音频信号的麦克风阵列的角度方位;并输出所述用户的所述角度方位。
应当理解的是,本文所描述的配置和/或方法在本质上是示例性的,并且这些特定的实施例或示例不应被认为是限制性的,这是因为可以进行众多的变化。本文所描述的特定例程或方法可以代表任何数量的处理策略中的一种或多种。这样,可以按照所示出和/或描述的顺序、以其它顺序、并行地执行所示出和/或描述的各种动作,或者进行一些省略。同样地,可以改变上面所描述的处理的顺序。
本公开内容的主题包括本文所公开的各种过程、系统和配置以及其它特征、功能、动作和/或属性的所有新颖且非显而易见的组合和子组合,以及其任何或所有等同物。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除