【深度学习人类语言处理】3 语音转换——类别(特征分解、直接转换)、语音分离(评价指标、深度聚类、PIT、TaskNet)

1. 语音转换应用场景

什么是Voice Conversion(VC):
在这里插入图片描述

  • 保存了什么?- 内容
  • 改变什么了? - 许多不同的方面…

说话人转换(Speaker)

可见[Nachmani, et al., INTERSPEECH’19]和[Deng, et al., ICASSP’20]:

  • 同样的一句话,不同的人说出来的效果是不一样的
  • 深度造假。愚弄人类/扬声器验证系统
  • 实现个性化TTS(TextToSpeech)的一个简单方法
  • 唱歌
  • 隐私保护[Srivastava, et al., arXiv’19]

说话风格

  • 情绪[Gao, et al., INTERSPEECH’19]
  • 普通到伦巴德(Lombard,不由自主的放大你的声音)[Seshadri, et al., ICASSP’19]
  • 悄悄话到正常[Patel, et al., SSW’19]
  • 歌手声乐技巧转换[Luo, et al., ICASSP‘20] 例如:‘lip thrill’ (弹唇) or ‘vibrato’ (颤音)

增进可理解性(Intelligibility)

  • 提高语音清晰度
    • 被切除部分关节的手术患者[Biadsy, et al., INTERSPEECH’19][Chen et al., INTERSPEECH’19]
  • 口(重)音转换
    • 非母语者的语音质量和母语者的发音模式
    • 可用于语言学习[Zhao, et al., INTERSPEECH’19]

数据增强

  • 把数据集中男生的声音转成女生的声音,女生的声音转成男生的声音,这样训练数据就是原来的两倍[Keskin, et al., ICML workshop’19]
  • 把干净的声音转成有杂讯的声音,直接把杂讯加在干净的语音上不太好;或者是去噪[Mimura, et al., ASRU 2017]

在实际执行中…

输出也是Acoustic Feature,不见得能够直接对应回原来的Voice

在这里插入图片描述
Vecoder怎么做呢:

  • Rule-based: Griffin-Lim algorithm
  • Deep Learning: WaveNet
    Used in VC, TTS, Speech Separation, etc. (not today) ,Vecoder今天不细讲

2. 语音转换类别

2.1 成对的资料

Parallel Data:缺少训练数据:
在这里插入图片描述

  • 预训练模型[Huang, et al., arXiv’19]
  • 综合数据![Biadsy, et al., INTERSPEECH’19],用google把所有的文本都念一遍

2.2 不成对的资料

Unparallel Data:
在这里插入图片描述

  • 这就是 “音频式传输(audio style transfer)”
  • 借鉴图像风格转移的技术

2.2.1 特征分解

Feature Disentangle,主要思想就是内容用一个Encoder,说话人用一个Encoder:

在这里插入图片描述
在这里插入图片描述
然后可以把Speaker Encoder轻松的换成新垣结衣的声音:

在这里插入图片描述
如何训练,用的方法很像是Auto-Encoder:

在这里插入图片描述
问题:如何做到内容用一个编码器,说话人用一个编码器?所以需要加一些额外的东西

Speaker Encoder做法:

使用说话人信息

假设我们知道训练语句的说话者[Hsu, et al., APSIPA’16]:

在这里插入图片描述
每个说话人的One-hot矢量,局限:很难生成新的说话人

预训练编码器(Pre-training Encoders)

说话人嵌入(i-向量、d-向量、x-向量…)[Qian, et al., ICML’19] [Liu, et al., INTERSPEECH’18]

Content Encoder做法:

语音辨识系统

[Sun, et al., ICME’16][Liu, et al., INTERSPEECH’18],但不能是一个一般的语音辨识系统,那样输出会是文本,我们可以用深度学习在HMM中的应用,输出在一个x向量下state的几率

在这里插入图片描述

对抗性训练Adversarial Training

