掌桥专利:专业的专利平台
掌桥专利
首页

文本回声消除

文献发布时间:2023-06-19 18:32:25


文本回声消除

技术领域

本公开涉及文本回声消除。

背景技术

当音频系统捕获和传送音频时,这些外围设备可能受到回声的影响。当从音频播出设备(例如,扬声器)生成的可听信号以声波的形式传播通过声学环境(例如,空气)并且该波的修改版本反射回麦克风时,通常发生回声。另一个形式的回声是电回声,其由于音频播出设备(例如扬声器)和麦克风之间的不期望的电耦合效应而出现。由这样的回声路径生成的信号然后变为被传送作为音频回声。回声可能由于诸如例如外围设备的接近度或外围设备的质量的各种因素而产生。当在一个或多个设备正在施行语音处理的启用语音的环境内发生回声时,回声可能对语音处理的准确性有不利影响;因此影响用户对设备和/或语音系统的体验。随着人们越来越多地使用经受回声的系统进行通信,可以实现回声消除系统和方法以改进被回声影响的语音处理的质量。

发明内容

本公开的一个方面提供了一种计算机实现的方法,当在数据处理硬件上执行时,该方法使得数据处理硬件施行包括以下的操作:接收包括由说话者说出的与合成回放音频的片段重叠的音频的重叠音频信号,以及将与合成回放音频对应的字符序列编码成文本嵌入表示。所述操作还包括针对字符序列中的每个字符,使用文本嵌入表示来生成相应的消除概率,并且使用被配置成接收重叠音频信号和针对字符序列中的每个字符所生成的相应的消除概率作为输入的消除神经网络,通过从重叠音频信号中移除合成回放音频的片段,来生成增强音频信号。每个相应的消除概率指示相应的字符与合成回放音频的片段相关联的似然性,该合成回放音频的片段由说话者说出的音频在重叠音频信号中重叠。

本公开的实施方式可以包括以下可选特征中的一个或多个特征。在一些实施方式中,对字符序列进行编码包括将字符序列中的每个字符编码成相应的字符嵌入以生成字符嵌入序列。在这些实施方式中,重叠音频信号可以包括帧序列,并且针对字符序列中的每个字符生成相应的消除概率可以包括:当对应的字符嵌入与重叠音频信号的帧序列中的一个帧相对应时,使用注意力机制将权重应用于对应的字符嵌入。帧序列中的每个帧与由说话者说出的音频的与合成回放音频的片段重叠的一部分相对应。

文本到语音(TTS)系统可以将字符序列转换成包括合成回放音频的合成语音。可选地,文本嵌入表示可以包括单个固定维文本嵌入向量。在一些示例中,文本编码神经网络的文本编码器将与合成回放音频对应的字符序列编码成文本嵌入表示。在这些示例中,文本编码器可以由被配置成从字符序列生成合成回放音频的TTS系统共享。

在一些实施方式中,操作进一步包括在多个训练示例上训练消除神经网络,其中每个训练示例包括:与非合成语音相对应的真实值音频信号,包括真实值音频信号的、与合成音频信号重叠的训练重叠音频信号,以及合成音频信号的相应文本表示。这里,文本表示包括字符序列。

消除神经网络可以包括具有多个LSTM层的长短期记忆(LSTM)网络。操作可以进一步包括接收合成回放音频的文本表示是可用的指示。

本公开的另一方面提供一种系统,其包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,所述指令在由数据处理硬件执行时使得所述数据处理硬件施行包括以下的操作:接收包括由说话者说出的与合成回放音频的片段重叠的音频的重叠音频信号,以及将与合成回放音频对应的字符序列编码成文本嵌入表示。该操作还包括针对字符序列中的每个字符,使用文本嵌入表示来生成相应的消除概率,并且使用被配置成接收重叠音频信号和针对字符序列中的每个字符所生成的相应的消除概率作为输入的消除神经网络,通过从重叠音频信号中移除合成回放音频的片段,来生成增强音频信号。每个相应的消除概率指示对应的字符与合成回放音频的片段相关联的似然性,该合成回放音频的片段由说话者说出的音频在重叠音频信号中重叠。

