一种语音分离方法、装置及电子设备与流程

文档序号:25084048发布日期:2021-05-18 15:15阅读:126来源:国知局

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.语音整合子模块,用于对所述语音信号不同声源在时域上的分离信号按照时间顺序进行整合,得到所述语音信号分离后的结果。
45.一种电子设备,包括:存储器和处理器;
46.其中,所述存储器用于存储程序;
47.处理器调用程序并用于:
48.获取待进行语音分离的语音信号;
49.计算所述语音信号在每一频带上对应的解混矩阵;
50.基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。
51.相较于现有技术,本发明具有以下有益效果:
52.本发明提供了一种语音分离方法、装置及电子设备,获取待进行语音分离的语音信号,计算所述语音信号在每一频带上对应的解混矩阵,基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。通过本发明,可以实现语音分离,进而可以从嘈杂环境下提取出感兴趣的声源。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
54.图1为本发明实施例提供的一种语音处理流程图;
55.图2为本发明实施例提供的一种语音分离方法的方法流程图;
56.图3为本发明实施例提供的另一种语音分离方法的方法流程图;
57.图4为本发明实施例提供的再一种语音分离方法的方法流程图;
58.图5为本发明实施例提供的一种语音在一频带上的分布直方图;
59.图6为本发明实施例提供的一种语音分离装置的结构示意图。
具体实施方式
60.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
61.本发明实施例主要研究语音分离方法,发明人在对语音分离研究的过程中,发现语音分离和识别的过称为:
62.利用麦克风阵列采集声音,即麦克风信号,然后使用麦克风阵列声源定位srp-phat和粒子滤波对活动声源进行定位和跟踪,再根据跟踪的声源的方位对语音进行盲语音分离,对分离后的每路音频做后处理(即单通道后置滤波),最后送给语音识别器进行识别。
63.上述该方案在仿真数据的情况下能有良好的表现,但是当应用于实际的场景时,表现不理想,分析其各个模块,发现即使声源定位非常准确的情况下,基于声源方位的盲语音分离(geometric source separation gss)模块的分离效果依然很差,通道之间互扰非常严重,虽然这个缺点经过后置滤波后有所纠正,但是达不到有效提取目标语音的目标。经
过详细分析,发现gss有如下缺点:
64.一、gss利用语音信号的非平稳特性,将独立性转化为互不相关,本质上只用到了信号的二阶统计信息。
65.二、语音信号为宽带信号,每个频带上分布都不一样,这里盲语音分离算法假定语音在各频带分布是一样的,即认为语音在每个频带上的分布属于拉普拉斯分布,但实际场景下语音在每个频带上的分布并不一定服从拉普拉斯分布,这会导致最终的分离结果在各个频带表现不一致,影响最终分离效果。
66.发明人在上述盲语音分离的基础上,做了进一步的技术改进,得到了本发明实施例的语音分离方法,具体的,参照图1,语音分离方法可以包括:
67.s11、获取待进行语音分离的语音信号。
68.本实施例中,采用扬声器矩阵进行语音采集,扬声器的数量依据实际场景而定,如4个、5个等。
69.实际场景一般都是有混响的环境,麦克风采集信号为语音的卷积混合,时域关系为:
[0070][0071]
其中,x
l
(t)为第l个麦克风采集的信号,为从p个声源到第l个麦克风的脉冲响应,s
p
为声源,u
l
为加性噪声。
[0072]
s12、计算所述语音信号在每一频带上对应的解混矩阵。
[0073]
其中,解混矩阵就是为了将语音信号进行分离的矩阵,在对语音信号进行分离时,是对语音信号的频域部分的每一带宽进行处理的。
[0074]
s13、基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。
[0075]
进行语音分离后,就可以单独确定出每一声源的语音,进而能够对感兴趣的语音进行语音识别等操作。
[0076]
本实施例中,获取待进行语音分离的语音信号,计算所述语音信号在每一频带上对应的解混矩阵,基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。通过本发明,可以实现语音分离,进而可以从嘈杂环境下提取出感兴趣的声源。
[0077]
本发明的另一实施例中给出了步骤s12“计算所述语音信号在每一频带上对应的解混矩阵”的过程,参照图2,步骤s12可以包括:
[0078]
s21、将所述语音信号从时域转换到频域,得到频域信号。
[0079]
本实施例采用独立成分分析ica(independent component correlation algorithm)进行语音分离,ica及其衍生算法可以进行盲语音分离。语音信号为宽带非平稳信号,对其处理一般采用短时傅里叶变换stft分频带分帧,再对每个频带单独做复数ica分离。
[0080]
经过短时傅里叶变换stft后,时域卷积混合转变为频域线性混合:
[0081]
x(k)=a(k)s(k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0082]
x(k),a(k)和s(k)分别为x,a和s的stft变换,k表示频带。
[0083]
s22、获取所述频域信号在每一频带上的子频域信号。
[0084]
s23、根据所述频域信号在每一频带上的子频域信号,计算代价函数。
[0085]
s24、依据所述代价函数,计算所述语音信号在每一频带上对应的解混矩阵。
[0086]
ica算法需要在每个频带估计一个解混矩阵w(k):
[0087]
y(k)=w(k)x(k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0088]
使得y(k)=s(k)或者是s(k)的某种线性表示,y
k
为频域信号。
[0089]
ica解决这个问题的途径是构建一个代价函数j(y)来度量y的分量[y1,y2,...,y
p
]之间的混合度,混合度越小,说明分离得越彻底,因此最小化该代价函数就能估计出最优解混矩阵:
[0090]
w
opt
=arg min
w
(j(y))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0091]
在实际信号处理中,在频域最小化代价函数一般采用自然梯度下降法,即
[0092]
w
t+1
=w
t-μj