[Chou, et al., INTERSPEECH’18]

在这里插入图片描述
语音分类器和编码器是反复学习的

设计网络架构

IN = 实例归一化(instance normalization)去除说话人信息

在这里插入图片描述
在这里插入图片描述
对每一行进行标准正态化的处理:
在这里插入图片描述
在这里插入图片描述
AdaIN = 自适应实例归一化(adaptive instance normalization)(只影响说话人信息)

在这里插入图片描述
在IN之后加入说话人的分类器,希望只包含内容,所以精确度越低越好,可以发现IN是学到了一些东西的:

在这里插入图片描述
在这里插入图片描述
问题,训练是用同一个人的内容和说话人的信息,而测试是不同的说话人,这样最后的表现不好:

在这里插入图片描述
改进的方法可以是第二阶段训练[Chou, et al., INTERSPEECH’18][Liu, et al., INTERSPEECH’19],这里有一个GAN的概念

在这里插入图片描述
但以上训练结果不太好,所以加入Pacher,这样会让训练比较容易成功:

在这里插入图片描述

2.2.2 直接转换

Direct Transformation:

  • 无并行数据的训练
  • 使用CycleGAN[Kaneko, et al., ICASSP’19]
    在这里插入图片描述
    G X → Y G_{X→Y} GXY的结果并不是我们想要的,有可能是新垣结衣总是说的那一句话,所以需要一个 G Y → X G_{Y→X} GYX

在这里插入图片描述
有一个Tips,就是丢一个Y的声音, G X → Y G_{X→Y} GXY的结果应该就是Y的声音

以上网络还可以是双向的:
在这里插入图片描述

对于CycleGAN,如果有N个说话人,你需要N×(N-1)个generators:

在这里插入图片描述
StarGAN[Kaneko, et al., INTERSPEECH’19]

主要是generator和discriminator的改变,每个发言人用一个矢量表示

在这里插入图片描述
CycleGAN和StarGAN训练方式的对比如下:

在这里插入图片描述
比StarGAN更进阶的做法:Blow[Joan, et al., NeurIPS’19] ,原理可参考之前课程flow-based model

在这里插入图片描述
研究上主要专注于不是成对的数据

3. 语音分离

3.1 为什么需要语音分离

什么是Speech Separation?——在拥挤嘈杂的环境中,人类可以专注于单个扬声器产生的声音(鸡尾酒会效应)

  • 语音增强(Speech Enhancement):语音-非语音分离(去噪)
    在这里插入图片描述
  • 说话人分离(Speaker Separation):多说话人说话
    在这里插入图片描述

在这里插入图片描述
本课程:

  • 专注于两名发言者
  • 专注于单麦克风
  • 演讲者独立(Speaker independent):培训和测试演讲者是完全不同的
  • 输入和输出的长度相同,不需要Seq2seq

训练数据:很容易生成训练数据
在这里插入图片描述

3.2 评价语音分离

之前的语音转换没有客观评价,但是语音分离可以进行客观评价:

  • 信噪比(Signal-to-noise ratio, SNR)
    在这里插入图片描述
  • 规模不变的信噪比(Scale invariant signal-to-distortion ratio, SI-SDR=SI-SNR)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 语音质量的感性评价(Perceptual evaluation of speech quality, PESQ)旨在评价语音质量,分数范围为-0.5~4.5
  • 短时客观智能性(Short-time objective intelligibility, STOI)被设计为计算智能性,分数范围从0到1

替换问题(Permutation Issue)

在这里插入图片描述
为了实现说话人独立训练,训练数据中包含许多不同的说话人

在这里插入图片描述

4. 深度聚类

Deep Clustering
在这里插入图片描述
屏蔽(Masking),掩码(Mask)可以是二进制或连续的

在这里插入图片描述

4.1 Ideal Binary Mask

IBM ——每个音频都由它的频谱图来表示

在这里插入图片描述
问题:并不知道原来的声音讯号是什么

