首页 > 乐器声学 专利正文
语音混合信号分离方法及装置、存储介质及电子设备与流程

时间:2022-02-06 阅读: 作者:专利查询

语音混合信号分离方法及装置、存储介质及电子设备与流程

1.本公开涉及语音分离技术领域,具体而言,涉及一种语音混合信号分离方法及装置、计算机可读存储介质及电子设备。


背景技术:

2.随着语音识别功能兴起,采用盲源分离技术的语音设备越广泛,例如智能音箱、手机智能电视等。
3.但是现有技术中的语音混合信号分离方法大于混合语音信号的分离精度较差,且计算量较大。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开的目的在于提供一种语音混合信号分离方法、语音混合信号分离装置、计算机可读介质和电子设备,进而至少在一定程度上提升对语音混合信号的分离精度,且降低了计算量。
6.根据本公开的第一方面,提供一种语音混合信号分离方法,包括:将所述语音混合信号进行转换得到时频域混合信号;
7.对所述时频域混合信号按照预设规则进行预设重叠率的子带划分;
8.根据辅助函数独立向量分析计算各所述子带的分离矩阵;
9.根据各所述分离矩阵对所述语音混合信息进行信号分离。
10.根据本公开的第二方面,提供一种语音混合信号分离装置,包括:
11.转换模块,用于将所述语音混合信号进行转换得到时频域混合信号;
12.划分模块,用于对所述时频域混合信号按照预设规则进行预设重叠率的子带划分;
13.计算模块,用于根据辅助函数独立向量分析计算各所述子带的分离矩阵;
14.分离模块,用于根据各所述分离矩阵对所述语音混合信息进行信号分离。
15.根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
16.根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
17.处理器;以及
18.存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
19.本公开的一种实施例所提供的语音混合信号分离方法,将语音混合信号进行转换得到时频域混合信号;对时频域混合信号按照预设规则进行预设重叠率的子带划分;根据辅助函数独立向量分析计算各子带的分离矩阵;根据各分离矩阵对语音混合信息进行信号
分离。相较于现有技术,本公开按照预设规则进行预设重叠率进行子带划分,对重叠区域的子带可以进行多次分离,提升了分离信号的精度,同时,基于辅助函数独立向量分析计算各所述子带的分离矩阵,对各个子带均进行了单独的基于辅助函数独立向量分析,相较于现有技术中的算法的迭代过程在全频段上进行,本公开的计算难度较小,且迭代的计算量较小。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
23.图2示出了可以应用本公开实施例的一种电子设备的示意图;
24.图3示意性示出本公开示例性实施例中一种语音混合信号分离方法的流程图;
25.图4示出本公开示例性实施例中一种子带划分方式的示意图;
26.图5示意性示出本公开示例性实施例中根据辅助函数独立向量分析计算各子带的分离矩阵的流程图;
27.图6示出本公开示例性实施例中麦克风1接收信号x1(t)的示意图;
28.图7示出本公开示例性实施例中麦克风2接收信号x2(t)的示意图;
29.图8示出本公开示例性实施例中分离信号1的示意图;
30.图9示出本公开示例性实施例中分离信号2的示意图;
31.图10示意性示出本公开示例性实施例中语音混合信号分离装置的组成示意图。
具体实施方式
32.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
33.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
34.相关技术中,盲源分离研究的是如何将各个源信号从观测到的混合信号中分离出来,所谓“盲”是指源信号和源信号的混合过程都是未知的。盲源分离技术有许多潜在的应用,如语音增强、脑电信号分析及核磁共振成像分析、图像去噪等。目前通常使用频域盲源分离算法处理语音识别前端的混合语音分离任务。目前通常采用如下两种方式进行语音分
离:
35.第一种是根据采样率调整划分子带数和子带大小,采用快速独立向量算法计算无重叠子带每个频点的分离矩阵,实现语音信号的盲分离。第二种是对麦克风阵列接收到的语音信息进行去混响处理,得到去混响语音信号,然后基于overiva算法,对所述去混响语音信号进行盲源分离,提升盲源分离效果。但是,第一种虽然能有效利用相邻频带间具有强相关性、距离较远的频带相关性较弱这一特性,但是不同子带间会存在排列模糊的问题,因此仍需借助解排列模糊后处理算法对分离信号的频带进行重新排列,计算量增大。第二种方法适用场景主要是麦克风个数大于声源个数的情况,且在噪声为稳态噪声的情况下性能较好。基于独立向量分析的盲源分离算法,存在声源能量近似的子带时会产生块排列模糊的问题。若不借助于解排列模糊的后处理技术,会造成时域分离信号产生卷积问题,严重影响分离性能,对后续的唤醒和识别造成严重影响。
36.鉴于上述问题,本公开的示例性实施方式首先提供一种语音混合信号分离方法。下面结合图1对本示例性实施方式运行环境的系统架构与应用场景进行示例性说明。
37.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有语音分离功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
38.本公开实施例所提供的语音混合信号分离方法一般由终端设备101、102、103中执行,相应地,语音混合信号分离装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的语音混合信号分离方法也可以由服务器105执行,相应的,语音混合信号装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103包括的用于采集语音混合信号,然后将语音混合信号上传至服务器105,服务器通过本公开实施例所提供的语音混合信号分离的完成对语音混合信号的分离之后,将分离后的语音信号传输给终端设备101、102、103等。
39.本公开的示例性实施方式提供一种用于实现语音混合信号分离方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行语音混合信号分离方法。下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
40.如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器
接口222、通用串行总线(universal serial bus,usb)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,sim)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
41.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
42.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
43.处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
44.充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。
45.移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2g/3g/4g/5g等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)、蓝牙(bluetooth,bt)等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。
46.移动终端200通过gpu、显示屏290及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏290和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
47.移动终端200可以通过isp、摄像模组291、视频编解码器、gpu、显示屏290及应用处理器等实现拍摄功能。其中,isp用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。
48.外部存储器接口222可以用于连接外部存储卡,例如micro sd卡,实现扩展移动终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
49.内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。
50.移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。
51.深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。
52.压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器2802可以设置于显示屏290。压力传感器2802的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。
53.陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖、导航、体感游戏场景等。
54.此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
55.移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、sim卡接口295等。
56.下面对本公开示例性实施方式的语音混合信号分离方法和语音混合信号分离装置进行具体说明。
57.图3示出了本示例性实施方式中一种语音混合信号分离方法的流程,包括以下步骤:
58.步骤s310,将所述语音混合信号进行转换得到时频域混合信号;
59.步骤s320,对所述时频域混合信号按照预设规则进行预设重叠率的子带划分;
60.步骤s330,根据辅助函数独立向量分析计算各所述子带的分离矩阵;
61.步骤s340,根据各所述分离矩阵对所述语音混合信息进行信号分离。
62.相较于现有技术,本技术按照预设规则进行预设重叠率进行子带划分,对重叠区域的子带可以进行多次分离,提升了分离信号的精度,同时,基于辅助函数独立向量分析计算各所述子带的分离矩阵,对各个子带均进行了单独的基于辅助函数独立向量分析,相较于现有技术中的算法的迭代过程仍然时在全频段上进行计算难度较小,且迭代的计算量较
小。
63.下面对上述各个步骤进行详细说明。
64.在步骤s310中,将所述语音混合信号进行转换得到时频域混合信号。
65.在本公开的一种示例实施方式中,可以首先获取上述语音混合混合信号,其中上述语音混合信号可以包括由多个声音采集装置采集的由多个声源发出的声音信息,其中,上述声音采集装置可以是麦克风,上述声音采集装置的数量可以是两个、三个、四个或更多个,也可以根据用户需求进行自定义,上述声源的数量可以是两个、三个、四个或更多个,也可以根据用户需求进行自定义,在本示例实施方式中不做就限定。
66.在本示例实施方式中,在获取到上述语音混合信号之后,可以对上述语音混合信号进行短时傅里叶变化得到时频域混合信号。
67.下面以上述声源数量为两个,声音采集装置的数量也为两个为例对上述步骤进行详细说明。
68.其中,t时刻第m个麦克风上的接收信号xm(t)可以表示为:
[0069][0070]
其中,l表示信道阶数;a
mn
(j),j=0,1,