该方面可以包括以下可选特征中的一个或多个特征。在一些实施方式中,对字符序列进行编码包括将字符序列中的每个字符编码成对应的字符嵌入以生成字符嵌入序列。在这些实施方式中,重叠音频信号可以包括帧序列,并且针对字符序列中的每个字符生成相应的消除概率可以包括:当对应的字符嵌入与重叠音频信号的帧序列中的一个帧相对应时,使用注意力机制将权重应用于对应的字符嵌入。帧序列中的每个帧与由说话者说出的音频的与合成回放音频的片段重叠的一部分相对应。

文本到语音(TTS)系统可以将字符序列转换成包括合成回放音频的合成语音。可选地,文本嵌入表示可以包括单个固定维文本嵌入向量。在一些示例中,文本编码神经网络的文本编码器将与合成回放音频相对应的字符序列编码成文本嵌入表示。在这些示例中,文本编码器可以由被配置成从字符序列生成合成回放音频的TTS系统共享。

在一些实施方式中,操作进一步包括在多个训练示例上训练消除神经网络,其中每个训练示例包括与非合成语音相对应的真实值音频信号,包括真实值音频信号的、与合成音频信号重叠的训练重叠音频信号,以及合成音频信号的相应文本表示。这里,文本表示包括字符序列。

消除神经网络可以包括具有多个LSTM层的长短期记忆(LSTM)网络。操作可以进一步包括接收合成回放音频的文本表示是可用的指示。

本公开的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求中,其他方面、特征、和优点将是显而易见的。

附图说明

图1是示例语音环境的示意图。

图2A至2C是图1的语音环境的示例文本回声消除系统的示意图。

图2D是与文本到语音系统共享文本编码器的示例文本回声消除系统的示意图。

图2E是不具有注意力机制的示例文本回声消除系统的示意图。

图3是用于训练图1的文本回声消除系统的示例训练过程的示意图。

图4是用于生成增强音频信号以消除回声的方法的操作的示例布置的流程图。

图5是可用于实现本文所述的系统和方法的示例计算设备的示意图。

在各个附图中相同的附图标记指示相同的元件。

具体实施方式

启用语音的设备能够生成合成回放音频,并且将合成回放音频通信给语音环境内的一个或多个用户。这里,合成回放音频是指由启用语音的设备生成的音频,其源自启用语音的设备本身或与启用语音的设备相关联的机器处理系统,而不是启用语音的设备外部的人或其他可听声音的源。一般而言,启用语音的设备使用文本到语音(TTS)系统来生成合成回放音频。TTS系统将文本转换为该文本的音频表示,其中文本的音频表示被建模为类似于使用人类语言的口头话语的音频表示。

当启用语音的设备的音频输出组件(例如,扬声器)输出合成回放音频时,启用语音的设备的音频捕获组件(例如,麦克风)仍然可以主动地捕获语音环境内的可听声音(即,收听)。这意味着从扬声器输出的合成回放音频的某一部分将在音频捕获组件处被接收作为回声的形式。不幸的是,利用来自合成回放音频的该形式的回声,对于在启用语音的设备处实现的语音辨识器,或者在与启用语音的设备通信的远程系统处实现的语音辨识器,可能难以理解在来自合成回放音频的回声期间发生的口头话语。换句话说,启用语音的设备经常生成合成回放音频作为对来自启用语音的设备的用户的查询或命令的响应。例如,用户可以向启用语音的设备询问“what will the weather be like today?(今天天气怎么样?)”。当启用语音的设备接收到来自用户的这个查询或问题时,启用语音的设备或与启用语音的设备通信的远程系统最初必须确定或处理来自用户的口头话语。通过处理口头话语,启用语音的设备能够辨识口头话语与来自用户的(例如,关于天气的)查询相对应,并且作为查询,用户预期来自启用语音的设备的响应。

