音频信号处理的制作方法

文档序号:26102439发布日期:2021-07-30 18:13阅读:137来源:国知局
音频信号处理的制作方法

相关申请的交叉引用

本公开要求于2018年12月28日提交的、申请号为16/236,208的美国申请的优先权的权益,其全部内容通过引用并入本文。



背景技术:

在存在环境噪声、背景声音、设备噪声、房间混响等干扰的恶劣声学环境中,可能很难实现讲话者识别。

附图说明

参考附图阐述详细描述。在附图中,附图标记的最左边的数字标识首次出现该附图标记的附图。在不同的附图中使用相同的附图标记表示相似或相同的项或特征。

图1例示了用于音频信号处理的系统的示例框图。

图2例示了卷积神经网络(cnn)的示例配置的表。

图3例示了基于初始(inception)块的cnn的示例框图。

图4例示了基于初始块的cnn的示例配置的表。

图5例示了基于初始块的cnn的层/块的参数表。

图6例示了以时间扩展的方式展开的用于音频信号处理的系统的示例框图。

图7例示了具有跳过连接的话语(utterance)级嵌入提取机制的示例框图。

图8例示了用于音频信号处理的处理的示例流程图。

图9例示了用于音频信号处理的示例系统900。

具体实施方式

本文讨论的系统和方法涉及改进音频信号处理,并且更具体地,涉及改进讲话者识别。

说明书中的术语可以表示如下。讲话者嵌入/表示是指表征通过机器学习系统从大规模语音(speech)数据中学习到的讲话者信息的向量。与文本无关的讲话者识别是指不依赖于特定语音内容的讲话者识别。与文本相关的讲话者识别是指限定所需内容的讲话者识别。cnn是指一种广泛应用于图像/语音识别和视频分析的前馈神经网络。递归神经网络(rnn)是指一种用于描述动态时间行为和模型时间序列信息的神经网络。

图1例示了用于音频信号处理的系统100的示例框图。

系统100可以包括数据准备机制102、段级(segment-level)嵌入提取机制104、话语级嵌入提取机制106和分类/识别机制108。

数据准备机制102可以接收音频/语音信号110,该音频/语音信号110可以是话语/句子形式的时域信号。在口语分析中,话语是最小的语音单位。可以从数据集或真实记录中获得音频/语音信号110,其中不同的讲话者可能在具有噪声干扰的各种环境中讲话。

数据准备机制102可以以预定窗口大小和预定窗口移位来对音频/语音信号110进行帧化,以获得帧序列(sequence)。作为示例,预定窗口大小可以是25ms,并且预定窗口移位可以是10ms。预定窗口大小和预定窗口移位可以根据需要进行调整,并且不限于此。

数据准备机制102可以将音频/语音信号110的帧分组成段序列,各个段具有预定长度。所述段的预定长度(即,预定数量的帧)可以根据需要进行调整。例如,预定长度可以是10个帧、64个帧等。相邻段之间可以存在重叠或不存在重叠,并且可以丢弃音频/语音信号110的尾部(该尾部的长度小于预定长度)。

数据准备机制102可以基于音频/语音信号110的各个帧获得多维特征。例如,滤波器组(未示出)可以用于将音频/语音信号110的帧序列转换成多维特征序列。多维特征可以是但不限于64维(64d)向量。针对段,也可以获得多维特征。例如,如果段包括10个帧,则该段的多维特征将是64×10矩阵。如果段包括64个帧,则该段的多维特征将是64×64矩阵。

上下文中的向量和矩阵的定义是简单的数学定义。n维的向量是元素的有序集合,所述元素也称为分量,其中n是正整数。矩阵是按行和列排列的数字、符号或表达式的阵列。音频/语音信号110可以被视为向量。矩阵可以用于表示段的多维特征,其中矩阵的各个列表示一个帧的多维特征。如果段的矩阵维度是64×10,则这将意味着该段中将存在10个帧,并且各个帧存在64d向量。如果段的矩阵维度是64×64,则这将意味着段中将存在64个帧,并且各个帧将存在64d向量。