,l表示第n个声源到第m个麦克风的混合系数;sn(t)表示第n个声源信号。用矩阵可以表示为:
[0071][0072]
其中,x(t)=[x1(t),x2(t)]
t
为接收信号构成的向量,t表示矩阵或向量的非共轭转置操作,s(t)=[s1(t),s2(t)]
t
表示源信号构成的向量,表示混合系数构成的矩阵,可称为混合矩阵。
[0073]
对接收信号进行点数为f的短时傅里叶变换,得到相应的时频域的信号:
[0074]
x(f,τ)=h(f)s(f,τ)
[0075]
其中,表示频点,τ表示时间帧,x(f,τ)是频域接收信号向量,h(f)为频点f上的混合矩阵,s(f,τ)为频域源信号向量。基于辅助函数独立向量分析语音分离的目标是在各个频点求解一个分离矩阵w(f)使得分离信号相互独立统计,其中,上述点数f可以与混响时间正相关,可以为1024,也可以根据用户需求进行自定义,在本示例实施方式中不具体限定。
[0076]
y(f,τ)=w(f)x(f,τ)
[0077]
其中,y(f,τ)表示时频域分离信号。
[0078]
在步骤s320中,对所述时频域混合信号按照预设规则进行预设重叠率的子带划分。
[0079]
在本示例实施方式中,可以首先确定所述时频域混合信号的频点个数,并根据所述频点个数确定子带数量,其中所述子带数量与所述频点个数正相关;根据所述子带数量
和所述预设重叠率对所述时频域混合信号进行子带划分。其中,上述预设重叠率可以大于等于50%且小于等于60%,例如,预设重叠率可以是50%、55%、60%等,也可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
[0080]
在本示例实施方式中,上述子带数量与频点个数的相关系数可以是100、150、200等,还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定。
[0081]
在本示例实施方式中,还可以非均匀子带划分的方法,在高频处子带较大,低频处子带较小,重叠率的设置可以根据需求进行自定义,在本示例实施方式中不做具体限定。
[0082]
举例而言,参照图4所示,频点个数为1024个,此时可以将上述子带数量设置为7个,重叠率设置为50%,即频点1-256为第一子带,频点128-384为第二子带,频点256-512为第三子带,频点384-640为第四子带,频点512-768为第五子带,频点640-896为第六子带,频点896-1024为第七子带。
[0083]
在步骤s330中,根据辅助函数独立向量分析计算各所述子带的分离矩阵。
[0084]
在本示例实施方式中,可以针对划分好的每一个子带均执行如下步骤:
[0085]
步骤s510,获取所述子带对应的初始分离矩阵并设置初始的迭代次数为0;
[0086]
步骤s520,判断所述初始分离矩阵的迭代次数是否大于预设值或所述初始分离矩阵的各频点对应的元素是否满足第一预设条件,其中,所述第一预设条件包括所述各频点对应的元素收敛;
[0087]
步骤s530,在所有频点对应的元素均满足第一预设条件,或所述迭代次数大于预设值时,将当前的分离矩阵输出;
[0088]
步骤s540,在所有频点对应的元素不满足第一预设条件时,更新所述初始分离矩阵和所述迭代次数。
[0089]
在步骤s510时,获取所述子带对应的初始分离矩阵并设置初始的迭代次数为0。
[0090]
在本示例实施方式中,在获取上述子带对应的初始分离矩阵时,可以根据第n个子带对应的初始分离矩阵确定第n+1个子带对应的初始分离矩阵,n为大于等于1的正整数;具体而言,在第n+1个子带对应的初始分离矩阵中元素的值配合为所述第n个子带对饮的初始分离矩阵对应的值,第n+1个子带对应的初始分离矩阵的其他元素的值均配置为1,举例而言,在n等于1时,第一子带与第二子带之间的重叠区域为频点范围为128-256,其中若第一子带中的频点范围为128-256对应的分离矩阵中的元素值为a,则,上述第二子带中频点范围为128-256对应的分离矩阵中的元素值也为a,并将上述第二子带中频点范围为256-284对应的分离矩阵中的元素值均配置为1。即可以使得auxiva算法的输入数据可以分为两个部分(除第一个子带外):上个子带分离好的数据和未经分离的数据。这是由于相邻两个子带是相互重叠的,重叠部分的数据已经在上一个子带中被处理过了,重叠部分大多数频点都能够正常收敛,只留下少数没有实现分离的频点,这些频点和子带中未经处理的频点就是当前子带需要处理的输入数据。采用这种机制可以大大减少当前子带需要计算的频点数,从而降低计算量。
[0091]
在本示例实施方式中,可以将第一个子带对应的所述初始分离矩阵配置为单位矩阵。
[0092]
在步骤s520中,判断所述初始分离矩阵的迭代次数是否大于预设值或所述初始分离矩阵的各频点对应的元素是否满足第一预设条件,其中,所述第一预设条件包括所述各
频点对应的元素收敛。
[0093]
具体而言,上述迭代次数的预设值可以为2次、3次等,也可以根据用户需求及进行自定义,在本示例实施方式中不做具体限定。
[0094]
在本示例实施方式中,可以在判断上述各频点对应的元素是否收敛时,可以利用如下公式进行判断:
[0095]
ip([w(f,τ)]-1
w(f,τ-1))≤10-6
[0096]
其中,衡量矩阵g与单位阵im的广义排列矩阵的接近程度,越接近ip(g)的值越小,其中,上述矩阵均为方阵,其中m表示矩阵的维度,其中,max
l
表示遍历行或者列的最大值。
[0097]
在步骤s530中,在所有频点对应的元素均满足第一预设条件,或所述迭代次数大于预设值时,将当前的分离矩阵输出;
[0098]
在步骤s540中,在所有频点对应的元素不满足第一预设条件时,更新所述初始分离矩阵和所述迭代次数。
[0099]
在本示例实施方式中,若上述频点对应的元素均满足第一预设条件时或迭代次数大于预设值时,将当前分离矩阵输出,若不满足第一预设条件,则更新上述初始分离矩阵并,并将上述迭代次数加一。
[0100]
在本示例实施方式中,更新上述初始分离矩阵时,可以首先根据所述时频域混合信号确定辅助获取多个辅助矩阵;然后利用各所述辅助矩阵对各所述辅助矩阵在初始分离矩阵中对应的元素进行更新
[0101]
具体而言,根据所述时频域混合信号的维度确定辅助矩阵的个数;获取预配置的平滑系数;根据第p帧的辅助矩阵、平滑系数以及时频域混合信号确定第p+1帧的辅助矩阵,p为大于等于1的正整数;将第一帧的辅助矩阵配置为单位矩阵。
[0102]
在本示例实施方式中,以上述声源数量为两个,声音采集装置的数量也为两个为例对上述步骤进行详细说明。
[0103]
首先可以获取根据上述时频域混合信号的信号源的数量获取响应数量的辅助矩阵,具体而言:
[0104][0105][0106]
其中,yc(f,τ)=[w(f,τ-1)]hx(f,τ),由于本帧的分离矩阵尚未获取,因此利用上一帧的分离矩阵计算本帧的参考时频域分离信号yc(f,τ),v1(f,τ)、v2(f,τ)均为上述辅助矩阵,第一帧的辅助矩阵v1(f,0)=v2(f,0)=im,f=1,2,