通常,启用语音的设备使用语音辨识系统(例如,自动语音辨识(ASR)系统)来确定口头话语的场境(context)。语音辨识系统接收音频信号或音频数据,并且生成表示在音频信号中说出的字符、单词和/或句子的文本的转录。然而,当启用语音的设备的语音捕获组件在相同时间接收回声和/或失真作为与由用户向启用语音的设备说出的一个或多个话语的全部或部分时,语音辨识可能变得更加复杂。例如,启用语音的设备的一个或多个麦克风被馈送合成回放音频信号的某一部分作为回声或声学反馈。来自合成回放音频的回声与一个或多个口头话语相组合导致启用语音的设备接收具有重叠语音的音频信号。这里,重叠语音是指音频信号中的其中来自合成回放音频的回声信号与所述一个或多个口头话语在相同时间(即同时或并发地)发生的实例。当该重叠语音发生时,语音辨识系统可能具有处理在启用语音的设备处接收到的音频信号的困难时间。也就是说,重叠语音可能损害语音辨识系统生成用于所述一个或多个口头话语的精确转录的能力。在没有来自语音辨识系统的准确转录的情况下,启用语音的设备可能根本不能准确地响应或响应来自用户的口头话语的查询或命令。可替代地,启用语音的设备可能想要避免使用其试图解释实际是来自合成回放音频信号和/或来自周围环境的回声的可听声音的处理资源。

一种防止由启用语音的设备的音频捕获组件捕获的失真或回声的方法是使用声学回声消除(AEC)系统。在AEC系统中,AEC系统使用音频信号来消除与合成回放音频信号相关的回声。例如,在一些配置中,AEC系统包括从音频信号示例(例如,合成回放音频信号的示例)学习如何从合成回放音频信号消除回声的神经网络。尽管该方法在消除回声方面通常是成功的,但是AEC系统可能不是最资源高效方法。换句话说,为了消除合成回放音频信号的回声,向AEC系统发送将由启用语音的设备的音频输出组件所输出的合成回放音频信号。不幸的是,作为音频文件的合成回放音频信号通常是相对大的文件大小。作为相对大的文件大小,在启用语音的设备的系统之间通信合成回放音频信号引入了潜在性能问题,诸如等待时间。此外,通信和处理相对大的文件大小可以负担启用语音的设备的处理资源。为了加剧这些潜在问题,AEC系统可以远程地驻留在网络服务器上而不是设备上。例如,当语音辨识被作为服务施行时,声学回声消除需要将来自TTS系统的合成回放音频作为侧输入发送到托管语音辨识系统的服务器。在AEC系统和/或TTS系统驻留在远程系统上的情况下,可能需要在启用语音的设备和远程系统之间传送音频文件一次或多次,以使该过程经受潜在的等待时间或其他传输问题。

可以由启用语音的设备采用以移除不想要的回声的另一个方法是滤波系统。在滤波系统中,滤波系统学习说话者的话音特性,使得滤波系统能够滤除与说话者的话音不相关的音频信号的分量。这里,滤波系统需要来自目标说话者的口头话语的音频样本来学习目标说话者的话音特性。例如,滤波系统生成表示目标用户的话音特性的目标说话者的嵌入向量。嵌入向量然后可以随后被用作辅助输入,以移除不属于目标说话者的任何捕获音频信号。然而,利用滤波方法,滤波系统需要生成嵌入向量的附加辅助输入以及学习过程以开发嵌入向量。此外,该方法依赖于目标说话者以提供音频样本和足够数量的音频样本以准确地学习目标说话者的话音特性。尽管也许是有效的,但是这些附加的输入可能使启用语音的设备或启用语音的设备的系统负载附加成本。

