VoiceFliter的学习

总流程图:

这个网络其实可以实现盲源分离,因为指定人的语音分离就是声纹模型+盲源分离,只不过需要加以改进才可以!!!

有点特定人语音分离的感觉,但是实际上不是,是依靠其的原理,进行多人的分离。

模型主要是训练两个网络:一个是说话者的Encoder;一个是时间维度掩模网络,也就是核心的VoiceFilter。这两者是分开来训练的,因为说话人的识别和声源分离任务的需求是不同的,放到一起根本无法训练。

而在下面看到有Noisy Audio和Clean Audio数据,一个是混合的语音信息,一个是干净的语音信息,这是在语音分离中常用的东西。

在上面看到有Reference Audio,这个是参考语音,也就是说,干净语音对应的说话人的说的语音信息。

介绍其的机制:

就是通过更换不同的指定说话人的参考语音信息,就可以提取不同人的音频实现分离。

1.Encoder:

一个三层的LSTM网络加上GEE损失函数,输入是1600ms的音频谱(鬼知道是什么谱,不管),输出是d-vector向量,宽度为256,从一句话里面提取的话,hop-size为50%,最后的结果是3个d-vector进行正则化结果的平均值。

2.voiceFilter

由8个CNN层,1个LSTM层,2两个全连接层,除了最后一个层的激活函数是sigmoid,其他的都是ReLU。输入为一个混合的语音+d-vector向量,经过学习得到掩模。

在这里不把d-vector放到CNN中,因为d-vector已经具有很好鲁棒性去表达一个说话人,没有必要加上卷积去改变它了,其次卷积层的假设为时间和频域上的对齐,则根本不让CNN中的卷积处理它了。

3.结果输出和损失函数

用ISTFT还原数据,干净的语音信息经过STFT后,与分离出来的结果进行损失函数计算。

值得一提的是参考语音全程没有进行STFT的变化就可以进行相乘的运算,说明一点,在Encoder里面就有这种性质的运算!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值