,f。α为平滑系数,其中平滑系数可以大于或等于0.95且小于或等于0.99,例如,0.96、0.98等,还可以根据用户需求进行自定义,在本示例实施方式中不做具体限定,其中上述τ与p的含义相同,均表示时间帧,即第p
帧相当于第τ帧。
[0107]
然后可以根据上述辅助矩阵对上述初始分离矩阵进行更新,具体而言。
[0108]
wi(f,τ)=(w(f,τ-1)vi(f,τ))ei,i=1,2
[0109]
其中,ei为单位阵im的第i列,[wi(f,τ)]h为w(f,τ)的第i行,然后可以对上述初始分离矩阵归一化处理,具体如下:
[0110][0111]
在本示例实时方式中,可以利用上述方式确定各个子带的分离矩阵。
[0112]
步骤s340,根据各所述分离矩阵对所述语音混合信息进行信号分离。
[0113]
在本示例实施方式中,可以首先根据所述时频域混合信号和所述分离矩阵得到时频域分离信号;然后对所述时频域分离信号进行短时傅里叶逆变换得到目标分离信号。
[0114]
具体而言,在得到本帧的分离矩阵w(f,τ),f=1,2,

,f之后,可以根据一下公式计算时频域分离信号:
[0115]
y(f,τ)=[w(f,τ)]hx(f,τ),f=1,2,