数据准备机制102可以对多维特征序列执行归一化,以获得经归一化的帧级特征112的序列。归一化可以是均方差归一化。即,多维特征序列中的各个多维特征可以被归一化为零均值和单位方差。数据准备机制102可以将经归一化的帧级特征112的序列提供至段级嵌入提取机制104。

段级嵌入提取机制104可以基于经归一化的帧级特征112的序列生成段级嵌入/表示114的序列。嵌入/表示可以被认为是对期望信息进行了编码的向量。例如,在包括讲话者识别和验证的讲话者识别中,嵌入/表示可以指对讲话者信息进行了编码的向量。例如,段级嵌入/表示114可以对包括预定数量的帧(诸如10个帧、64个帧等)的段内的讲话者信息进行编码。例如,段级嵌入提取机制104的输入可以是64×10矩阵,而段级嵌入提取机制104的输出可以是64×8矩阵(可以将该64×8矩阵视为512维(512d)向量)。又例如,段级嵌入提取机制104的输入可以是64×64矩阵,而段级嵌入提取机制104的输出可以是512×1矩阵(可以将该512×1矩阵视为512维(512d)向量)。这里使用的数字是为了描述而不是将本发明限制于此。段级嵌入提取机制104可以将段级嵌入/表示114的序列提供至话语级嵌入提取机制106。

段级嵌入提取机制104被设计为开放框架,该开放框架可以并入有任何合适的自适应/学习机制,诸如cnn、包括长短期记忆(lstm)的递归神经网络(rnn)或门控递归单元(gru)rnn的rnn、深/浅多层感知器(mlp)、其任何组合等。人工神经网络的现代设计或改进也可以并入段级嵌入提取机制104中。

话语级嵌入提取机制106可以基于段级嵌入/表示114的序列生成话语级嵌入/表示116。例如,话语级嵌入提取机制106的输入可以是512d向量的序列。话语级嵌入提取机制106可以将512d向量的序列编码成话语级嵌入/表示116,该话语级嵌入/表示116是512d向量。结果,话语级嵌入/表示116可以包含整个话语/句子的讲话者信息。

话语级嵌入提取机制106被设计为开放框架,该开放框架可以并入有任何合适的自适应/学习机制,诸如cnn、rnn、lstmrnn、grurnn、mlp、其任何组合等。可以使用其它合适的技术来减少话语级嵌入提取机制106的参数数量,同时保持相似的性能。人工神经网络的现代设计或改进也可以并入话语级嵌入提取机制106中。

另外地或另选地,可以添加批量归一化机制(未示出),以跨时间维度对段级嵌入/表示114的序列进行归一化。在那种情况下,输入至话语级嵌入提取机制106的段级嵌入/表示114的序列已被归一化。

可以利用任何合适的算法/方法来训练系统100。例如,交叉熵损失可以用于训练系统100。可以联合地或单独地训练段级嵌入提取机制104和话语级嵌入提取机制106。另外地或另选地,可以引入三重态损失(tripletloss)以对经训练的系统100进行再训练,而无需修改系统结构。

在训练后,系统100可以用于各种任务,诸如讲话者识别和验证等。例如,可以将包括来自一个或更多个讲话者的具有噪声干扰的语音的音频信号110输入至系统100。系统100可以以分层的方式(即,从帧级特征112到段级嵌入/表示114再到话语级嵌入/表示116)提取讲话者的嵌入的话语/句子。话语级嵌入提取机制106可以将话语级嵌入/表示116馈送至分类/识别机制108。分类/识别机制108可以通过将话语级嵌入/表示116分类至与讲话者的身份(id)相关联的类别来基于话语级表示从音频信号108中识别一个或更多个讲话者。即,分类/识别机制108可以做出指示音频/语音信号110属于哪个讲话者的判断。

分类/识别机制108被设计为开放框架,该开放架构可以并入有能够处理多类别的任何合适类型的分类器。例如,可以将人工神经网络(ann)、支持向量机(svm)、朴素贝叶斯分类器、其任何组合等并入分类/识别机制108中。