在这里插入图片描述
但这还是没有解决之前的问题,但是这两个IBM是非常有关系的,因为知道一个就知道另外一个

4.2 深度聚类

[Hershey, et al., ICASSP’16]

在这里插入图片描述
K-means聚类不能训练,但是Embedding Generation可以训练:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 不同说话人的格局是很远的
  • 属于同一发言者的格子互相靠近
  • 可以用两个扬声器进行训练,但要在三个说话人上进行测试(k-means期间K=3)![Hershey, et al., ICASSP’16]

深度聚类问题:但没有端到端

5. 组合不变训练

Permutation Invariant Training (PIT)

在这里插入图片描述
但我们需要换位思考来训练说话人分离模型…

在这里插入图片描述
在这里插入图片描述

6. TaskNet

Time-domain Audio Separation Network[Luo, et al., TASLP’19]
在这里插入图片描述
这是没有抽特征的模型,其训练需要PIT

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
真正的Seperator:
在这里插入图片描述
在这里插入图片描述

LSTM习惯听一个句子的开头,感觉有点脆弱,好像有点过拟合:

在这里插入图片描述
在这里插入图片描述
结果
在这里插入图片描述

7. 更多…

发言人数不详

[Takahashi, et al., INTERSPEECH’19]
在这里插入图片描述
多个麦克风
[Luo, et al., ASRU’19]

在这里插入图片描述
视觉信息
[Ephrat, et al., SIGGRAPH’18]

在这里插入图片描述
面向任务的优化

谁会听语音增强或说话人分离的结果?

在这里插入图片描述

  • 给人听,优化STOI、PESQ(无差异性) [Fu, et al., ICML’19]
  • 给机器听,优化系统性能 [Shon, et al., INTERSPEECH’19]

学习更多…

  • Denoise Wavnet [Rethage, et al., ICASSP’18]
  • Chimera++ [Wang, et al., ICASSP’18]
  • Phase Reconstruction Model [Wang, et al., ICASSP’19]
  • Deep Complex U-Net: Complex masking [Choi, et al., ICLR’19]
  • Deep CASA: Make CASA great again! [Liu, et al., TASLP’19]
  • Wavesplit: state-of-the-art on benchmark corpus WSJ0-2mix [Zeghidour, et al., arXiv’20]

小结

  1. 首先介绍了语音转换的应用场景,语音转换一般是不成对的数据,对其可以是特征分解,对于说话人编码器和内容编码器有不同的模型;对其也可以是直接转换,重点是GAN的内容,这一块没有接触过,介绍了CycleGAN和StarGAN两种方法,但是没有客观指标可以来评判
  2. 语音分离的评价比较好懂,其替换问题确实是一个问题,就像我们人一样,同时听到两个声音其实也不会有特殊的排序,所以这就不好训练,为了解决这个问题,提出了一些方法
  3. IDM的语谱图具体的原理不太清楚,只知道是时域和频域同时考虑的一个图,深度聚类的Embedding Generation不同清楚是如何实现的,反正可以训练呗,以及三维的向量怎么k-means聚类也不知道具体的细节,反正能聚类就对了,但这实际上也没有解决之前的问题?而且不能端到端
  4. PIT模型很好懂,就是一个先有鸡还是先有蛋的问题,反正有了模型就可以训练,能训练就有模型,所以一开始就随机给初始化,这样不断调整标签的排列,结果是能表现比较好的
  5. TaskNet就是不要提特征,直接用时域的大串数据,Encoder和Decoder就是简单的Linear Model,在Separator用很多层卷积神经网络,重复三次,CNN表现比LSTM要好,具体的结果有个什么Wavesplit表现更好,但是老师通过一个具体的例子展示了一下Deep Clustering和TaskNet,感觉虽然TaskNet的评价指标好一些,但是Deep Clustering的人听起来表现好一些
  6. 更多其他的东西还是需要面向任务吧
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值