为了利用回声消除解决这些关注中的一些,启用语音的设备可以改为使用文本回声消除(TEC)系统。在TEC系统中,代替使用生成回声的合成回放音频信号来消除回声,TEC系统使用文本来消除回声。由于合成回放音频信号源自输入文本(例如,TTS系统的文本),用于生成合成回放音频信号的输入文本可以由TEC系统用来消除由合成回放音频信号产生的回声。这里,通过使用文本,TEC接收文本文件,该文本文件在大小上小于用于音频信号的文件(例如,用于合成回放音频信号的音频文件)。例如,文本文件可以以数据字节的规模而音频文件可以以千字节、兆字节或甚至更大(例如,取决于信号质量)的规模。通过使用在大小上小于音频信号的文本文件,该方法可以减少等待时间,因为音频信号不需要在网络上通信,而同时避免消耗处理时间和/或资源来通信文本文件。此外,TEC可以促进处理资源的有效使用,因为TEC系统可以利用诸如TTS系统的系统已经正在生成的文本来产生合成回放音频信号。因此,通过使用文本,TEC方法可以避免由AEC系统引起的问题,诸如等待时间,或者由滤波系统引起的问题,诸如训练和需要附加输入。

参考图1,在一些实施方式中,语音环境100包括用户10,其将口头话语12通信到启用语音的设备110(也称为设备110或用户设备110)。用户10(即,话语12的说话者)可以说出话语12作为查询或命令,以从设备110请求响应。设备110被配置为捕获来自语音环境100内的一个或多个用户10的声音。这里,音频声音可以是指用户10的口头话语12,其用作设备110的可听查询、命令或由设备110所捕获的可听通信。设备110的启用语音的系统或与设备110相关联的启用语音的系统可以通过回答查询该和/或使该命令被施行来回应针对命令的查询。

这里,设备110捕获用户10的口头话语12的音频信号202(也称为音频数据)。设备110可以和与用户10相关联并且能够接收音频信号202的任何计算设备相对应。用户设备110的一些示例包括,但不限于,移动设备(例如,移动电话、平板电脑、膝上型计算机等)、计算机、可穿戴设备(例如,智能手表)、智能电器、以及物联网(IoT)设备、智能扬声器等。设备110包括数据处理硬件112和与数据处理硬件112通信并且存储指令的存储器硬件114,该指令在由数据处理硬件112执行时使数据处理硬件112施行一个或多个操作。在一些示例中,设备110包括一个或多个应用(即,软件应用),其中每个应用可以利用与设备110相关联的一个或多个语音处理系统140、150、160、200施行应用内的各种功能。例如,设备110包括被配置为将合成回放音频154通信到用户10以辅助用户10进行各种任务的辅助应用。

设备110进一步包括具有用于捕获语音环境100内的口头话语12并且将其转换为电信号的音频捕获设备(例如,麦克风)116和用于通信可听音频信号(例如,来自设备110的合成回放音频154)的语音输出设备(例如,扬声器)118的音频子系统。虽然在所示的示例中,设备110实现单个音频捕获设备116,但是在不脱离本公开的范围的情况下,设备110可以实现音频捕获设备116的阵列,由此阵列中的一个或多个音频捕获设备116可以不物理地驻留在设备110上,而是与音频子系统(例如,设备110的外围设备)通信。例如,设备110可以与车辆信息娱乐系统相对应,其充分利用贯穿车辆定位的麦克风阵列。

此外,设备110被配置为经由网络120与远程系统130通信。远程系统130可以包括远程资源132,诸如远程数据处理硬件134(例如,远程服务器或CPU)和/或远程存储器硬件136(例如,远程数据库或其他存储硬件)。设备110可以利用远程资源132来施行与语音处理和/或合成回放通信相关的各种功能性。例如,设备110被配置为使用语音辨识系统140施行语音辨识,使用TTS系统150施行文本到语音的转换,使用AEC系统160施行声学回声消除,和/或使用TEC系统200施行文本回声消除。这些系统140、150、160、200可以驻留在设备110(称为设备上系统)上或远程驻留(例如,驻留在远程系统130上),但是与设备110通信。在一些示例中,这些系统140、150、160、200中的一些系统驻留在本地或设备上,而其他系统远程地驻留。换句话说,这些系统140、150、160、200中的任何一个可以是本地的或远程的任何组合。例如,当系统140、150、160、200在大小或处理要求相当大时,系统140、150、160、200可以驻留在远程系统130中。然而,当设备110可以支持一个或多个系统140、150、160、200的大小或处理要求时,所述一个或多个系统140、150、160、200可以使用数据处理硬件112和/或存储器硬件114驻留在设备110上。可选地,系统140、150、160、200中的所述一个或多个可以本地/在设备上以及远程地驻留。例如,当在设备110和远程系统130之间到网络120的连接可用时,系统140、150、160、200中的一个或多个可以默认在远程系统130上执行,但是当连接丢失或网络120不可用时,系统140、150、160、200改为在设备110上本地执行。