分类/识别机制108可以包括线性层和softmax层(未示出)。softmax函数通常用于基于神经网络的分类器的最后一层。通常在对数损失(或交叉熵)状态下训练这种网络,从而给出多项式逻辑回归的非线性变型。softmax函数的输出可以用于表示分类分布(即,许多不同可能结果上的概率分布)。话语级嵌入提取机制106可以将话语级嵌入/表示116馈送至线性层和softmax层。线性层可以将话语级嵌入/表示116映射至预定维度向量中。例如,如果讲话者的数量是1251,则线性层会将512d向量映射至1251d向量。在通过softmax层后,1251d向量的各个元素可以具有对应于与类别相关联的概率的值。可以选择具有最大值的元素来确定输入音频信号属于哪个类别。各个类别可以与讲话者的id相关联。作为示例,如果1251d向量的第r个元素是最大值,则输入话语/句子将被确定为属于第r类(第r类可以对应于第r个讲话者的id),其中1≤r≤1251。即,输入话语/句子属于第r个讲话者。本文讨论的数字和符号是出于描述的目的而使用,而不是将本申请限制于此。

系统100的鲁棒性可以通过利用真实世界的数据进行训练来实现,其中不同的讲话者可能在具有噪声干扰的各种环境中讲话。例如,训练的代码可以基于任何合适的算法/方法,诸如开源深度学习框架等。训练数据可以是来自可公开访问的资源(诸如在线音频/视频资料)的公共数据集。在分类阶段期间,可以使用与已知模式有关的信息来训练嵌入/表示向量数据。可以基于识别准确度来评估分类机制的性能。

另外地或另选地,语音活动检测(vad)机制(未示出)可以被添加至系统100中。作为示例,vad机制可以布置在数据准备机制102之前,并且用于移除音频/语音信号110的静默部分。针对几乎没有静默的音频/语音信号,不需要添加vad机制。然而,针对在真实世界环境中记录的音频/语音信号,vad机制可能是有用的。作为另一示例,vad机制可以被并入数据准备机制102中,并且用于移除表示静默部分的帧。

系统100结合了段级嵌入提取机制104和话语级嵌入提取机制106的特性。系统100使用段级嵌入提取机制104来获得时频特征的良好鲁棒性并获得针对不利的声学环境(诸如噪声)的鲁棒性。同时,系统100还使用话语级嵌入提取机制106来对时间序列进行建模并且非线性地组合话语/句子的段级嵌入/表示114的序列,以获得更好的识别性能。另一方面,话语级嵌入提取机制106的使用允许系统100处理具有可变长度的音频/语音信号,而无需附加的设计或附加的处理。

图2例示了cnn的示例配置的表200。

作为示例,段级嵌入提取机制104可以被实现为cnn。cnn的配置至少部分地取决于输入至cnn的矩阵的维度。例如,音频/语音信号的段的长度是10帧,并且输入至cnn的矩阵的维度是64×10。cnn可以采用64×10矩阵(帧级特征)并输出512d向量(段级嵌入/表示)。

参考图2,cnn可以包括第一卷积层(conv1)、第一最大池化层(maxpool1)、第二卷积层(conv2)、第二最大池化层(maxpool1)和第三卷积层(conv3)。针对各个层,给出了诸如内核大小、跨度、填充、滤波器的数量和数据大小的参数,其中数据大小表示在处理所述层后由该层输出的向量的维度。

针对第一卷积层(conv1),内核大小可以是3×3,跨度可以是(1,1),填充可以是1,滤波器的数量可以是256,并且数据大小可以是128×64×10。

针对第一最大池化层(maxpool1),内核大小可以是2×2,跨度可以是(2,2),填充可以是0,并且数据大小可以是128×32×5。

针对第二卷积层(conv2),内核大小可以是3×3,跨度可以是(2,2),填充可以是1,滤波器的数量可以是256,并且数据大小可以是256×16×3。

针对第二最大池化层(maxpool1),内核大小可以是2×3,跨度可以是(2,1),填充可以是0,并且数据大小可以是(256×8×1)。

针对第三卷积层(conv3),内核大小可以是1×1,跨度可以是(1,1),填充可以是0,滤波器的数量可以是64,并且数据大小可以是64×8×1。大小是64×8×1的向量可以被认为是512d向量。第三卷积层(conv3)被设计用于降维,以实现512d段级嵌入/表示(其是具有512个元素/分量的向量)。

