首页> 中国专利> 一种两阶段的多说话人基频轨迹提取方法

一种两阶段的多说话人基频轨迹提取方法

摘要

本发明一种两阶段的多说话人基频轨迹提取方法,其步骤包括:1)对给定的多说话人混合语音进行处理,得到所述多说话人混合语音中每一帧的频谱;2)利用卷积神经网络获取所述幅度谱的局部特征;3)将各帧的局部特征输入全连接层,得到每一帧对应的所有基频估计值;4)将所得各帧的基频估计值作为输入,迭代预测每一说话人的基频序列;其中第i轮迭代的处理方法为:a)将第i‑1轮分离的基频序列输入编码器得到基频序列的特征表示;b)将基频序列特征表示与基频估计值输入到条件链式模块中,得到第i轮迭代对应的隐层输出向量;c)解码器将第i轮迭代对应的隐层输出向量解码为第i个说话人的基频序列。本发明提出的方法无需预设输出数目。

著录项

  • 公开/公告号CN115631744A

    专利类型发明专利

  • 公开/公告日2023-01-20

    原文格式PDF

  • 申请/专利权人 北京大学;

    申请/专利号CN202211084602.0

  • 发明设计人 陈婧;吴玺宏;李想;孙溢凡;栗楠;

    申请日2022-09-06

  • 分类号G10L15/02(2006.01);G10L25/30(2013.01);G06N3/04(2023.01);G06N3/08(2023.01);

  • 代理机构北京君尚知识产权代理有限公司 11200;

  • 代理人司立彬

  • 地址 100871 北京市海淀区颐和园路5号北京大学

  • 入库时间 2023-06-19 18:22:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-17

    实质审查的生效 IPC(主分类):G10L15/02 专利申请号:2022110846020 申请日:20220906

    实质审查的生效

  • 2023-01-20

    公开

    发明专利申请公布

说明书

技术领域

本发明属于语音信号处理技术领域,涉及基频提取技术,具体涉及一种两阶段的多说话人基频轨迹提取方法。

背景技术

基频,对应基音这一听觉感知属性,决定着声音的音高。发音器官在发浊音时,声带振动具有周期性,而基频则由声带振动的频率所决定。周期性声音信号的频率成分由基频和一系列谐波构成,而谐波是基频的整数倍,这一特性被称为“谐波性”。听觉外周系统能够分解低次谐波,低次谐波的规律间隔能够促进感知融合,即仅当所有谐波对应的基频相同时,听者才会将刺激信号感知为单个声源;如果谐波能被分成对应若干基频的若干组,听者会感知到分离的声源。基频提取在声音信号处理中有广泛的应用,例如识别音乐旋律,也可以用于语音处理,如语音分离、语音识别,语音情感分析等技术领域。

传统的基频提取方法有自相关函数法、平均幅度差函数法、倒谱法、简化逆滤波法等,这些方法都是基于传统信号处理,在复杂环境下的泛化性和鲁棒性较差,只能适用于安静情况下单个说话人的场景。当目标说话人语音受到背景噪声或其他语音干扰时,这些传统方法通常会失效。本发明中基频提取任务涉及场景为多声源场景,目标为从多人混合语音中提取每个说话人的基频,这一过程也被称为“多基频追踪”。

多说话人基频提取的难点在于:1)基频轨迹是连续且时变的;2)在多说话人的混合语音中(如两个说话人),并不会每时每刻都存在两个基频(有可能是静音)。因此,这个任务不仅需要准确估计出各个说话人在每个时刻的基频值,还需要将不同时刻属于同一个说话人的基频串接起来,即需要将每个时刻估计出的基频分配给对应的说话人,进而得到每个说话人句子级别的基频轨迹。

发明内容

针对现有方法的缺点,本发明提出一种两阶段的多说话人基频提取方法。本发明通过分析语音的频谱模式,可以看出其具有规律间隔的频率成分——谐波,频谱中谐波成分为对应基频的整数倍,因此可以利用神经网络来建模谐波与基频的映射关系。本发明通过使用神经网络来挖掘输入频谱中的谐波成分,学习谐波与基频的映射关系,构建了一个与说话人特性无关、说话人数目不受限的基频提取模型。

本发明提出的多说话人基频估计的方法分为两个阶段:帧级别的基频估计阶段和句子级别的基频串联阶段。前者旨在将混合语音中、同一时刻不同说话人的基频值分离开,后者旨在将帧级别的估计结果分配给对应的说话人,得到单个说话人句子级别的基频轨迹。该方法每个阶段的学习目标明确,与传统的直接从混合语音中同时估计每个说话人的基频的这类端到端的“黑箱”式方法具有明显区别。

本发明的技术方案为:

一种两阶段的多说话人基频轨迹提取方法,其步骤包括:

1)对给定的多说话人混合语音进行处理,得到所述多说话人混合语音中每一帧的频谱;所述频谱包括幅度谱与相位谱;

2)利用卷积神经网络获取所述幅度谱的局部特征;

3)将各帧的所述幅度谱的局部特征输入全连接层,获取所述多说话人混合语音中每一帧的谐波与基频之间的映射关系,得到每一帧对应的所有基频估计值;