语音辨识系统140接收音频信号202作为输入,并且将该音频信号转录为转录142作为输出。一般来说,通过将音频信号202转换为转录142,语音辨识系统140允许设备110辨识来自用户10的口头话语12何时对应于查询、命令或某个其他形式的音频通信。转录142是指设备110然后可以用来生成对查询或命令的响应的文本序列。例如,如果用户10向设备110询问“what will the weather be like today(今天天气怎么样)”的问题,则设备110将与问题“what will the weather be like today”相对应的音频信号传递到语音辨识系统140。语音辨识系统140将音频信号转换为包括文本“what will the weather be liketoday?”的转录。然后,设备110可以使用文本或文本的一部分来确定对查询的响应。例如,为了确定当日(即,今天)的天气,设备110传递文本(例如,“what will the weather belike today?”)或者向搜索引擎识别文本的部分(例如,“weather(天气)”和“today(今天)”)。搜索引擎然后可以返回设备110解释的一个或多个搜索结果,以生成用户10的响应。

在一些实施方式中,设备110或与设备110相关联的系统将设备110将向用户10通信的文本152识别为对口头话语12的查询的响应。设备110然后可以使用TTS系统150将文本152转换为对应的合成回放音频154,以便设备110与用户10进行通信(例如,与用户10进行可听通信),作为对口头话语12的查询的响应。换句话说,TTS系统150接收文本152作为输入,并且将文本152转换为合成回放音频154的输出,其中合成回放音频154是定义文本152的可听再现(rendition)的音频信号。在一些示例中,TTS系统150包括将文本152处理为编码格式(例如,文本嵌入)的文本编码器(例如,图2A至2E的文本编码器210)。这里,TTS系统150可以使用经训练的文本到语音模型来从文本152的编码格式生成合成回放音频154。一旦生成,TTS系统150就将合成回放音频154通信到设备110,以允许设备110输出合成回放音频154。例如,设备110在设备110的扬声器118处输出“today is sunny(今天是晴天)”的合成回放音频154。

继续参考图1,当设备110输出合成回放音频154时,合成回放音频154生成由音频捕获设备116所捕获的回声156。不幸的是,除了回声156之外,音频捕获设备116还可以同时从用户10捕获另一个口头话语12。例如,图1描绘了,当设备110输出合成回放音频154时,用户10通过陈述“what about tomorrow(明天怎么样)?”来在口头话语12中向设备110询问更多关于天气。这里,在音频捕获设备116处同时捕获口头话语12和回声156两者,以形成音频信号202。换句话说,音频信号202包括重叠音频信号,其中用户12说出的话语12的某一部分与从设备110的扬声器118输出的合成回放音频154的某一部分重叠。在图1中,在捕获的音频信号202中彼此重叠的话语12的部分和合成回放音频154的部分被示为重叠区域204。对于重叠音频信号202,语音辨识系统140可以具有辨识与音频信号202中的天气询问“whatabout tomorrow”相对应的话语12的问题,因为话语12与合成回放音频154的回声156混合以形成在设备110(例如,在音频捕获设备116)处接收的音频信号202。

为了预防这样的问题,设备110可以在语音辨识系统140处理音频信号202之前将音频信号202通信到TEC系统200。通过在语音辨识系统140之前将音频信号202通信到TEC系统200,TEC系统200被配置为生成增强音频信号206,该增强音频信号206移除合成回放音频154或其某一部分的回声156;有效地消除回声156。也就是说,增强音频信号206是指音频信号202的修改版本,其使得语音辨识系统140能够识别在音频信号202中包含的口头话语12。这里,为了生成增强音频信号206,TEC系统200接收重叠的音频信号202以及与合成回放音频154相对应的文本152。