另外地或另选地,在第一卷积层conv1和第二卷积层conv2后,可以添加批量归一化(未示出)。该批量归一化的激活函数可以是整流线性单元(relu)。批量归一化是用于改进人工神经网络的性能和稳定性的技术。批量归一化可以用于通过调整和缩放激活来对输入层进行归一化。

图3例示了基于初始块的cnn300的示例框图。

作为示例,段级嵌入提取机制104可以被实现为基于初始块的cnn300。如果音频/语音信号的段的长度是64帧,则输入至基于初始块的cnn300的矩阵的维度将是64×64。基于初始块的cnn300可以采用64×64矩阵(帧级特征)并输出512d向量(段级嵌入/表示)。

参考图3,先前层302可以联接至块1、块2、块3和块4。块1可以包括第一内核304(conv1×1)。块2可以包括第二内核306(conv1×1)和第三内核308(conv3×3)。块3可以包括第四内核310(conv1×1)、第五内核312(conv3×3)和第六内核314(conv3×3)。块4可以包括第七内核316(maxpool3×3)和第八内核318(conv1×1)。块1、块2、块3和块4可以联接至滤波器级联(concatenation)模块320。

在基于初始块的cnn300中,具有不同大小的内核部署在同一层中,从而使基于初始块的cnn300更宽而不是更深。

图4例示了基于初始块的cnn300的示例配置的表400。如图4所示,可以确定基于初始块的cnn300的超参数集。

参考图4,针对块1的第一内核(conv1×1)304,内核大小可以是1×1,跨度可以是2,填充可以是0,滤波器的数量(内(in))可以是n,滤波器的数量(外(out))可以是m。

针对块2的第二内核(conv1×1)306,内核大小可以是1×1,跨度可以是1,填充可以是0,滤波器的数量(内)可以是n,滤波器的数量(外)可以是m/2。

针对块2的第三内核(conv3×3)308,内核大小可以是3×3,跨度可以是2,填充可以是1,滤波器的数量(内)可以是m/2,滤波器的数量(外)可以是m。

针对块3的第四内核(conv1×1)310,内核大小可以是1×1,跨度可以是1,填充可以是0,滤波器的数量(内)可以是n,滤波器的数量(外)可以是m/2。

针对块3的第五内核(conv3×3)312,内核大小可以是3×3,跨度可以是1,填充可以是1,滤波器的数量(内)可以是m/2,滤波器的数量(外)可以是m。

针对块3的第六内核(conv3×3)314,内核大小可以是3×3,跨度可以是2,填充可以是1,滤波器的数量(内)可以是m,滤波器的数量(外)可以是m。

针对块4的第七内核(maxpool3×3)316,内核大小可以是3×3,跨度可以是2,填充可以是1,滤波器的数量(内)可以是n,滤波器的数量(外)可以是n。

针对块4的第八内核(conv1×1)318,内核大小可以是1×1,跨度可以是1,填充可以是0,滤波器的数量(内)可以是n,滤波器的数量(外)可以是m。

各个块(块1、块2、块3和块4)可以被视为具有不同内核的层。针对不同层,n和m是不同数字,并且细节在图5中呈现。

图5例示了基于初始块的cnn300的层/块的参数的表500。

参考图5,针对块1,n可以是1,m可以是64,并且数据大小可以是256×32×32。针对块2,n可以是256,m可以是64,并且数据大小可以是256×16×16。针对块3,n可以是256,m可以是128,并且数据大小可以是512×8×8。针对块4,n可以是512,m可以是128,并且数据大小可以是512×4×4。针对maxpool层(4×4),数据大小可以是512×1×1。

图6例示了以时间扩展的方式展开的用于音频信号处理的系统600的示例框图。

系统600可以包括可以根据一系列时间步长展开的段级嵌入提取机制602和话语级嵌入提取机制604。例如,帧级特征606、608、…、和610的序列可以用作段级嵌入提取机制602的输入。如果所述序列中帧级特征的数量是n(其中n是正整数),则段级嵌入提取机制602和话语级嵌入提取机制604将根据n个时间步长(即,t1、t2、…、和tn)展开。