(w
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0093]
t表示迭代次数,μ表示步长,一般设置为0.1,j

为j的自然梯度。
[0094]
现在ica的关键就是代价函数的设计,负熵是最常用[1]的非高斯性度量方法,定义如下:
[0095]
j(y)=h(y
gauss
)-h(y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0096]
h(
·
)为熵,定义为:
[0097]
h(y)=-∫p
y
(v)log p
y
(v)dv
ꢀꢀꢀ
(7)
[0098]
其中y
gauss
是与随机变量y具有相同的方差高斯变量,p
y
为y的概率分布函数,
[0099][0100]
在本实施例的基础上,参照图4,步骤s23可以包括:
[0101]
s31、获取表征所述语音信号在各频带上的分布特性的初始超高斯分布函数。
[0102]
目前实际的语音分离中,一般假定代价函数中p
y
服从拉普拉斯分布,即语音在每个频带的分布属于拉普拉斯分布,实际场景下语音在每个频带并不一定服从拉普拉斯分布。
[0103]
对语音在各频带的分布特性进行分析。图5为一个近场语音在子带频率f
s
=800hz的实部的分布直方图。图中带颜色部分为实际语音的分布,这是一个典型的超高斯分布,不属于拉普拉斯分布。
[0104]
大量纯净语音数据统计表明,可以用通用高斯概率密度函数(generalized gaussian pdf,即初始超高斯分布函数)来表示各个频带的分布:
[0105][0106]
p为形状参数,为尺度参数,这两个参数可以通过实际数据来估计,γ(.)为gamma函数,且
[0107][0108]
s32、基于所述频域信号在每一频带上的子频域信号,计算所述初始超高斯分布函数中的参数。
[0109]
的估计公式为:
[0110][0111]
形状参数
p
没有闭式解,只能用最大似然估计法,实际使用中可以取一个固定值0.5。
[0112]
s33、基于所述初始超高斯分布函数中的参数,计算得到所述代价函数。
[0113]
在实际应用中,步骤s33可以包括:
[0114]
基于所述初始超高斯分布函数中的参数,计算得到代价函数的自然梯度,根据所述代价函数的自然梯度,计算得到所述代价函数。
[0115]
具体的,通用高斯概率密度函数的熵为:
[0116][0117]
将公式(8)和公式(12)代入公式(6)并求其自然梯度,得到:
[0118][0119]
公式(13)代入公式(5),进行迭代运算,即可得到最终结果。
[0120]
在本实施例的基础上,步骤s13可以包括:
[0121]
基于所述语音信号在每一频带上对应的解混矩阵,对相应的子频域信号进行分离,得到所述语音信号在每一频带上不同声源的分离信号,所述语音信号在每一频带上不同声源的分离信号进行频域转时域变换,得到所述语音信号不同声源在时域上的分离信号,对所述语音信号不同声源在时域上的分离信号按照时间顺序进行整合,得到所述语音信号分离后的结果。
[0122]
具体的,得到解混矩阵之后,使用解混矩阵对子频域信号进行分离,分离得到不同声源的信号,然后将频域转时域,然后在按照时间先后顺序进行组合即可。
[0123]
本实施例的关键点为分频带估计语音的分布。在实际场景下,不同的人或者不同环境下每个频带的分布都是不同的,无法做到准确估计,ica算法鲁棒性非常高,即使有一些误差也能达到比较好的分离效果。另外,本发明实施例基于信号的四阶统计特性,理论上就比仅利用二阶信息的波束或者现有技术方案一能更好提取目标语音。另外,本发明实施例针对语音的宽带特性在每个频带内分别估计其分布,以此为先验信息更准确分离出目标声源。
[0124]
本实施例主要针对语音信号,对嘈杂环境下目标语音的提取有明显的改进,适用于所有使用麦克风阵列进行语音增强的场景。
[0125]
可选的,在上述语音分离方法的实施例的基础上,本发明的另一实施例提供了一种语音分离装置,参照图6,可以包括:
[0126]
信号获取模块101,用于获取待进行语音分离的语音信号;
[0127]
矩阵计算模块102,用于计算所述语音信号在每一频带上对应的解混矩阵;
[0128]
语音分离模块103,用于基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。
[0129]
本实施例中,获取待进行语音分离的语音信号,计算所述语音信号在每一频带上对应的解混矩阵,基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。通过本发明,可以实现语音分离,进而可以从嘈杂环境下提取出感兴趣的声源。
[0130]
需要说明的是,本实施例中的各个模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
[0131]
可选的,在上述语音分离装置的实施例的基础上,所述矩阵计算模块包括:
[0132]
信号转换子模块,用于将所述语音信号从时域转换到频域,得到频域信号;
[0133]
信号获取子模块,用于获取所述频域信号在每一频带上的子频域信号;
[0134]
函数计算子模块,用于根据所述频域信号在每一频带上的子频域信号,计算代价函数;
[0135]
矩阵计算子模块,用于依据所述代价函数,计算所述语音信号在每一频带上对应的解混矩阵。
[0136]
进一步,所述函数计算子模块包括:
[0137]
函数获取单元,用于获取表征所述语音信号在各频带上的分布特性的初始超高斯分布函数;
[0138]
参数计算单元,用于基于所述频域信号在每一频带上的子频域信号,计算所述初始超高斯分布函数中的参数;
[0139]
函数计算单元,用于基于所述初始超高斯分布函数中的参数,计算得到所述代价函数。
[0140]
进一步,所述函数计算单元用于基于所述初始超高斯分布函数中的参数,计算得到所述代价函数时,具体用于:
[0141]
基于所述初始超高斯分布函数中的参数,计算得到代价函数的自然梯度,根据所述代价函数的自然梯度,计算得到所述代价函数。
[0142]
进一步,所述语音分离模块包括:
[0143]
语音分离子模块,用于基于所述语音信号在每一频带上对应的解混矩阵,对相应的子频域信号进行分离,得到所述语音信号在每一频带上不同声源的分离信号;
[0144]
语音变换子模块,用于所述语音信号在每一频带上不同声源的分离信号进行频域转时域变换,得到所述语音信号不同声源在时域上的分离信号;
[0145]
语音整合子模块,用于对所述语音信号不同声源在时域上的分离信号按照时间顺序进行整合,得到所述语音信号分离后的结果。
[0146]
本实施例主要针对语音信号,对嘈杂环境下目标语音的提取有明显的改进,适用于所有使用麦克风阵列进行语音增强的场景。
[0147]
需要说明的是,本实施例中的各个模块、子模块和单元的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
[0148]
可选的,在上述语音分离方法的实施例的基础上,本发明的另一实施例提供了一种电子设备,包括:存储器和处理器;
[0149]
其中,所述存储器用于存储程序;
[0150]
处理器调用程序并用于:
[0151]
获取待进行语音分离的语音信号;
[0152]
计算所述语音信号在每一频带上对应的解混矩阵;
[0153]
基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。
[0154]
进一步,所述计算所述语音信号在每一频带上对应的解混矩阵,包括:
[0155]
将所述语音信号从时域转换到频域,得到频域信号;
[0156]
获取所述频域信号在每一频带上的子频域信号;
[0157]
根据所述频域信号在每一频带上的子频域信号,计算代价函数;
[0158]
依据所述代价函数,计算所述语音信号在每一频带上对应的解混矩阵。
[0159]
进一步,所述根据所述频域信号在每一频带上的子频域信号,计算代价函数,包括:
[0160]
获取表征所述语音信号在各频带上的分布特性的初始超高斯分布函数;
[0161]
基于所述频域信号在每一频带上的子频域信号,计算所述初始超高斯分布函数中的参数;
[0162]
基于所述初始超高斯分布函数中的参数,计算得到所述代价函数。
[0163]
进一步,所述基于所述初始超高斯分布函数中的参数,计算得到所述代价函数,包括:
[0164]
基于所述初始超高斯分布函数中的参数,计算得到代价函数的自然梯度;
[0165]
根据所述代价函数的自然梯度,计算得到所述代价函数。
[0166]
进一步,所述基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离,包括:
[0167]
基于所述语音信号在每一频带上对应的解混矩阵,对相应的子频域信号进行分离,得到所述语音信号在每一频带上不同声源的分离信号;
[0168]
所述语音信号在每一频带上不同声源的分离信号进行频域转时域变换,得到所述语音信号不同声源在时域上的分离信号;
[0169]
对所述语音信号不同声源在时域上的分离信号按照时间顺序进行整合,得到所述语音信号分离后的结果。
[0170]
本实施例中,获取待进行语音分离的语音信号,计算所述语音信号在每一频带上对应的解混矩阵,基于所述语音信号在每一频带上对应的解混矩阵,对所述语音信号进行语音分离。通过本发明,可以实现语音分离,进而可以从嘈杂环境下提取出感兴趣的声源。
[0171]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!