一种语音处理方法、装置和用于语音处理的装置
文献发布时间:2023-06-19 09:27:35
技术领域
本发明涉及计算机技术领域,尤其涉及一种语音处理方法、装置和用于语音处理的装置。
背景技术
说话者分割是指:在语音处理领域,从多人对话中自动地将语音依据说话者进行划分,并加以标记的过程。
然而,由于噪声以及多个说话者语音交叠等带来的干扰,容易将对应语音数据误判为并不存在的新说话者,从而导致需要被区分的说话者的类别逐渐增加,语音被分割得越来越碎,最终影响说话者分割的准确率。
发明内容
本发明实施例提供一种语音处理方法、装置和用于语音处理的装置,可以提高说话者分割的准确率。
为了解决上述问题,本发明实施例公开了一种语音处理方法,所述方法包括:
获取待处理的语音数据;
对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点;
基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果。
另一方面,本发明实施例公开了一种语音处理装置,所述装置包括:
语音获取模块,用于获取待处理的语音数据;
声源估计模块,用于对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点;
语音分割模块,用于基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果。
再一方面,本发明实施例公开了一种用于语音处理的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取待处理的语音数据;
对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点;
基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的语音处理方法。
本发明实施例包括以下优点:
本发明实施例在获取待处理的语音数据之后,对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点;基于所述语音数据中说话者表征特征的变化信息以及声源位置的变化信息(第一跳变点)对所述语音数据进行分割,得到分割结果。本发明实施例基于语音数据中声源位置的变化信息,对现有的说话者分割方案进行改进,可以有效减少由于噪声或者交叠人声等因素造成说话者跳变点误判的情况,进而可以提高说话者分割的准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种语音处理方法实施例的步骤流程图;
图2是本发明实施例中方案一的语音处理系统框架示意图;
图3是基于图2的系统框架对语音数据进行处理的一个示例示意图;
图4是本发明实施例中方案二的语音处理系统框架示意图;
图5是基于图4的系统框架对语音数据进行处理的一个示例示意图;
图6是本发明的一种语音处理装置实施例的结构框图;
图7是本发明的一种用于语音处理的装置800的框图;
图8是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例
参照图1,示出了本发明的一种语音处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、获取待处理的语音数据;
步骤102、对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点;
步骤103、基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果。
本发明实施例的语音处理方法可应用于电子设备。所述电子设备包括但不限于:服务器、智能手机、录音笔、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。
本发明实施例的语音处理方法可用于需要对语音数据进行说话者分割的任意场景。例如,借助说话者分割技术实现对语音数据的结构化管理,对语音数据中的不同说话者的角色信息进行有效区分,进而为更高语义层次上实现结构化管理提供基础。又如,利用说话者分割的结果进行说话者自适应(SpeakerAdaption),以提高语音识别的识别率。再如,通过说话者分割技术辅助电话、会议数据进行自动转写构建话者音频档案,进而实现说话者语音日志管理等。可以理解,本发明实施例对所述语音处理方法的应用场景不做限制。
首先,获取待处理的语音数据。所述待处理的语音数据可以为通过所述电子设备的录音功能实时采集的语音数据,例如可以利用麦克风实时采集待处理的语音数据,待处理的语音数据可以是网络直播时、或者语音通话时产生的语音数据等。或者,所述待处理的语音数据还可以为已录制好的语音数据,例如通过即时通讯应用获取或者文件拷贝等方式获取的语音数据。通过即时通讯应用获取的语音数据,例如,通过即时通讯应用向通讯对端发送的语音数据,或者,通过即时通讯应用接收的、来自通讯对端的语音数据等。本发明实施例对所述语音数据的具体来源不做限制。
然后,对获取的所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,所述第一跳变点为表示所述语音数据中声源位置发生变化的时间点。
在实际应用中,当语音数据包含多人对话时,说话者信息除了与发音器官特点、性别、年龄、口音等因素相关之外,不同说话者还处于不同的空间位置。当声源位置发生跳变时,说话者发生变化的概率较高,当声源位置固定不变时,说话者发生变化的概率较低。因此,本发明实施例基于语音数据中声源位置的变化信息,对现有的说话者分割方案进行改进,基于所述语音数据中说话者表征特征的变化信息以及声源位置的变化信息(第一跳变点)对所述语音数据进行分割,得到分割结果。所述说话者表征特征包括但不限于声纹、音色和音调等特征。本发明实施例结合说话者表征特征的变化信息和声源位置的变化信息判断说话者是否发生变化,可以有效减少将噪声或者交叠人声误判为新的说话者声的情况,可以避免说话者分割过程中检测的说话者数发散的问题,进而可以提高说话者分割的准确率。
在本发明实施例中,待处理的语音数据可以包括实时采集的语音数据或者已有的语音数据。对于实时采集的语音数据和已有的语音数据,本发明实施例可以采取不同的声源位置估计方式。
在本发明的一种可选实施例中,所述待处理的语音数据为实时采集的语音数据,步骤102所述对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,包括:
步骤S11、通过麦克风阵列实时采集语音数据;
步骤S12、在实时采集语音数据的过程中,确定声源相对于所述麦克风阵列的空间角度信息;
步骤S13、根据所述空间角度信息,监测所述语音数据中的声源位置变化信息;
步骤S14、根据监测的声源位置变化信息,确定实时采集的语音数据中的第一跳变点。
在实时采集语音数据的过程中,可以在采集端实时计算出声源的空间角度信息。具体地,可以通过DOA(Direction of Arrival,波达方向估计)技术确定声源相对于麦克风阵列的空间角度信息。
DOA是麦克风阵列的一项重要技术,其作用是在嘈杂环境下判断出说话者声源与麦克风阵列的相对方向。该技术主要利用声波到达各个麦克风的时间差进行求解,得到声源相对于麦克风阵列的空间角度信息。
所述采集端可以为具有单个麦克风阵列或多个麦克风阵列辅助的多种硬件条件的电子设备。通过单个或多个麦克风阵列同步采集和增强接收的语音数据,输出对每帧语音估计的声源位置。其中,单个麦克风阵列输出为空间角度,多个麦克风阵列通过交叉定位输出为空间坐标位置。在采集语音数据的过程中实时监控声源位置变化信息,根据对每帧语音估计的声源位置,将满足阵列空间分辨能力、差距较大的声源位置划分为不同的位置簇,将相近的声源位置划分为同一位置簇,当出现位置簇间跳变时,发生说话者变换的概率较大,则确定出现第一跳变点。
在本发明的一种可选实施例中,所述待处理的语音数据为已采集的多通道语音数据,步骤102所述对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点,包括:
将已采集的多通道语音数据上传至云服务端,通过所述云服务端对所述多通道语音数据进行声源位置估计,检测所述多通道语音数据中的第一跳变点。
对于已采集的多通道语音数据,可以采用基于深度学习的DOA估计方法。具体地,对于多人对话场景,可以采集多通道语音数据,并且将多通道语音数据上传至云服务端,通过云服务端的DOA估计模型对所述多通道语音数据进行声源位置估计,检测所述多通道语音数据中的第一跳变点。
所述DOA估计模型可以为根据机器学习方法和大量的语音训练样本,对现有的神经网络进行有监督训练得到的。所述语音训练样本包括人工标注信息,所述人工标注信息包括人工标注的真实的说话者跳变点以及人工标注的说话者身份标记。需要说明的是,本发明实施例对所述DOA估计模型的模型结构以及训练方法不加以限制。所述DOA估计模型可以是融合了多种神经网络的分类模型。所述神经网络包括但不限于以下的至少一种或者至少两种的组合、叠加、嵌套:CNN(ConvolutionalNeuralNetwork,卷积神经网络)、LSTM(LongShort-Term Memory,长短时记忆)网络、RNN(Recurrent NeuralNetwork,循环神经网络)、注意力神经网络等。
本发明实施例在对所述语音数据进行声源位置估计,检测所述语音数据中的第一跳变点之后,将检测的第一跳变点和所述语音数据一起输入本发明实施例的语音处理系统,所述语音处理系统基于所述语音数据中说话者表征特征的变化信息以及第一跳变点对所述语音数据进行分割,得到分割结果。
本发明实施例提出了如下两种基于所述语音数据中说话者表征特征的变化信息以及第一跳变点对所述语音数据进行分割的方案。
方案一
在本发明的一种可选实施例中,步骤103所述基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果,包括:
步骤S21、利用检测的所述语音数据中的各第一跳变点对所述语音数据进行切分,得到语音分段序列;
步骤S22、基于所述语音数据中说话者表征特征的变化信息对所述语音分段序列中的各语音分段进行分割,得到分割结果。
在实际应用中,说话者分割通常采用短时滑动窗的方式提取说话者表征特征,并且对说话者表征特征进行相似度打分,判断当前滑动窗内是否存在说话者表征特征的变化信息,若某个时间点发生说话者表征特征的跳变,则将该时间点作为说话者跳变点,基于检测到的说话者跳变点对语音数据进行分割。当一个滑动窗内同时包含多个说话者的语音时,提取的说话者表征特征通常呈现出与多人相似的结果,从而会影响检测说话者跳变点的准确率。
为解决上述问题,方案一先利用第一跳变点对所述语音数据进行切分,再在切分后的数据内部取滑动窗检测说话者跳变点。由此可以减少滑动窗内同时存在多个说话者的语音的情况,以提高说话者分割的准确率。
在本发明的一种可选实施例中,步骤S22所述基于所述语音数据中说话者表征特征的变化信息对所述语音分段序列中的各语音分段进行分割,得到分割结果,包括:
步骤S221、对所述语音分段序列中的各语音分段内进行滑窗,分别提取说话者表征特征;
步骤S222、根据提取的说话者表征特征确定各语音分段内的第二跳变点,所述第二跳变点为表示所述语音数据中说话者表征特征发生变化的时间点;
步骤S223、根据所述第二跳变点对所述各语音分段进行分割,得到分割结果。
本发明实施例利用第一跳变点对所述语音数据进行切分,得到语音分段序列之后,对所述语音分段序列中的各语音分段进行滑窗,在滑动窗内提取说话者表征特征。根据提取的说话者表征特征确定各语音分段内的第二跳变点,所述第二跳变点为表示所述语音数据中说话者表征特征发生变化的时间点;根据所述第二跳变点对所述各语音分段进行分割,得到分割结果。
参照图2,示出了本发明实施例中方案一的语音处理系统框架示意图,以及参照图3,示出了基于图2的系统框架对语音数据进行处理的一个示例示意图。
如图2所示的语音处理系统包括:DOA估计模块201、VAD检测模块202、语音切分模块203、说话者分割模块204。其中,DOA估计模块201用于对待处理的语音数据进行声源位置估计,检测所述语音数据中的第一跳变点。VAD检测模块202用于对待处理的语音数据进行语音活动检测(Voice Activity Detection,VAD),确定语音数据中人声出现的时间段。语音切分模块203用于根据DOA估计模块201检测的第一跳变点对所述语音数据中包含人声的数据段进行切分,得到语音分段序列。说话者分割模块204用于对所述语音分段序列进行说话者分割,得到分割结果。
如图3所示的示例中,语音数据经过DOA估计模块201处理后,检测得到如下两个第一跳变点:角度跳变点1和角度跳变点2。根据这个两个第一跳变点将该语音数据切分为如下三个语音分段:seg1、seg2、seg3。在这三个语音分段内分别进行滑窗、提取说话者表征特征,可以得到图3所示的如下6个第二跳变点:说话者跳变点1、说话者跳变点2、说话者跳变点3、说话者跳变点4、说话者跳变点5、说话者跳变点6。其中,spk1、spk2、spk3表示三个说话者。
如图3所示,在该示例中,可以避免一个滑动窗内同时存在说话者spk2和说话者spk3的情况。也即,方案一采用DOA估计结果中的第二跳变点对原始连续语音数据切分后,可以减少滑动窗内同时存在多个说话者的语音的情况,实现避免引入不真实的新说话者类别、减少同性别相似音色说话者类别间混淆度,从而达到提升说话者跳变点检测准确率的目的,进而可以提高说话者分割的准确率。
方案二
在本发明的一种可选实施例中,步骤103所述基于所述语音数据中说话者表征特征的变化信息以及所述第一跳变点对所述语音数据进行分割,得到分割结果,包括:
步骤S31、基于所述语音数据中说话者表征特征的变化信息,检测所述语音数据中的第二跳变点;
步骤S32、基于所述第一跳变点和所述第二跳变点,确定所述语音数据中的目标跳变点;
步骤S33、根据所述目标跳变点对所述语音数据进行分割,得到分割结果。
方案二是获取待处理的语音数据之后,对语音数据分别检测第一跳变点和第二跳变点,基于所述第一跳变点和所述第二跳变点,确定所述语音数据中的目标跳变点,根据所述目标跳变点对所述语音数据进行分割,得到分割结果。其中,第一跳变点为表示所述语音数据中声源位置发生变化的时间点,第二跳变点为表示所述语音数据中说话者表征特征发生变化的时间点,目标跳变点为基于第一跳变点对第二跳变点进行修正,得到的最终的说话者跳变点。利用目标跳变点对语音数据进行分割,可以避免第二跳变点为不真实说话者的情况,提高说话者分割的准确率。
在本发明的一种可选实施例中,所述步骤S32基于所述第一跳变点和所述第二跳变点,确定所述语音数据中的目标跳变点,包括:
步骤S321、判断所述第二跳变点是否满足第一条件,所述第一条件包括:所述第二跳变点对应的第一时间点所在预设时间范围内存在第一跳变点;
步骤S322、若判定所述第二跳变点满足所述第一条件,则获取距离所述第一时间点最近的第一跳变点对应的第二时间点;
步骤S323、根据所述第一时间点和所述第二时间点,确定目标跳变点。
为了检测语音数据中真实的说话者跳变点,避免由于噪声、人声交叠、或者音色相似等干扰因素造成的说话者跳变点的误判。本发明实施例在检测所述语音数据中的第二跳变点之后,利用第一跳变点校验第二跳变点是否为真实的说话者跳变点,并且对异常的第二跳变点进行修正或过滤。
例如,假设t时刻检测到第二跳变点Sct。首先判断所述第二跳变点对应的第一时间点所在预设时间范围内是否存在第一跳变点。其中,第一时间点为检测到第二跳变点Sct的时刻(如t时刻),也即,判断所述第二跳变点Sct对应的第一时间点(t时刻)所在预设时间范围内是否存在第一跳变点。所述预设时间范围内指t时刻附近的一定时间范围内,如(st,et]。其中,st=t-a,et=t+a,a为预设可接受的容错时间。
本发明实施例将所述第二跳变点对应的第一时间点所在预设时间范围内存在第一跳变点记为第一条件,如果第一时间点t检测到的第二跳变点Sct满足第一条件,则可以确定该第二跳变点Sct为真实的说话者跳变点。此时可以获取距离所述第一时间点t最近的第一跳变点对应的第二时间点,假设记为t1。根据所述第一时间点t和所述第二时间点t1,确定目标跳变点。
- 一种语音处理方法、装置和用于语音处理的装置
- 一种语音处理方法、装置和用于语音处理的装置