帧级特征606、608、…、和610的序列可以分别用作在t1612、t2614、…、和tn616处的展开的段级嵌入提取机制的输入。t1612、t2614、…、和tn616处的展开的段级嵌入提取机制可以分别输出段级嵌入/表示624、626、…、和628的序列。段级嵌入/表示624、626、…、和628的序列可以分别用作在t1618、t2620、…、和tn622处的展开的话语级嵌入提取机制的输入。在t1618、t2620、…、和tn622处的展开的话语级嵌入提取机制可以分别对段级嵌入/表示624、626、…、和628的序列进行编码,以获得话语级嵌入/表示630,该话语级嵌入/表示630可以是向量的形式。

作为示例,系统600可以将cnn实现为段级嵌入提取机制602,并且将rnn实现为话语级嵌入提取机制604。

另外地或另选地,可以将lstmrnn或grurnn实现为话语级嵌入提取机制604,以避免rnn的梯度爆发或消失问题。此外,grurnn可以减少模型参数的数量。例如,lstmrnn由以下公式(1)-(6)限定。

it=sigmoid(wiixt+whiht-1+bi)(1)

ft=sigmoid(wifxt+whfht-1+bf)(2)

gt=tanh(wigxt+whght-1+bg)(3)

ot=sigmoid(wioxt+whoht-1+bo)(4)

在上面的公式(1)至(6)中,it、ft、gt、ot分别是输入门、遗忘门、单元门和输出门;在时间步长t处,ht是隐藏状态;ct是存储器单元状态;xt是第一层的输入或先前层的隐藏状态;wii、whi、wif、whf、wig、whg、wio和who分别表示线性变换中的权重;bi、bf、bg和bo分别表示线性变换中的偏差;并且表示逐元素相乘。

sigmoid函数由以下公式(7)限定。

tanh函数由以下公式(8)限定。

在示例lstmrnn中,隐藏层单元的数量可以是512。lstmrnn的输出可以是512d向量。lstmrnn可以按照与上文参考图6描述的话语级嵌入提取机制604相同的方式根据一系列时间步长展开。lstmrnn在最后时间步长t11处获得的隐藏状态可以用作输出话语级嵌入/表示630。换句话说,lstmrnn用于将段级嵌入/表示606、608、…、和610的序列编码成最后时间步长的隐藏状态。

应注意,在图6中,为了便于例示,系统600以时间扩展的方式展开。实际上,在t1612、t2614、…、和tn616处的展开的段级嵌入提取机制共享相同的参数,并且在t1618、t2620、…、和tn622处的展开的话语级嵌入提取机制共享相同的参数。

图7例示了具有跳过连接的话语级嵌入提取机制700的示例框图。

针对相对长的音频/语音信号,或者针对相对小的段大小,可以获得相对长的段序列。考虑到梯度消失的问题,话语级嵌入提取机制700可能具有有限的建模能力。因此,可以在话语级嵌入提取机制700的时间方向上添加一个或更多个跳转/跳过连接,以促进该时间方向上的信息传递。通过添加跳转/跳过连接,可以将很长时间以前的信息并入后续步长中。换句话说,跳转/跳过连接可以用于将信息从若干时间步长之前直接传递至后续步长。因此,所得到的话语级嵌入/表示可以更好地平衡话语/句子的整个段序列的信息。

参考图7,话语级嵌入提取机制700可以根据一系列时间步长t1、t2、…、tk+1、t2k+1、…、t3k+1、…、和tl展开,其中k和l是正整数。在各个时间步长处,展开的话语级嵌入提取机制700可以具有隐藏状态702、704、706、708、710或712。例如,可以每k个步长添加跳转/跳过连接。可以在t1702与tk+1706处的隐藏状态之间添加跳转/跳过连接714。可以在tk+1706与t2k+1708处的隐藏状态之间添加跳转/跳过连接716。可以在t2k+1708与t3k+1710处的隐藏状态之间添加跳转/跳过连接718。跳转/跳过大小是可以根据需要进行调整的超参数。

作为示例,lstmrnn可以被实现为话语级嵌入提取机制700。lstmrnn可以由以下公式(9)至(15)限定。

it=sigmoid(wiixt+whiht-1+bi)(9)

ft=sigmoid(wifxt+whfht-1+bf)(10)

gt=tanh(wigxt+whght-1+bg)(11)

ot=sigmoid(wioxt+whoht-1+bo)(12)

