会议:2021 icassp
作者:Jordi Bonada, Merlijn Blaauw
单位:西班牙巴塞罗那 Universitat Pompeu Fabra

demo link

abstract

idea:提出一种半监督的歌唱合成器,不需要phn的信息,可以仅从音频数据中学到新的voice。
方法:

introduction

传统的TTS或者SVS合成新音色都需要phn对齐的数据,这些都需要人工标注或者自动标注后人工对齐,本文的目的在于仅通过音频数据学到新的音色。
本文将歌唱合成分成两步:(1)pitch model通过lyrics和note生成F0曲线;(2)timbre model通过F0和对齐的phn序列生成最终的声学特征。也有工作将这两步合并,但是作者认为两个过程的限制和需求不一样,因此仍然分开做。

Relation to Prior Work

之前non-parallel VC有一些类似的经验可以借鉴。

  • 设计information restrictive BN:通过时间降采样,精心的设定维度,variational regularization,vector quantization;然后与decoder结合,decoder会输入非文本的信息,比如F0, Speaker embedding。
  • 可以通过数据增广使得encoder对我们想要过滤的信息更加鲁棒,比如pitch shift,time stretching;
  • 可以用negative gradient of an auxiliary classifier 帮助过滤BN中不想要的信息,比如用说话人判别器减少BN中和说话人相关的部分;
  • Cycle-consistency 也是一种方法,保证转换中不变信息的可逆性;通常和对抗训练一起用,比如Backtranslation

Proposed Method

Encoder

  • 两个encoder结构一样,且共享超参;encoder的感知野比较小,最大到百毫秒,希望建模的是短时信息,更多与文本转录有关;长时信息的建模留给decoder
  • Ea输入是mel;EL输入是phn,输出是帧级别编码的phn one-hot encoding
  • 训练的时候为了让EA和EL获得更加相像的embeddings,训练时会随机交换两个encoder,输出(非线性层)之后加noise,使得encoder不是对mel的直接编码

Decoder

有long-scope和short-scope两种形式,D1用于编码长范围(x seconds)量级的音色变动;D2用于生成音色输出的细节;

  • vowels有的可能持续数秒,因此需要D1中大的感知野捕捉phn context。D1是非因果的,输入是encoder_output+F0+Speaker embedding
  • D2是自回归的卷积结构,感知野范围小于20ms,input=上一帧mel + D1 outputs+F0+speaker embedding

Training loss



  • x是mel特征表示;
  • y是文本特征

Data-augmentation for improved invariance

将信号进行时域线性放缩,并且移动基频。但是文本是不变的,输出相似的acoustic embdding,可以帮助linguistc encoder建模speaker and pitch independent embedding。

experiment

(a) train stage: 7个人10首歌,5h47
(b) finetune:一个人41首歌,2h7用于finetune decoder;另外测试只使用3min的数据finetune的效果

SEMI-SUPERVISED LEARNING FOR SINGING SYNTHESIS TIMBRE相关推荐

  1. 图构造总结-Graph‑based semi‑supervised learning via improving the quality of the graph dynamically

    前言 本博文主要对论文中提到的图构造方法进行梳理,论文自己提出的模型并未介绍,感兴趣的可以阅读原文 摘要 基于图的半监督学习GSSL主要包含两个过程:图的构建和标签推测.传统的GSSL中这两个过程是完 ...

  2. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

    一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...

  3. ML之SL:监督学习(Supervised Learning)的简介、应用、经典案例之详细攻略

    ML之SL:监督学习(Supervised Learning)的简介.应用.经典案例之详细攻略 目录 监督学习(Supervised Learning)的简介 1.监督学习问题的两大类-分类问题和回归 ...

  4. 【论文导读】- Link Weight Prediction Using Supervised Learning Methods(使用监督学习方法的链路权重预测及其在Yelp网络中的应用)

    文章目录 论文信息 摘要 主要内容(contributions) 图模型和评价指标 特征指标 原图特征指标 原始图转线图 线图特征指标 论文信息 Link Weight Prediction Usin ...

  5. 监督学习(supervised learning)与非监督学习(unsupervised learning)

    一,监督学习(supervised learning): 监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测. 即:利用 ...

  6. Self -Supervised Learning

    Self -Supervised Learning 个人学习笔记: BART使用了MASS中的所有方法(五种),结果表现更好 实验:将DNA表示中的A.T.C和G随机赋英文单词,将每个类别组成一个文本 ...

  7. INF442 Amphi 6: Supervised learning and k-NN predictors | Genericity

    INF442 Amphi 6: Supervised learning and k-NN predictors | Genericity 1. Supervised Learning 1.1 不同的损 ...

  8. 1.Supervised Learning with Projected Entangled Pair States

    Supervised Learning with Projected Entangled Pair States 这份笔记是在阅读论文<Supervised Learning with Proj ...

  9. 关于弱监督学习的详细介绍——A Brief Introduction to Weakly Supervised Learning

    目录 介绍 主动学习 半监督学习 多实例学习 带噪学习 Snorkel 框架介绍 参考 介绍 在机器学习领域,学习任务可大致划分为两类,一种是监督学习,另一种是非监督学习.通常,两者都需要从包含大量训 ...

最新文章

  1. 总结关于map的一些基本用法
  2. 【综述】闲话模型压缩之网络剪枝(Network Pruning)
  3. 手机显示服务器无数据返回,服务器无返回数据处理
  4. 系统检测到您正在使用网页抓取工具_【安全】58反抓取简介
  5. Django MTV 开发模式 + 数据库配置
  6. python 字符ab+字符c 2_python入门 之 字符串(二)
  7. 【BZOJ】1679: [Usaco2005 Jan]Moo Volume 牛的呼声(数学)
  8. MySQL8的inodb参数设置_MySQL8.0自适应参数innodb_dedicated_server
  9. Jetty9 源码初解(2)——IO之Connection
  10. xp本地服务器虚拟目录创建,WindowsXp系统怎么创建虚拟目录
  11. Linux 下 va_start、va_end 学习及使用
  12. 使用gulp构建一个项目
  13. Python地学分析 — GDAL将多个遥感图像叠加保存为tif文件
  14. 汉字如何应用在平面设计中
  15. 方法重载和重写的区别,以及如何体现了多态性
  16. 企业微信公费电话怎么使用?
  17. 孤单是对你最好的惩罚
  18. Win32_PhysicalMemory 内存条 参数说明
  19. 中小企业如何化解经济危机
  20. 构建 WCF 路由器 part 2 from MSDN

热门文章

  1. 【数据分析】使用pandas和numpy分析美国大选献金项目
  2. item2 + oh-my-zsh
  3. 传奇开区网站如何添加流量统计代码
  4. jquery按钮置灰_点击提交按钮后按钮变灰色不可用状态的三种方法
  5. sas统计学习笔记(四)
  6. 前端的第一天(HTML)
  7. docker --privileged=true 参数作用
  8. Linux永久修改主机名和IP
  9. javabean中bean的含义
  10. Java中Thread类的start()和run()方法