1.本技术涉及智能穿戴技术领域,具体而言,涉及一种语音提取方法、电子设备和存储介质。
背景技术:
2.随着智能穿戴技术的飞速发展,越来越多的人在办公场景或者生活场景中使用智能穿戴设备,并通过智能穿戴设备辅助进行语言交流或者语音控制设备等。
3.智能穿戴设备中的麦克风所采集的语音为混合语音,该语音中包含了佩戴者以及其他人的语音。
技术实现要素:
4.第一方面,本技术实施例提供了一种语音提取方法,包括:
5.获取包括多个说话人语音的第一混合语音,其中,所述第一混合语音是第一麦克风采集的;
6.对所述第一混合语音进行分离,得到每个说话人的初始语音;
7.基于每个说话人的初始语音与所述第一混合语音的互相关性,从每个所述初始语音或者所述第一混合语音中确定每个说话人的语音帧。
8.在一些实施例中,所述对所述第一混合语音进行分离,得到每个说话人的初始语音,包括:
9.基于语音分离模型对所述第一混合语音进行分离,得到每个说话人的初始语音;
10.其中,所述语音分离模型的训练样本包括仿真语音和录制语音,所述录制语音包括混合的单独录制的训练说话人的语音;
11.所述仿真语音是基于如下确定的:
12.确定至少两个麦克风;
13.确定训练说话人嘴部到每个麦克风之间的房间冲激响应传递函数;
14.基于单独录制的训练说话人的语音,以及训练说话人嘴部到每个麦克风之间的房间冲激响应传递函数,确定对应每个麦克风模拟生成的至少两个样本混合语音;
15.将至少两个样本混合语音,作为所述仿真语音。
16.在一些实施例中,所述语音分离模型包括特征提取层、卷积神经网络、第一全连接层、第一循环神经网络、第二循环神经网络、多个第二全连接层和解码层;
17.所述特征提取层的输出作为所述卷积神经网络的输入;
18.所述卷积神经网络的输出作为所述第一全连接层的输入、所述第一循环神经网络的第一输入和所述第二循环神经网络的第一输入;
19.所述第一全连接层的输出作为所述第一循环神经网络的第二输入和所述第二循环神经网络的第二输入;
20.所述第一循环神经网络的输出作为所述第二循环神经网络的第三输入;
21.所述第二循环神经网络的输出作为每个第二全连接层的输入;
22.每个第二全连接层的输出作为所述解码层的输入。
23.在一些实施例中,所述语音分离模型的损失函数是基于尺度不变的信噪比损失函数、均方误差损失函数和语音质量感知评估损失函数中的至少一种确定的。
24.在一些实施例中,所述基于每个说话人的初始语音与所述第一混合语音的互相关性,从每个所述初始语音或者所述第一混合语音中确定每个说话人的语音帧,包括:
25.基于当前混合语音帧的自功率谱,每个当前初始语音帧的自功率谱,以及所述当前混合语音帧与每个所述当前初始语音帧之间的互功率谱,确定所述当前混合语音帧与每个所述当前初始语音帧的互相关性,其中,所述当前混合语音帧是所述第一混合语音的当前帧,所述当前初始语音帧是所述初始语音的当前帧;
26.基于所述互相关性确定所述当前混合语音帧和/或每个所述当前初始语音帧的说话人。
27.在一些实施例中,还包括:
28.确定平滑系数;
29.基于所述平滑系数,所述当前混合语音帧以及所述当前混合语音帧对应的上一混合语音帧,确定所述当前混合语音帧的自功率谱;
30.基于所述平滑系数,每个所述当前初始语音帧以及所述当前初始语音帧对应的上一初始语音帧,确定每个所述当前初始语音帧的自功率谱;
31.基于所述平滑系数,所述当前混合语音帧,每个所述当前初始语音帧,确定所述当前混合语音帧与每个所述当前初始语音帧之间的互功率谱。
32.在一些实施例中,还包括:
33.确定所述互相关性最大的所述当前混合语音帧和所述当前初始语音帧,并且,所述当前初始语音帧的自功率谱大于声音能量阈值;
34.确定所述当前初始语音帧由接近所述第一麦克风的说话人输出,或者,确定所述当前混合语音帧由接近所述第一麦克风的说话人输出。
35.在一些实施例中,还包括:
36.获取包括多个说话人语音的第二混合语音,其中,所述第二混合语音是第二麦克风采集的;
37.基于语音分离模型对所述第一混合语音和所述第二混合语音进行分离得到每个说话人的初始语音;
38.确定所述第一混合语音的声音能量和所述第二混合语音的声音能量;
39.将声音能量最强的混合语音作为目标混合语音;
40.从所述目标混合语音中提取每个说话人的语音帧,所述多个说话人包括第一说话人和第二说话人。
41.第二方面,本技术提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的语音提取方法。
42.第三方面,本技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的语音提取方法。
附图说明
43.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术一个实施例提供的语音提取方法的流程示意图;
45.图2为本技术一个实施例提供的语音分离模型的结构示意图;
46.图3为本技术一个实施例提供的语音帧对齐的示意图;
47.图4为本技术又一个实施例提供的语音提取方法的流程示意图;
48.图5为本技术一个实施例提供的智能穿戴设备的结构示意图;
49.图6为本技术一个实施例提供的智能穿戴设备的工作示意图;
50.图7为本技术一个实施例提供的电子设备的结构示意图。
具体实施方式
51.为使本技术的技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,本技术中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
53.现有技术中需要提取不同说话人的语音时,通常是为不同说话人配置不同的语音采集设备,或者提前获取不同说话人的声纹用于语音识别。前者需要增加硬件设备且交互过程非常繁琐耗时,后者需要提前在设备中注册声纹且声纹的使用容易受到背景噪音等外在因素的干扰。现有技术中语音提取的效果较差。
54.为此,本技术提供了一种语音提取方法、电子设备和存储介质,提取每个说话人的初始语音,利用了每个说话人的初始语音与混合语音之间的相关信息,对混合语音进行了精确提取,提高了语音提取的准确性;既不需要增加额外的硬件设备用于分离不同说话人的语音,也不需要预先获取说话人的声纹信息,提高了语音提取的广泛适用性。在便捷使用的同时也能获取准确的语音提取效果,提高了用户使用智能穿戴设备的使用体验。
55.图1为本技术一个实施例提供的语音提取方法的流程示意图,如图1所示,该方法包括步骤110、步骤120和步骤130。该方法流程步骤仅仅作为本技术一个可能的实现方式。
56.步骤110、获取包括多个说话人语音的第一混合语音,其中,第一混合语音是第一麦克风采集的。
57.具体地,本技术实施例提供的语音提取方法应用于智能穿戴设备。智能穿戴设备是指经过智能化设计的日常穿戴设备,包括智能眼镜、智能手表、智能手环、智能头盔和智
能耳机等。其中,智能眼镜又包括虚拟现实(virtual reality,vr)眼镜、增强现实(augmented reality,ar)眼镜和混合现实(mixed reality,mr)眼镜等。
58.本技术实施例提供的语音提取方法的执行主体为语音提取装置。该装置可以为智能穿戴设备中独立设置的硬件设备,也可以为运行在智能穿戴设备中的软件程序。
59.说话人包括穿戴者与非穿戴者。穿戴者的语音为智能穿戴设备的穿戴者所发出的语音。非穿戴者的语音为与穿戴者处于同一语言交流场景的人所发出的语音。混合语音是智能穿戴设备实际采集的语音,其中混杂了穿戴者的语音和非穿戴者的语音。
60.例如,在一个采访实施例中,采访者与被采访者进行对话交流,俩人之一佩戴智能眼镜。智能眼镜上的麦克风所采集的音频信号为混合语音,其中包含了采访者的提问语音和被采访者的回答语音。作为声音拾取装置,麦克风本身无法对采访者的提问语音和被采访者的回答语音进行准确分辨。
61.在一些实施例中,非穿戴者的数量可以为多个。非穿戴者所采用的语种可以与穿戴者所采用的语种不同。本技术实施例对于非穿戴者的数量和非穿戴者所采用的语种不做具体限定。
62.为了提高语音采集的准确性和完备性,提高语音提取的效果,在智能穿戴设备中可以设置多个麦克风,用于采集多路混合语音。本技术实施例对于智能穿戴设备中的麦克风数量不做具体限定。
63.步骤120、对第一混合语音进行分离,得到每个说话人的初始语音。
64.具体地,可以对第一混合语音进行初步分离,可以得到每个说话人的初始语音,例如穿戴者的初始语音和非穿戴者的初始语音。
65.在穿戴者的初始语音中,还可能混入非穿戴者的部分语音,同理,在非穿戴者的初始语音中,还可能混入穿戴者的部分语音。如果用初始语音进行语音处理任务,将使得语音处理效果较差。因此,还需要提取更准确的语音。
66.步骤130、基于每个说话人的初始语音与第一混合语音的互相关性,从每个初始语音或者第一混合语音中确定每个说话人的语音帧。
67.具体地,互相关性为互相关函数的取值,用于表示信号之间的相关程度。在一些实施例中,需要计算两个信号序列的相似度,实际信号由于在采集过程中会混入干扰,如果简单的依次比较各样本是否相等或者差值,则很难判定两个信号序列的相似程度。互相关函数就是描述在连续信号或离散序列的相关程度的一种统计度量。通常语音信号为具有时间序列的信号,说话人的初始语音与第一混合语音之间的互相关性越大,表明该初始语音与混合语音之间的相关程度越高,混合语音为该说话人的语音的可能性就越大。
68.可以通过比较每个说话人的初始语音与第一混合语音之间的互相关性,确定第一混合语音中哪些是属于哪个说话人的语音,从而将第一混合语音中对应的语音帧提取出来,或者将对应的说话人的初始语音中的语音帧提取出来,确定为该说话人的语音帧。
69.需要说明的是,本技术实施例提供的语音提取方法可以将穿戴者的语音和非穿戴者的语音从麦克风采集的混合语音中提取出来。提取的语音可以用来进行语音转写、语音识别、语音唤醒或者对话翻译等语音处理任务,当然,上述穿戴者和非穿戴者仅用作示例性表示,不成为本技术的限定。
70.本技术实施例提供的语音提取方法,对第一混合语音进行分离,得到每个说话人
的初始语音;基于每个说话人的初始语音与第一混合语音之间的互相关性,从每个初始语音或者第一混合语音中确定每个说话人的语音帧。利用了每个说话人的初始语音与混合语音之间的相关信息,对混合语音进行了精确提取,提高了语音提取的准确性;此外,既不需要增加额外的硬件设备用于分离不同说话人的语音,也不需要预先获取说话人的声纹信息,提高了语音提取的广泛适用性;在便捷使用的同时也能获取准确的语音提取效果,提高了用户使用智能穿戴设备的使用体验。
71.需要说明的是,本技术每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
72.在一些实施例中,步骤120包括:
73.基于语音分离模型对第一混合语音进行分离,得到每个说话人的初始语音;
74.其中,语音分离模型的训练样本包括仿真语音和录制语音,录制语音包括混合的单独录制的训练说话人的语音;
75.仿真语音是基于如下确定的:
76.确定至少两个麦克风;
77.确定训练说话人嘴部到每个麦克风之间的房间冲激响应传递函数;
78.基于单独录制的训练说话人的语音,以及训练说话人嘴部到每个麦克风之间的房间冲激响应传递函数,确定对应每个麦克风模拟生成的至少两个样本混合语音;
79.将至少两个样本混合语音,作为仿真语音。
80.具体地,可以采用神经网络构建语音分离模型对混合语音进行分离。具体方法为利用训练说话人的样本语音对初始模型进行训练,以提高初始模型对于样本语音与说话人身份之间的关联关系的预测能力,得到用于语音初步分离的语音分离模型。
81.在语音分离模型的训练阶段,可以从两个方面获取样本语音。一方面,可以通过单独录制训练说话人的语音,得到训练说话人的录制语音;另一方面,可以通过模拟房间冲激响应(room impulse response,rir)的方法,得到训练说话人的仿真语音。
82.可以理解,在一些示例中样本语音可以全部采用单独录制、使用时混合得到,在另一些示例中为了降低成本、提高获得样本的效率,可以通过仿真的方式来获得仿真语音,将仿真语音和混合的录制语音共同作为样本语音,显然,上述样本语音中仿真语音和混合的录制语音的比例不成为本技术的限定。
83.对于房间冲激响应而言,可以采用两种方式得到。一方面,通过基于image模型(也可称之为镜像声源模型)生成第一房间冲激响应,另一方面,也可以通过录制各个麦克风接收到的混合语音,来生成第二房间冲激响应。对第一房间冲激响应和第二房间冲激响应进行合并后,得到最终的房间冲激响应。
84.将声源原始信号与房间冲激响应进行卷积后得到麦克风的接收信号,也就是仿真语音。
85.例如,以智能穿戴设备配置两个麦克风为例,两个麦克风分别为mic1和mic2。穿戴者为speaker1,非穿戴者为speaker2。利用数据仿真的方法可以模拟两个麦克风分别采集到的混合语音:
86.voice
mic1
=rir1
channel1
*voice
speaker1
rir2
channel1
*voice
speaker2
87.voice
mic2
=rir1
channel2
*voice
speaker1
rir2
channel2
*voice
speaker2
88.其中,voice
mic1
为模拟麦克风mic1采集到的混合语音,voice
mic2
为模拟麦克风mic2采集到的混合语音,voice
speaker1
为穿戴者的语音,voice
speaker2
为非佩戴者的语音,rir1
channel1
为穿戴者嘴部到麦克风mic1的房间冲激响应传递函数,rir2
channel1
为非穿戴者嘴部到麦克风mic1的房间冲激响应传递函数,rir1
channel2
为穿戴者嘴部到麦克风mic2的房间冲激响应传递函数,rir2
channel2
为非穿戴者嘴部到麦克风mic2的房间冲激响应传递函数。
89.模拟两个麦克风分别采集到的混合语音可以作为仿真语音,对语音分离模型进行训练。
90.本技术实施例提供的语音提取方法,通过训练说话人的录制语音和仿真语音构成样本对语音分离模型进行训练,采用仿真语音可以减少对训练说话人的录制语音进行采集的工作量,同时提高语音分离模型的泛化能力,提高了语音提取的准确性。
91.在一些实施例中,语音分离模型包括特征提取层、卷积神经网络、第一全连接层、第一循环神经网络、第二循环神经网络、解码层和多个第二全连接层;
92.特征提取层的输出作为卷积神经网络的输入;
93.卷积神经网络的输出作为第一全连接层的输入、第一循环神经网络的第一输入和第二循环神经网络的第一输入;
94.第一全连接层的输出作为第一循环神经网络的第二输入和第二循环神经网络的第二输入;
95.第一循环神经网络的输出作为第二循环神经网络的第三输入;
96.第二循环神经网络的输出作为每个第二全连接层的输入;
97.每个第二全连接层的输出作为解码层的输入。
98.具体地,可以通过卷积神经网络(convolutional neural networks,cnn)和循环神经网络(recurrent neural network,rnn)来构建语音分离模型对应的初始模型。
99.卷积神经网络通过共享卷积核,能够高效地提取数据特征。循环神经网络能有效地提取与时间序列相关的特征。循环神经网络包括长短期记忆网络(long short-term memory,lstm)和门控循环单元网络(gate recurrent unit,gru)。
100.由于语音为时序信号,为了能够更好地提取语音信号的特征,可以在语音分离模型中设置多个循环神经网络。在网络结构增加的同时,考虑到系统资源的有限性,可以在语音分离模型中设置两个循环神经网络。在网络连接中,可以采用残差连接的方式,用来防止模型退化。
101.图2为本技术一个实施例提供的语音分离模型的结构示意图,如图2所示,该语音分离模型具体可以包括特征提取层200、卷积神经网络210、第一全连接层220、第一循环神经网络230、第二循环神经网络240、第二全连接层250和解码层260。
102.特征提取层的输出端与卷积神经网络的输入端连接。
103.特征提取层对混合语音进行经过分帧、加窗和傅里叶变换转换,得到混合语音的频域特征。
104.卷积神经网络的输出端与第一全连接层的输入端、第一循环神经网络的输入端和第二循环神经网络的输入端连接。
105.可以将混合语音的频域特征输入卷积神经网络,卷积神经网络提取特征后,将输出结果输入至第一全连接层用于分类,同时,也将输出结果输入至第一循环神经网络和第
二循环神经网络。
106.第一全连接层的输出端与第一循环神经网络的输入端和第二循环神经网络的输入端连接。第一循环神经网络的输出端与第二循环神经网络的输入端连接。
107.可以将第一全连接层的输出结果分别输入第一循环神经网络和第二循环神经网络。第一循环神经网络的输出结果也输入第二循环神经网络。
108.第二循环神经网络的输出端分别与每个第二全连接层的输入端连接。
109.考虑到混合语音中包含多个说话人,因此可以设置多个第二全连接层,用于对第二循环神经网络的输出结果进行分类。第二全连接层的数量与说话人的数量匹配。
110.在本技术实施例中,第一循环神经网络和第二循环神经网络采用门控循环单元网络(gru)。考虑到混合语音中的说话人包括穿戴者和非穿戴者,第二全连接层可以设置为两个。
111.每个第二全连接层的输出端与解码层的输入端连接。
112.解码层对每个第二全连接层输出的特征进行语音解码后,得到每个说话人的初始语音。
113.本技术实施例提供的语音提取方法,将卷积神经网络和循环神经网络进行结合,并采用残差连接的方式,在提高模型拟合能力的同时防止模型退化,提高了语音提取的准确性。
114.在一些实施例中,语音分离模型的损失函数是基于尺度不变的信噪比损失函数、均方误差损失函数和语音质量感知评估损失函数中的至少一种确定的。
115.具体地,对语音分离模型进行训练时,可以将模拟智能穿戴设备中麦克风采集到的混合语音作为样本语音输入语音分离模型,经过模型处理后得到每个说话人的初始语音预测结果。将每个说话人的初始语音预测结果与混合语音中每个说话人的语音标注结果进行对比,计算损失函数。再根据损失函数的梯度下降来更新语音分离模型中的模型参数,重复上述训练过程,直至损失函数达到预期值。
116.可以构造具有排列不变性的多重损失函数,如下所示:
117.loss=a1*si-srn a2*mse a3*pmsqe
118.其中,loss为语音分离模型的损失函数,si-srn(scale-invariant signal-to-distortion ratio)为尺度不变的信噪比损失函数,mse(mean square error)为均方误差损失函数,pmsqe(perceptual evaluation of speech quality)为语音质量感知评估损失函数,a1为第一权重系数,a2为第二权重系数,a3为第二权重系数。
119.本技术实施例提供的语音提取方法,将尺度不变的信噪比损失函数、均方误差损失函数和语音质量感知评估损失函数进行结合,构造语音分离模型的损失函数,提高了模型的训练效果。
120.在一些实施例中,步骤130包括:
121.基于当前混合语音帧的自功率谱,每个当前初始语音帧的自功率谱,以及当前混合语音帧与每个当前初始语音帧之间的互功率谱,确定当前混合语音帧与每个当前每个初始语音帧的互相关性;其中,当前混合语音帧是第一混合语音的当前帧,当前初始语音帧是初始语音的当前帧;
122.基于互相关性确定当前混合语音帧和/或每个当前初始语音帧的说话人。
123.具体地,图3为本技术一个实施例提供的语音帧对齐的示意图,如图3所示,对第一混合语音进行分帧,得到混合语音帧序列,帧序列中帧的数量为m,m为正整数。对于每一语音帧而言,如该帧中含有说话人的语音,则用1表示,如该帧中不包含说话人的语音,则用0表示。
124.同理,对各个说话人的初始语音进行分帧,得到各个说话人的初始语音帧序列。由于各个说话人的初始语音是从第一混合语音中抽取出来的,其帧数少于混合语音帧序列的帧数。为了便于对齐,可以对各个说话人的初始语音帧序列进行补空白帧,使得各个说话人的初始语音帧序列的帧数与混合语音帧序列的帧数相同。具体的操作是按照时间轴对初始语音帧序列中的各帧进行排列,对缺少语音帧的时刻,增加空白帧,帧内容用0表示。
125.将混合语音帧序列分别与各个说话人的初始语音帧序列进行时序对齐,确定各个混合语音帧与各个说话人的初始语音帧之间的对应关系。
126.语音为时域信号。自功率谱用于表示时域信号的功率密度沿频率轴的分布情况。互功率谱用于表示两个时域信号在频域中所得功率谱的共同成分及其相位差关系。
127.可以通过时频转换和求功率谱的方法,得到每个说话人的初始语音帧的自功率谱,混合语音帧的自功率谱,以及每个说话人的初始语音帧与混合语音帧之间的互功率谱。
128.在语音帧对齐后,当前混合语音帧是第一混合语音的当前帧,当前初始语音帧是初始语音的当前帧。
129.例如,智能穿戴设备通过麦克风采集的混合语音帧可以标记为x(t),通过初步分离后得到穿戴者的初始语音帧s1(t)和非穿戴者的初始语音帧s2(t),其中,t为当前帧序号。对上述语音信号利用快速傅里叶变换(fast fourier transform,fft)到频域,每个语音帧的频域变换结果分别可以表示为x(t,f),s1(t,f)和s2(t,f),f为频率。
130.穿戴者的初始语音帧的自功率谱可以表示为ps1(t,f),非穿戴者的初始语音帧的自功率谱可以表示为ps2(t,f),混合语音帧的自功率谱可以表示为px(t,f)。穿戴者的初始语音帧与混合语音帧之间的互功率谱可以表示为pxs1(t,f),非穿戴者的初始语音帧与混合语音帧之间的互功率谱可以表示为pxs2(t,f)。
131.可以根据当前混合语音帧的自功率谱,每个当前初始语音帧的自功率谱,以及当前混合语音帧与每个当前初始语音帧之间的互功率谱,确定当前混合语音帧与每个当前初始语音帧的互相关性。
132.例如,穿戴者的当前初始语音帧与当前混合语音帧之间的互相关性可以用公式表示为:
133.coh1(t)=mean(real(pxs1(t,f).*conj(pxs1(t,f))./(px(t,f).*ps1(t,f) c))
134.非穿戴者的当前初始语音帧与当前混合语音帧之间的互相关性可以用公式表示为:
135.coh2(t)=mean(real(pxs2(t,f).*conj(pxs2(t,f))./(px(t,f).*ps2(t,f) c))
136.其中,coh1(t)为穿戴者的初始语音帧与混合语音帧之间的互相关性,coh2(t)为非穿戴者的初始语音帧与混合语音帧之间的互相关性,mean()为均值函数,real()为求复数的实部的运算,conj()为求复数共轭的运算,.*为点乘运算,./为点除运算,c为常数,可以为e-1
。
137.比较每个说话人的当前初始语音帧与当前混合语音帧之间的互相关性,如果任一
说话人的当前初始语音帧与当前混合语音帧之间的互相关性大于其余说话人的当前初始语音帧与混合语音帧之间的互相关性,将当前混合语音帧确定为该说话人的语音帧,或者将该说话人的当前初始语音帧确定为该说话人的语音帧。
138.例如,coh1(t)大于coh2(t),则表明穿戴者的当前初始语音帧与混合语音帧的相关性较大,混合语音帧中为穿戴者的语音帧的可能性较大,则可以将当前混合语音帧确定为穿戴者的语音帧。
139.本技术实施例提供的语音提取方法,通过每个说话人的初始语音与麦克风采集的混合语音之间的相关性实现了每个说话人的语音的提取,提高了语音提取的准确性。
140.在一些实施例中,该方法还包括:
141.确定平滑系数;
142.基于平滑系数,当前混合语音帧以及当前混合语音帧对应的上一混合语音帧,确定当前混合语音帧的自功率谱;
143.基于平滑系数,每个当前初始语音帧以及当前初始语音帧对应的上一初始语音帧,确定每个当前初始语音帧的自功率谱;
144.基于平滑系数,当前混合语音帧,每个当前初始语音帧,确定当前混合语音帧与每个当前初始语音帧之间的互功率谱。
145.具体地,可以采用移动平均法来消除功率谱计算中的随机波动。可以先确定平滑系数γ。
146.根据平滑系数,当前混合语音帧以及当前混合语音帧对应的上一混合语音帧,确定当前混合语音帧的自功率谱。
147.例如,当前混合语音帧的自功率谱可以用公式表示为:
148.px(t,f)=γ*px(t-1,f) (1-γ)*real(x(t,f).*conj(x(t,f)))
149.其中,px(t-1,f)为上一混合语音帧的自功率谱。
150.根据平滑系数,每个当前初始语音帧以及当前初始语音帧对应的上一初始语音帧,确定每个当前初始语音帧的自功率谱。
151.例如,穿戴者的当前初始语音帧的自功率谱可以用公式表示为:
152.ps1(t,f)=γ*ps1(t-1,f) (1-γ)*real(s1(t,f).*conj(s1(t,f)))
153.其中,ps1(t-1,f)为穿戴者的上一初始语音帧的自功率谱。
154.非穿戴者的当前初始语音帧的自功率谱可以用公式表示为:
155.ps2(t,f)=γ*ps2(t-1,f) (1-γ)*real(s2(t,f).*conj(s2(t,f)))
156.其中,ps2(t-1,f)为非穿戴者的上一初始语音帧的自功率谱。
157.根据平滑系数,当前混合语音帧,每个当前初始语音帧,确定当前混合语音帧与每个当前初始语音帧之间的互功率谱。
158.例如,穿戴者的当前初始语音帧与当前混合语音帧的互功率谱可以用公式表示为:
159.pxs1(t,f)=γ*pxs1(t-1,f) (1-γ)*x(t,f).*conj(s1(t,f))
160.其中,pxs1(t-1,f)为穿戴者的上一初始语音帧与上一混合语音帧的互功率谱。
161.非穿戴者的当前初始语音帧与当前混合语音帧的互功率谱可以用公式表示为:
162.pxs2(t,f)=γ*pxs2(t-1,f) (1-γ)*x(t,f).*conj(s2(t,f))
163.其中,pxs2(t-1,f)为非穿戴者的上一初始语音帧与上一混合语音帧的互功率谱。
164.本技术实施例提供的语音提取方法,通过移动平均法计算自功率谱和互功率谱,消除了信号的随机波动带来的影响,提高了语音提取的准确性。
165.在一些实施例中,该方法还包括:
166.确定互相关性最大的当前混合语音帧和当前初始语音帧,并且,当前初始语音帧的自功率谱大于声音能量阈值;
167.确定当前初始语音帧由接近第一麦克风的说话人输出,或者,确定当前混合语音帧由接近第一麦克风的说话人输出。
168.具体地,对于智能穿戴设备上设置的麦克风而言,其与穿戴者的距离较近,而与非穿戴者的距离较远。这使得在混合语音中,穿戴者的语音的声音能量较大,而非穿戴者的语音的声音能量较小。
169.因此,可以确定声音能量阈值thr。声音能量阈值的确定可以根据需要进行确定。声音能量可以用自功率谱来表示。
170.示例性地,声音能量阈值还可以作为语音分离模型的一个参数,在语音分离模型训练过程中确定声音能量阈值,即基于损失函数不断调整声音能量阈值。
171.穿戴者的当前初始语音帧与当前混合语音帧之间的互相关性coh1(t)大于非穿戴者的当前初始语音帧与当前混合语音帧之间的互相关性coh2(t),并且穿戴者的当前初始语音帧对应的自功率谱ps1(t,f)大于声音能量阈值,则可以确定当前初始语音帧由接近第一麦克风的说话人(穿戴者)输出,或者,确定当前混合语音帧由接近第一麦克风的说话人(穿戴者)输出。
172.可以进一步确定当前混合语音帧x(t,f)为穿戴者的语音帧,否则,可以确定当前混合语音帧x(t,f)为非穿戴者的语音帧。
173.图4为本技术又一个实施例提供的语音提取方法的流程示意图,如图4所示,该方法包括:
174.步骤410、对穿戴者的初始语音、非穿戴者的初始语音和混合语音进行加窗分帧,计算互相关性和确定声音能量阈值。
175.步骤420、根据计算结果,确定混合语音的提取标签
176.可以设置vad为混合语音帧的提取标签。当coh1(t)>coh2(t)且ps1(t,f)>thr时vad=1,表明当前混合语音帧来自穿戴者,否则vad=0,表明当前混合语音帧来自非穿戴者。则穿戴者的语音帧的频域信号为x(t,f)*vad,非穿戴者的语音帧的频域信号为x(t,f)*(1一vad)。
177.步骤430、根据提取标签,从混合语音中提取不同说话人的语音
178.提取语音帧后,将频域信号经过快速傅里叶逆变换以及重叠相加法转换到时域,可以得到穿戴者的语音和非穿戴者的语音,实现了不同说话人的语音提取。
179.本技术实施例提供的语音提取方法,通过设置声音能量阈值对穿戴者和非穿戴者的语音进行分辨,提高了语音提取的准确性。
180.在一些实施例中,该方法还包括:
181.获取包括多个说话人语音的第二混合语音,其中,第二混合语音是第二麦克风采集的;
182.基于语音分离模型对第一混合语音和第二混合语音进行分离得到每个说话人的初始语音;
183.确定第一混合语音的声音能量和第二混合语音的声音能量;
184.将声音能量最强的混合语音作为目标混合语音;
185.从目标混合语音中提取每个说话人的语音帧,多个说话人包括第一说话人和第二说话人。
186.具体地,为了提高语音获取的效果,可以在智能穿戴设备上设置多个麦克风,从而获取多路混合语音。例如,可以设置第二麦克风,采集第二混合语音。
187.为了提高语音提取后每个说话人的语音处理效果,可以在进行语音提取之前,可以计算各路混合语音的声音能量。声音能量可以用自功率谱表示。从多路混合语音中选择声音能量最强的混合语音作为待提取的混合语音,从而保证语音提取的效果。自功率谱最大的混合语音可以被确定为声音能量最强的混合语音。
188.例如,分别确定第一混合语音的声音能量和第二混合语音的声音能量。从第一混合语音和第二混合语音中,选择声音能量最强的混合语音作为目标混合语音。并采用上述实施例中的方法,从目标混合语音中提取第一说话人的语音帧和第二说话人的语音帧。
189.第一说话人对应穿戴者,第二说话人对应非穿戴者。
190.图5为本技术一个实施例提供的智能穿戴设备的结构示意图,如图5所示,该智能穿戴设备500包括声音拾取装置510和语音提取装置520;
191.声音拾取模块510,用于获取包括多个说话人语音的混合语音;多个说话人包括穿戴者和非穿戴者;
192.语音提取装置520包括分离模块521和提取模块522。
193.分离模块521,用于对混合语音进行分离,得到每个说话人的初始语音;提取模块522,用于基于每个说话人的初始语音与混合语音之间的互相关性,从每个初始语音或者第一混合语音中确定每个说话人的语音帧。
194.具体地,智能穿戴设备可以为智能眼镜、智能手表、智能手环、智能头盔或者智能耳机等。声音拾取装置可以包括单个麦克风、多个麦克风或者麦克风阵列。
195.图6为本技术一个实施例提供的智能穿戴设备的工作示意图,如图6所示,该智能穿戴设备中的声音拾取模块包括2个麦克风,分别采集第一混合语音和第二混合语音。
196.将第一混合语音和第二混合语音输入分离模块,可以得到穿戴者的初始语音和非穿戴者的初始语音。
197.将声音能量最强的第一混合语音作为待提取的混合语音,与穿戴者的初始语音和非穿戴者的初始语音一并输入提取模块,最终得到穿戴者的语音帧和非穿戴者的语音帧。
198.本技术实施例提供的智能穿戴设备,对混合语音进行分离,得到每个说话人的初始语音;基于每个说话人的初始语音与混合语音之间的互相关性,从混合语音中提取每个说话人的语音帧。利用了每个说话人的初始语音与混合语音之间的相关信息,对混合语音进行了精确提取,提高了语音提取的准确性;此外,既不需要增加额外的硬件设备用于分离不同说话人的语音,也不需要预先获取说话人的声纹信息,提高了语音提取的广泛适用性;在便捷使用的同时也能获取准确的语音提取效果,提高了用户使用智能穿戴设备的使用体验。
199.图7为本技术一个实施例提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线(communications bus)740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑命令,以执行如下方法:
200.获取包括多个说话人语音的第一混合语音,其中,第一混合语音是第一麦克风采集的;对第一混合语音进行分离,得到每个说话人的初始语音;基于每个说话人的初始语音与第一混合语音的互相关性,从每个初始语音或者第一混合语音中确定每个说话人的语音帧。
201.此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
202.本技术实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
203.本技术实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
204.其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
205.本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
206.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
207.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行每个实施例或者实施例的某些部分所述的方法。
208.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。