在以上公式(9)至(15)中,相同的参数具有与如上所述的公式(1)至(6)中的含义相同的含义。

公式(15)指示添加了一个或更多个跳转/跳过连接。标量参数α是附加的可训练参数,并且标量参数α的初始值可以设置为1。k表示要跳转/跳过的步长数量。

图8例示了用于音频信号处理的处理800的示例流程图。在下文中,通过四个阶段(即,数据准备、段级嵌入提取、话语级嵌入提取和训练)来描述处理800。

数据准备

在框802,数据准备机制102可以以上文参考图1所讨论的相同方式接收音频/语音信号110。

在框804,数据准备机制102可以以上文参考图1所讨论的相同方式以预定窗口大小和预定窗口移位对音频/语音信号110进行帧化,以获得帧序列。

在框806,数据准备机制102可以以上文参考图1所讨论的相同方式将音频/语音信号110的帧序列分组成段序列。

在框808,数据准备机制102可以以上文参考图1所讨论的相同方式基于音频/语音信号110的帧序列获得多维特征序列。

在框810,数据准备机制102可以以上文参考图1所讨论的相同方式对多维特征序列进行归一化,以获得经归一化的帧级特征112的序列。

段级嵌入提取

在框812,段级嵌入提取机制104可以以上文参考图1所讨论的相同方式基于经归一化的帧级特征112的序列来生成段级嵌入/表示114的序列。

话语级嵌入提取

在框814,话语级嵌入提取机制106可以以上文参考图1所讨论的相同方式基于段级嵌入/表示114的序列来生成话语级嵌入/表示116。

训练

在框816,可以以上文参考图1所讨论的相同方式训练系统100。

在框818,分类/识别机制108可以以上文参考图1所讨论的相同方式基于话语级表示从音频信号108中识别一个或更多个讲话者。

本文讨论的系统和处理可以用于语音交互产品和基于音频的身份标签。在真实环境中,由于环境噪声、背景声音、设备噪声、房间混响等,讲话者识别/验证系统在恶劣声学环境中的性能可能会大大降低。本文讨论的系统和处理可以借助于深度学习和大量语音训练数据来获得各种干扰因素的更鲁棒的嵌入/表示,从而改进了讲话者识别/验证在实际场景中的性能。

图9例示了用于音频信号处理的示例系统900。

本文描述的技术和机制可以由系统900的多个实例以及由任何其它计算设备、系统和/或环境来实现。图9中所示的系统900仅是系统的一个示例并且不旨在暗示对用于执行上述处理和/或过程的任何计算设备的使用范围或功能的任何限制。可以适于与实施方式一起使用的其它众所周知的计算设备、系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、游戏机、可编程消费电子产品、网络pc、小型计算机、大型计算机、包括上述系统或设备中的任何系统或设备的分布式计算环境、使用现场可编程门阵列(“fpga”)以及专用集成电路(“asic”)的实现方式等。

系统900可以包括一个或更多个处理器902以及以通信的方式联接至所述处理器902的存储器904。所述处理器902可以执行一个或更多个模块和/或处理,以使所述处理器902执行各种功能。在一些实施方式中,处理器902可以包括中央处理单元(cpu)、图形处理单元(gpu)、cpu和gpu两者、或者本领域已知的其它处理单元或部件。另外地,处理器902中的各个处理器可以拥有其自己的本地存储器,该本地存储器还可以存储程序模块、程序数据和/或一个或更多个操作系统。

取决于系统900的确切配置和类型,系统存储器904可以是易失性的(诸如ram)、非易失性的(诸如rom、闪存存储器、微型硬盘驱动器、存储卡等)或其某种组合。存储器904可以包括可由处理器902执行的一个或更多个计算机可执行模块。系统900可以另外包括用于接收待处理的数据并输出经处理的数据的输入/输出(i/o)接口906。系统900还可以包括通信模块908,该通信模块允许系统900通过网络(未示出)与其它设备(未示出)进行通信。网络可以包括互联网、诸如有线网络或直接有线连接的有线介质以及诸如声学、射频(rf)、红外和其它无线介质的无线介质。