4)将步骤3)所得各帧的基频估计值作为输入,每轮迭代提取一个说话人的基频序列,直至预测完最后一个说话人的基频序列;其中第i轮迭代的处理方法为:

a)将第i-1轮分离的基频序列输入编码器进行编码,得到第i-1轮分离出的基频序列的特征表示;

b)将步骤a)中得到的基频序列特征表示与步骤3)中得到的所有帧的基频估计值一起输入到条件链式模块中,得到第i轮迭代对应的隐层输出向量;

c)解码器将第i轮迭代对应的隐层输出向量解码为第i个说话人的基频序列,即得到第i轮迭代分离出的基频序列。

进一步的,利用训练后的帧级别基频估计网络得到每一帧对应的所有基频估计值;其中,所述帧级别基频估计网络包括卷积神经网络和全连接层,首先利用所述卷积神经网络对输入幅度谱的局部特性进行建模,捕捉所述幅度谱中频率成分之间的谐波结构并将其输入所述全连接层;所述全连接层建模所述多说话人混合语音中每一帧的谐波与基频之间的映射关系;训练所述帧级别基频估计网络所采用的损失函数为

进一步的,所述编码器由两层双向LSTM构成,每层隐层节点数为256;所述条件链式模块包括一层LSTM层构成,隐层节点数为512;所述解码器通过线性层将隐层每一帧的编码维度转化为输出序列需要的基频类别数。

进一步的,对给定的多说话人混合语音依次进行分帧、加窗、短时傅里叶变换操作,得到所述多说话人混合语音中每一帧的频谱。

进一步的,如果i=1,则输入编码器的基频序列为全零的静音序列。

一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。

与现有技术相比,本发明的积极效果为:

本发明有以下几个优点:(1)由于该模型只是学习频谱中的谐波成分与基频之间的映射关系,与说话人特性和数目无关,即便在单个说话人的语音上训练,对于多说话人混合语音的情况也同样适用;(2)假定输入为两个说话人的混合语音,并不代表每时每刻都有两个基频,可能存在静音和清音的情况,而这些时刻没有基频,即没有基频、一个基频或两个基频的情况都会存在。现有模型通常为在已知说话人数目的情况下,预先设定匹配的输出层数目,因此会导致真实结果与预设输出不匹配的问题,而本发明提出的方法无需预设输出数目,避免了这一问题。(3)本发明仅使用简单的卷积神经网络和全连接层,已取得了和当前先进方法可比的性能。

附图说明

图1为本发明整体概要流程图。

图2为本发明帧级别基频提取流程框架图。

图3为本发明中帧级别基频提取子流程中卷积神经网络结构图。

图4为本发明所使用条件链式模型框架图。

具体实施方式

下面将更详细地描述本发明的具体实施方式。本发明方法的具体实现步骤包括信号预处理(步骤1)、帧级别基频估计网络(对应步骤2~3)、条件链式模型(对应步骤4~7)等几部分。各步骤的具体实现过程如下:

1.语音信号预处理

本方法首先对混合语音进行短时傅里叶变换(STFT)作为后续输入,使用分析窗w(n)和窗长N、帧移R对信号进行短时傅里叶变化,变换公式如下:

其中,t和f分别表示帧和频带的索引,经过变换得到STFT频谱,具体实现中,使用的帧长为32ms,帧移为16ms,窗函数为汉明窗。STFT频谱中包含了这一段语音信号在时间维度和频率维度上的幅度信息和相位信息(即可以由STFT频谱导出幅度谱和相位谱)。

2.帧级别基频估计网络

帧级别基频估计网络,以经过短时傅里叶变换得到的STFT幅度谱为输入,输出帧级别的多说话人基频值估计。具体地,给定单个说话人语音,通过短时傅里叶变换得到对应的每一帧的幅度谱y

帧级别基频估计网络由两部分组成:卷积神经网络和全连接层。在网络结构设计方面,如图1所示,首先利用卷积神经网络对输入幅度谱的局部特性进行建模,捕捉频率成分之间的谐波结构。后接全连接层建模每一帧的谐波与基频之间的映射关系。

基频估计是为了得到每一帧基频的后验概率,使用分类交叉墒作为损失函数,定义如下:

其中,m为帧索引,s为68个基频频率值的索引,O为68分类的线性输出层,y

此网络使用公开发布的华尔街日报混合语音数据集(WSJ0-2mix)训练,其中,训练集包含约30小时的混合语音,随机选择两个说话人的句子,并以0dB~10dB之间均匀采样的信噪比混合而成,我们使用该数据集针对多说话人基频提取的任务进行训练。基频标签是利用现有的公开Praat软件工具在单个说话人的干净语音上提取获得,再将每一帧的基频值转为按上文所述格式的向量标签。对于单说话人的训练任务,该标签可以直接使用;对于多说话人的任务,其标签通过将混合语音中包含的单个说话人的基频向量取并集获得。所有的语音数据的采样率为16kHz,提取STFT特征时使用的帧长为32ms,帧移为16ms,窗函数为汉明窗。