在一些示例中,设备110包括与TEC系统200相结合的AEC系统160。通过包括两个系统160、200,设备110具有消除回声的能力,而不管文本何时可用于或不可用于消除过程。在一些实施方式中,设备110基于文本表示对于有助于音频信号202的音频的至少一部分可用的指示来确定是否使用AEC系统160。例如,设备110正在播放音乐,该音乐与用户10向设备110说出话语12时在相同时间在音频捕获设备116处生成回声。在该情况下,对于设备110正在输出的音乐不存在文本可用,并且因此设备110识别没有文本可用,并且使用AEC系统160来消除存在于音频捕获设备116处的回声。相反,图1图示了设备110输出合成回放音频154,其中设备110或与设备110相关联的一些系统已经生成了与合成回放音频154相对应的文本152。在该示例中,设备110使用TEC系统200而不是AEC系统160来在音频捕获设备116处消除回声156。这里,设备110选择TEC系统200而不是AEC系统160,因为与AEC系统160处的消除过程中所涉及的较大音频文件大小相比,TEC系统200可能基于TEC系统200处的消除过程中所涉及的较小文本文件大小来更快速地消除/移除回声156。

参考图2A至2D,TEC系统200被配置为接收包括重叠区域204的音频信号202和用于生成合成回放音频154的文本152(也称为文本表示)作为输入。利用这些输入,TEC系统200被配置为通过从重叠区域204内的音频信号202中移除合成回放音频154的至少一个片段来生成增强音频信号206。为了施行这些操作,TEC系统200包括文本编码器210、注意力机制220和消除神经网络230(也称为网络230)的某个组合。文本编码器210可以包括文本编码器神经网络。

文本编码器210被配置成接收与合成回放音频154相对应的文本152,并且将文本152编码成被称为文本嵌入表示212(或简称为文本嵌入212)的编码文本。TEC系统200可以包括其自己的文本编码器210(例如,如图2A所示),或者文本编码器210可以在TEC 200和TTS系统150之间共享(例如,如图2D所示)。由文本编码器210所生成的嵌入是指表示文本152的n维的数学向量,其中每个维度可以与文本的特征或特性(例如,分类变量)相对应。在一些实施方式中,文本编码器210将整个文本152编码成表示合成回放音频152的单个固定维度文本嵌入212。在其他实施方式中,文本编码器210将文本152编码成文本嵌入序列,其中嵌入不是固定长度,而是具有与文本152中的多个字符相对应的长度。例如,文本嵌入212是字符嵌入214、214

参考图2B,文本嵌入212是字符嵌入214的序列,其中文本152的每个字母由二十六维向量表示。换句话说,在这里,向量的每个维度被指派给英语字母表中的字母。在该示例中,文本152“today is sunny”是十四个字符(包括空格),并且基于此,文本编码器210生成文本嵌入212,该文本嵌入212是十四个字符嵌入214的序列。为了说明,文本152中的每个字母的字符嵌入214包括在其在字母表中的位置处的值。例如,字母“T”是英语字母表中的第20个字母,并且用于合成回放音频154的文本152“today is sunny”的字母“T”的字符嵌入214T是其中向量中的第20个维度包括指定字符是“T”的值(例如,示出为“1”)的向量。字母“O”是字母表的第15个字母,并且在字母“O”的字符嵌入的第15个维度包括值一。字母“D”是字母表的第4个字母,并且在字母“D”的字符嵌入的第4个维度包括值一。字母“A”是字母表的第1个字母,并且在字母“A”的字符嵌入的第1个维度包括值一。字母“Y”是字母表的第25个字母,并且在字母“Y”的字符嵌入的第25个维度包括值一。字母“I”是字母表的第9个字母,并且在字母“I”的字符嵌入的第9个维度包括值一。字母“S”是字母表的第19个字母,并且在字母“S”的字符嵌入的第19个维度包括值一。字母“U”是字母表的第21个字母,并且在字母“U”的字符嵌入的第21个维度包括值一。字母“N”是字母表的第14个字母,并且在字母“N”的字符嵌入的第14个维度包括值一。