存储在存储器904上的模块可以包括但不限于数据准备模块910、段级嵌入提取模块912、话语级嵌入提取模块914、训练模块916和分类/识别模块918。

数据准备模块910可以被配置为接收音频/语音信号、以预定窗口大小和预定窗口移位将音频/语音信号110帧化成帧序列并将音频/语音信号110的帧序列分组成段序列。数据准备模块910可以进一步被配置为以上文参考图1所讨论的相同方式基于音频/语音信号110的帧序列获得多维特征序列并对多维特征序列执行归一化以获得经归一化的帧级特征112的序列。

段级嵌入提取模块912可以被配置为以上文参考图1所讨论的相同方式基于经归一化的帧级特征112的序列生成段级嵌入/表示114的序列。

话语级嵌入提取模块914可以被配置为以上文参考图1所讨论的相同方式基于段级嵌入/表示114的序列来生成话语级嵌入/表示116。

训练模块916可以被配置为以上文参考图1所讨论的相同方式联合地或单独地训练段级嵌入提取模块912和话语级嵌入提取模块914。

分类/识别模块918可以被配置为以上文参考图1所讨论的相同方式做出指示音频/语音信号110属于哪个讲话者的判断。

本文讨论的系统和处理可以被认为是开放框架,可以通过添加和/或替换对应机制/模块来将最新技术集成到该开放框架中。本文讨论的系统和处理可以处理具有可变长度的音频/语音信号,使得系统的输出是完整的话语/句子的讲话者嵌入/表示,该讲话者嵌入/表示可以用于讲话者识别/验证。本文讨论的系统和处理可以具有相对少量的参数(例如,比3m多一点),从而节省了计算和存储资源。可以利用较少的参数获得良好的识别结果。本文讨论的系统和处理可以解决与文本无关的讲话者识别/验证任务。

可以通过执行存储在如下文限定的计算机可读存储介质上的计算机可读指令来执行上述方法的一些或全部操作。在说明书和权利要求书中使用的术语“计算机可读指令”包括例程、应用、应用模块、程序模块、程序、部件、数据结构、算法等。可以在各种系统配置上实现计算机可读指令,所述各种系统配置包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、其组合等。

计算机可读存储介质可以包括易失性存储器(诸如随机存取存储器(ram))和/或非易失性存储器(诸如只读存储器(rom)、闪存存储器等)。计算机可读存储介质还可以包括可以提供计算机可读指令、数据结构、程序模块等的非易失性存储的附加的可移除存储部和/或不可移除存储部,包括但不限于闪存存储器、磁存储部、光学存储部和/或磁带存储部。

非暂时性计算机可读存储介质是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质(即,计算机可读存储介质和通信介质)。计算机可读存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何处理或技术实现的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于相变存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其它类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存存储器或其它存储器技术、光盘只读存储器(cd-rom)、数字通用盘(dvd)或其它光学存储部、磁带盒、磁带、磁盘存储部或其它磁存储设备、或可以用于存储信息以供计算设备访问的任何其它非传输介质。相比之下,通信介质可以以诸如载波的调制数据信号或其它传输机制体现计算机可读指令、数据结构、程序模块或其它数据。如本文所限定的,计算机可读存储介质不包括通信介质。

存储在一个或更多个非暂时性计算机可读存储介质上的计算机可读指令当由一个或更多个处理器执行时,可以执行以上参考图1至图9描述的操作。通常,所述计算机可读指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序不旨在被解释为限制性的,并且可以以任何顺序和/或并行地组合任何数量的所描述的操作以实现处理。

示例条款

条款1.一种方法,所述方法包括以下步骤:接收音频信号;基于所述音频信号获得多个多维特征;基于所述多个多维特征获得多个段级表示;基于所述多个段级表示获得话语级表示;以及基于所述话语级表示从所述音频信号中识别讲话者。

条款2.根据条款1所述的方法,其中,所述音频信号包括来自多个讲话者的具有噪声干扰的语音。

条款3.根据条款1所述的方法,其中,在接收音频信号的步骤之后,所述方法进一步包括以下步骤:使用预定窗口大小和预定窗口移位将所述音频信号分成多个帧;以及将所述多个帧分组成多个段,所述多个段中的各个段包括预定数量的帧。