,f;
[0116]
其中,上述y(f,τ)表示时频域分离信号。
[0117]
然后,可以将时频域的分离信号y(f,τ)经过短时傅里叶逆变换变为时域信号y(t)=[y1(t) y2(t)]
t
,即可以得到分离后的目标分离信号。
[0118]
下面通过一具体的示例实施方式为例,对上述语音混合信号分离方法进行介绍,以使得其技术效果更加明确。
[0119]
具体而言,采集场景如下:双麦克间距16cm,目标声源距离麦克风分别为80cm和250cm,干扰声源距离麦克风250cm,目标声源角度分别为0
°
,90
°
和180
°
,相应的干扰声源分别为60
°
,20
°
和90
°
,信噪比分别为0db和5db,对降低百分比如下表所示。
[0120]
表1 字错误率相对降低百分比
[0121][0122]
由表1可知,本公开中的语音混合信号分离方法的字错误率相较于不采用该算法时有了明显降低,能够实现提升识别精度。
[0123]
具体可以参照图6和图7所示,其中图6示出了麦克风1接收信号x1(t),图7示出了麦克风2接收信号x2(t),在采用本技术中的语音混合信号分离方法可以得到了如图8和图9所示的分离信号,其中图8示出了分离信号1y1(t),图9示出了分离信号2y2(t),其中分离信号1y1(t)为人声信号,分离信号2y2(t)为电视背景音信号。从人声信号的时域波形图和频谱可以看出,两个信号实现了有效分离。
[0124]
综上所述,本示例性实施方式中,相较于现有技术,本技术按照预设规则进行预设
重叠率进行子带划分,且重叠率大于或等于50%,对重叠区域的子带可以进行多次分离,提升了分离信号的精度,同时,基于辅助函数独立向量分析计算各所述子带的分离矩阵,对各个子带均进行了单独的基于辅助函数独立向量分析,相较于现有技术中的算法的迭代过程仍然时在全频段上进行计算难度较小,且迭代的计算量较小。
[0125]
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0126]
进一步的,参考图10所示,本示例的实施方式中还提供一种语音混合信号分离装置1000,包括转换模块1010、划分模块1020、计算模块1030、以及分离模块1040。其中:
[0127]
转换模块1010可以用于将语音混合信号进行转换得到时频域混合信号,具体而言,对语音混合信号进行短时傅里叶变化得到时频域混合信号。
[0128]
划分模块1020可以用于对时频域混合信号按照预设规则进行预设重叠率的子带划分,具体而言,确定时频域混合信号的频点个数,并根据频点个数确定子带数量,其中子带数量与频点个数正相关;根据子带数量和预设重叠率对时频域混合信号进行子带划分。其中,预设重叠率大于或等于50%且小于或等于60%。
[0129]
计算模块1030可以用于根据辅助函数独立向量分析计算各子带的分离矩阵,具体而言,可以针对每一个子带执行如下迭代操作:获取子带对应的初始分离矩阵并设置初始的迭代次数为0;判断初始分离矩阵的迭代次数是否大于预设值或初始分离矩阵的各频点对应的元素是否满足第一预设条件,其中,第一预设条件包括各频点对应的元素收敛;在所有频点对应的元素均满足第一预设条件,或迭代次数大于预设值时,将当前的分离矩阵输出;在所有频点对应的元素不满足第一预设条件时,更新初始分离矩阵和迭代次数。
[0130]
在本示例实施方式中,计算模块1030在获取子带对应的初始分离矩阵时,可以首先根据第n个子带对应的分离矩阵确定第n+1个子带对应的初始分离矩阵,n为大于等于1的正整数;将第一个子带对应的初始分离矩阵配置为单位矩阵。
[0131]
在本示例实施方式中,计算模块1030在更新初始分离矩阵时,首先根据时频域混合信号确定辅助获取多个辅助矩阵;利用各辅助矩阵对各辅助矩阵在初始分离矩阵中对应的元素进行更新。具体而言,根据时频域混合信号的维度确定辅助矩阵的个数;获取预配置的平滑系数;根据第p帧的辅助矩阵、平滑系数以及时频域混合信号确定第p+1帧的辅助矩阵,p为大于等于1的正整数;将第一帧的辅助矩阵配置为单位矩阵。
[0132]
在本示例实施方式中,分离模块1040可以用于根据各分离矩阵对语音混合信息进行信号分离,具体而言,根据时频域混合信号和分离矩阵得到时频域分离信号;对时频域分离信号进行短时傅里叶逆变换得到目标分离信号。
[0133]
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0134]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0135]
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实
现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
[0136]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0137]
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0138]
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0139]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0140]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。