注意力机制220被配置为接收文本嵌入212(例如,字符嵌入214的序列)并且确定消除概率222,该消除概率222指示和与合成回放音频154相对应的文本152相关联的字符在重叠区域204内的似然性。换句话说,注意力机制220可以为从文本编码器210输出的字符嵌入序列214中的每个字符嵌入214确定对应的消除概率222。利用该消除概率222,网络230可以集中于移除合成回放音频154的部分以生成增强音频信号206。换句话说,注意力机制(例如,注意力机制220)可以与对准模型(例如,位置敏感模型)相对应,该对准模型被配置为使得神经网络(例如,网络230)能够集中于到神经网络(例如,网络230)的输入(例如,音频信号202)的特定分量。这里,注意力机制220将网络230指引到音频信号202内需要回声消除的位置(即,重叠区域204)。通过使用注意力机制220,TEC系统200可以理解合成回放音频154的文本152在音频信号202内在哪里发生的对准。换句话说,当TEC系统200仅接收与合成回放音频154和音频信号202相对应的文本152时,TEC系统200(具体地说是消除神经网络230)不具有任何对于文本152的什么部分与在音频信号202的重叠区域204内发生的合成回放音频154相对应的认知。因此,为了理解来自合成回放音频154的回声156与音频信号202中的语音话语12在哪里混合,TEC系统200可以使用注意力机制220。

在一些示例中,注意力机制220通过步进穿过音频信号202的每个帧F来确定消除概率222。这里,音频信号202包括将音频信号202分成片段的多个帧F,F

其中d

网络230与注意力机制220结合操作以生成增强音频206。在一些实施方式中,网络230接收来自注意力机制220的音频信号202、文本152和/或消除概率222作为输入。利用消除概率222,网络230能够识别来自合成回放音频154的回声156在音频信号202中在哪里应当被消除或移除,以便修改音频信号202以形成增强音频信号206。在一些示例中,网络230是具有多个LSTM层的长短期记忆(LSTM)网络。例如,注意力机制220可以驻留在这些LSTM层中的一个或多个上。

图2E是没有注意力机制220的TEC系统200的示例。换句话说,TEC系统200包括文本编码器210和网络230。这里,文本编码器210生成文本嵌入212,该文本嵌入212是表示与合成回放音频154相对应的整个文本152的单个固定维文本嵌入向量。这里,TEC系统200在网络230处为音频信号202的每个帧F将固定维文本嵌入212与音频信号202重复地级联。通过重复地级联固定维文本嵌入212,TEC系统200通过识别当音频信号202的一个或多个帧F相似于固定维文本嵌入212时在哪里滤除固定维文本嵌入212而类似于滤波系统起作用。尽管该过程产生增强音频信号206,但是该过程缺少由注意力机制220所识别的对准,并且需要连续的处理资源来在网络230处施行级联。

参考图3,在一些配置中,在TEC系统200的实施之前(即,在推断之前),训练过程300训练TEC系统200(例如,注意力机制220和/或网络230)。训练过程300使用多个训练示例302,302a-n训练TEC系统200。训练示例302的每个示例包括与非合成语音(例如,由人类用户说出的真实语音样本)相对应的真实值音频信号310、训练重叠音频信号320和训练文本330。这里,训练重叠音频信号320包括与合成回放音频154(例如,至少在某部分)重叠的真实值音频信号310,并且训练文本330和与真实值音频信号310重叠的合成回放音频154的文本表示相对应。通过使用多个训练示例302,训练过程300教导TEC系统200(例如,注意力机制220和/或网络230)学习如何在推断期间生成由TEC系统200所输出的增强音频信号206。换句话说,训练过程300教导TEC系统200基于训练重叠音频信号320和训练文本330生成真实值音频信号310作为增强音频信号206。