条款4.根据条款1所述的方法,其中,在基于所述音频信号获得多个多维特征的步骤之后,所述方法进一步包括以下步骤:对所述多个多维特征进行归一化。

条款5.根据条款2所述的方法,其中,基于所述音频信号获得多个多维特征的步骤包括:将所述多个帧转换成多个多维滤波器组特征。

条款6.根据条款1所述的方法,其中,基于所述多个多维特征获得多个段级表示的步骤通过卷积神经网络(cnn)执行。

条款7.根据条款1所述的方法,其中,基于所述多个段级表示获得话语级表示的步骤通过递归神经网络(rnn)执行。

条款8.根据条款1所述的方法,其中,基于所述话语级表示从所述音频信号中识别讲话者的步骤包括:将所述话语级表示分类成与所述讲话者的身份(id)相关联的类别。

条款9.一种计算机可读存储介质,所述计算机可读存储介质存储有能够由一个或更多个处理器执行的计算机可读指令,所述计算机可读指令在由所述一个或更多个处理器执行时使所述一个或更多个处理器执行操作,所述操作包括:基于所述音频信号获得多个多维特征;基于所述多个多维特征获得多个段级表示;基于所述多个段级表示获得话语级表示;以及基于所述话语级表示从所述音频信号中识别讲话者。

条款10.根据条款9所述的计算机可读存储介质,其中,所述音频信号包括来自多个讲话者的具有噪声干扰的语音。

条款11.根据条款9所述的计算机可读存储介质,其中,在接收音频信号的步骤之后,所述操作进一步包括:使用预定窗口大小和预定窗口移位将所述音频信号分成多个帧;以及将所述多个帧分组成多个段,所述多个段中的各个段包括预定数量的帧。

条款12.根据条款9所述的计算机可读存储介质,其中,在基于所述音频信号获得多个多维特征的操作之后,所述操作进一步包括:对所述多个多维特征进行归一化。

条款13.根据条款10所述的计算机可读存储介质,其中,基于所述音频信号获得多个多维特征的操作包括:将所述多个帧转换成多个多维滤波器组特征。

条款14.根据条款9所述的计算机可读存储介质,其中,基于所述多个多维特征获得多个段级表示的操作通过cnn执行。

条款15.根据条款9所述的计算机可读存储介质,其中,基于所述多个段级表示获得所述话语级表示的操作通过rnn执行。

条款16.根据条款9所述的计算机可读存储介质,其中,基于所述话语级表示从所述音频信号中识别讲话者的操作包括操作进一步包括:将所述话语级表示分类成与所述讲话者的id相关联的类别。

条款17.一种系统,所述系统包括:一个或更多个处理器;以及存储器,所述存储器以通信的方式联接至所述一个或更多个处理器,所述存储器存储有能够由所述一个或更多个处理器执行的计算机可执行模块,所述计算机可执行模块包括:数据准备模块,所述数据准备模块被配置为接收音频信号并基于所述音频信号获得多个多维特征;段级嵌入提取模块,所述段级嵌入提取模块被配置为基于所述多个多维特征获得多个段级表示;话语级嵌入提取模块,所述话语级嵌入提取模块被配置为基于所述多个段级表示获取话语级表示;以及分类模块,所述分类模块被配置为通过将所述话语级表示分类成与讲话者的id相关联的类别来基于所述话语级表示从所述音频信号中识别所述讲话者。

条款18.根据条款17所述的系统,其中,所述音频信号包括来自多个讲话者的具有噪声干扰的语音。

条款19.根据条款17所述的系统,其中,所述数据准备模块进一步被配置为:使用预定窗口大小和预定窗口移位将所述音频信号分成多个帧;将所述多个帧分组成多个段,所述多个段中的各个段包括预定数量的帧;将所述多个帧转换成多个多维滤波器组特征;以及对所述多个多维滤波器组特征进行归一化。

条款20.根据条款17所述的系统,其中,所述段级嵌入提取模块包括cnn,并且所述话语级嵌入提取模块包括rnn。

结论

尽管已用特定于结构特征和/或方法动作的语言描述了主题,但是应理解,所附权利要求书中限定的主题不必限于所描述的特定特征或动作。而是将特定特征和动作公开为实现权利要求的示例性形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1