此网络的训练,如公式2所示,p(z

3.条件链式模型

如图4所示,在条件链式模型中,每个输出序列不仅由输入序列决定,而且会受到先前输出序列的影响,即前一个输出序列会作为条件输入到决定当前输出序列的模块中。因此,条件链式模型不仅可以建模输入序列到输出序列直接的映射关系,也对输出序列之间的关系进行了建模。每个说话人的输出基频序列之间看似是相互独立的并行关系,实际上,它们之间存在着互斥关系,条件链式模型则可以对这种关系进行建模,用公式表示为:

即给定输入序列O,为帧级别基频估计序列,该公式建模的是N个说话人基频序列s的联合概率。对于每一个输出基频序列,它都由原始输入序列和先前输出的基频序列共同决定,通过一个条件概率来刻画,该条件概率可用条件编码器-解码器的结构实现。具体地,其中的编码器-解码器部分用以编码输入序列和解码输出序列,条件链部分用以储存来自先前输出序列的信息作为条件输入到当前输出序列的解码过程中。

多说话人基频轨迹提取的目的在于从未分配说话人的帧级别基频输入中得到单个说话人的基频轨迹输出。图2所示为利用条件链模型解决该任务的结构,具体地,输入为上一节得到的结果,可以将它看作是由0和1构成的二值向量图

其中,每一步i的编码器和解码器都是共享的,输出序列

网络结构方面,输入的帧级别基频序列经过编码器、条件链式模块和解码器三部分后输出基频轨迹序列。其中,编码器由两层双向LSTM构成,每层隐层节点数为256,条件链式模块仅由一层LSTM层构成,隐层节点数为512。解码器通过线性层将隐层输出向量转化为基频序列,线性层的输入维度为隐层输出向量维度,输出维度为基频序列需要的基频类别数。

此网络使用公开发布的华尔街日报混合语音数据集(WSJ0-2mix)训练,其中,训练集包含约30小时的混合语音,随机选择两个说话人的句子,并以0dB~10dB之间均匀采样的信噪比混合而成,我们使用该数据集针对多说话人基频提取的任务进行训练。基频序列标签是利用现有的公开Praat软件工具在单个说话人的干净语音上提取获得,再将每一帧的基频值转为按上文所述格式的向量标签。所有的语音数据的采样率为16kHz,提取STFT特征时使用的帧长为32ms,帧移为16ms,窗函数为汉明窗。

此网络的训练,数据集标签给出真实基频序列

其中,数据集标签给出真实基频序列

为了解决输出序列数目不固定的问题,使该模型可以应用于输入混合语音中说话人数目不固定的场景,在最后的输出序列后增加一个终止序列以指导训练过程的停止。具体地,本方法中,当预测完最后一个说话人的基频序列后,将没有信号可供解码,因而采用基频为0的序列作为终止符号。即当某次解码的结果不再输出时变的基频轨迹时,认为解码过程结束。

在训练过程中,将真实的标签序列作为条件(记为

此外,模型的输出为多个无序的序列,这会带来网络输出与标签在计算损失时的顺序问题(和置换问题类似)。针对这一问题,采用了贪婪搜索策略解决输出序列顺序的问题。即对于每一步解码过程,训练目标是最小化当前解码输出与剩余标签集合中每个目标序列的差异,将集合中对应最小差异的序列最为当前步的目标序列。

下面结合具体实施例说明本发明的优点。

使用本方法在实验数据集上进行了基频提取性能测试,将使用一般性的公认评价指标比较本方法的结果与前人的方法的结果。

1.实验设置

采用了由WSJ0数据库混合而成的语音作为训练和测试的数据集,其中两个说话人的混合语音为WSJ0-2mix,它包含30小时的训练数据、10小时的验证数据和5小时的测试数据,除此之外还使用了包含三个说话人的混合语音数据集,WSJ0-3mix。这两个数据集目前已经成为语音分离任务的通用基准集,也可使用其验证本发明涉及的基频提取任务的性能表现。混合语音中包含的每个说话人单独的基频序列构成上述的训练数据集的真实标签合集,该标签使用Praat工具在对应的单个说话人的语音上提取得到。

为了与其他多说话人基频提取的方法进行比较,我们使用E

2.实验结果

表1展示了针对不同性别组合的说话人以不同信噪比混合的语音的基频估计E

表1为本发明与传统方法在基频提取性能上的比较

一个显而易见的结果是,针对不同性别的混合语音,其句子级别基频轨迹的准确率要高于同性别的混合语音,这是符合预期的,即不同性别说话人的基频序列具有更好的区分特征。在同一种性别组合条件下,随着信噪比的提升,基于uPIT的方法估计的基频E

总的来看,在各个条件下,基于条件链式模型的方法性能要好于基于uPIT的方法。可能的原因是,uPIT的方法直接从混合语音中同时估计每个说话人的基频轨迹,该过程不仅要完成分离的任务,还要利用uPIT的训练策略最小化句子级别的训练误差,即要完成句子级别的串联任务。而本方法将上述过程拆分为两个阶段:帧级别的基频估计和基于条件链式模型的基频串联。每个阶段都单独优化,能够达到各自最好的性能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号