图4是用于生成增强音频信号206以消除回声156的方法400的操作的示例排列的流程图。在操作402,方法400接收包括由说话者10说出的与合成回放音频154的片段重叠的音频(例如,话语12)的重叠音频信号202。在操作404处,方法400将与合成回放音频154相对应的字符序列编码成文本嵌入表示212(可互换地称为‘文本嵌入’212)。针对字符序列中的每个字符,在操作406处,方法400使用文本嵌入表示212来生成相应的消除概率222,该消除概率222指示对应的字符与由说话者10说出的音频(例如,话语12)和重叠音频信号202所重叠的合成回放音频154的片段156(即,表示回声的片段156)相关联的似然性。在操作408处,方法400使用被配置成接收重叠音频信号202和针对字符序列中的每个字符所生成的相应的消除概率222作为输入的消除网络230来生成增强音频信号206。消除网络230通过从重叠音频信号202中移除合成回放音频154的片段来生成增强音频信号206。

图5是可用于实施本文中描述的系统(例如,系统130、140、150、160、200)和方法(例如,方法400)的示例计算设备500的示意图。计算设备500旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。这里示出的各个组件、它们的连接和关系及其功能仅意味着示例性的,而不意味着限制在本文档中描述和/或要求保护的本发明的实施方式。

计算设备500包括处理器510(例如数据处理硬件510)、存储器520(例如存储器硬件520)、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540、以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每一个使用各种总线互连,并且可以适当地安装在公共母板上或以其他方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括在存储器520中或存储设备530上存储的指令,以在诸如与高速接口540耦合的显示器580的、外部输入/输出设备上显示图形用户界面(GUI)的图形信息。在其他实施方式中,可以适当使用多个处理器和/或多个总线以及多个存储器和多个存储器类型。此外,可以连接多个计算设备500,每个设备提供必要操作的部分(例如,作为服务器库、刀片服务器组、或多处理器系统)。

存储器520在计算设备500内非瞬态地存储信息。存储器520可以是计算机可读介质,易失性存储器单元或非易失性存储器单元。非瞬态存储器520可以是基于临时或永久来存储由计算设备500使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非易失性存储器的实例包括但不限于,闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),相变存储器(PCM)以及磁盘或磁带。

存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储设备,或设备阵列,包括存储区域网络或其他配置中的设备。在附加的实施方式中,计算机程序产品被有形地体现在信息载体中。所述计算机程序产品包含指令,所述指令在被执行时施行一个或多个方法,诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器520,存储设备530或处理器510上的存储器。

高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低带宽密集型操作。这样的功能分配仅是示例性的。在一些实施方式中,高速控制器540被耦合到存储器520、显示器580(例如,通过图形处理器或加速器)、以及到高速扩展端口550,其可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器560被耦合到存储设备530和低速扩展端口590。包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口590可以被耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪、或网络设备,诸如交换机或路由器,例如,通过网络适配器。

如图所示,计算设备500可以以多个不同的形式实现。例如,它可以被实现为标准服务器500a或者在一组这样的服务器500a中多次实现为膝上型计算机500b,或者被实现为机架服务器系统500c的一部分。

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

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

本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机施行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来施行功能。过程和逻辑流程也可以由专用逻辑电路系统施行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,适于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于施行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从用于存储数据的一个或多个大容量存储设备——例如磁盘,磁光盘或光盘——接收数据或向其传送数据或两者都有。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充或结合在专用逻辑电路系统中。

为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实现,用于向用户以及可选地向用户可以通过其向计算机提供输入的键盘和例如鼠标或轨迹球的定点设备显示信息。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式来接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从Web浏览器接收的请求向用户的客户端设备上的Web浏览器发送网页。

已经描述了多个实施方式。然而,将理解的是,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

相关技术
  • 回声消除装置、回声消除方法、信号处理芯片及电子设备
  • 回声消除方法、回声消除装置、电子设备和可读介质
技术分类

06120115608051