三元组训练跨语种tts

个人理解:对合成的音频进行说话人信息和语言信息解耦,再监督学习

Atriplet由anchor、正样本和负样本组成。 三元组损失是一种成对损失,它最小化锚样本和正样本表示之间的距离,同时最大化锚点和负样本之间的距离。

triplet loss encourages the pronunciation of the synthesizedforeign speech to be close to that of the native anchor speaker,while maintaining the speaker identity of its own

分俩阶段

第一阶段是常规的从零开始的训练,有辅助的 ContentPredictor (CP) 和 Speaker Predictor (SP),用于提取三元组的表示。 第二阶段微调第一阶段的checkpoint,引入三元组损失,三元组通过由合成的mel和真实的mel获得

三元组训练方案,通过允许在训练期间看到以前看不见的内容和说话者组合来增强跨语言发音。所提出的方法在训练过程中引入了一个带有triplet loss的额外微调阶段,有效地使合成的外语发音更接近母语主播者的发音,同时保留非母语者的音色

对比实验 :没有用三元组,中英的单语语料库,DurIAN,为了进一步研究,我们还将所提出的方法应用于能够传输音素级韵律特征的 Durian 增强版本:f0、能量和持续时间

三元组训练

CT (内容三元组)和 ST(说话人三元组) 需要借助 CP 和 SP 来构建

triplet loss中有编码函数f()将data points编码成embdedding 距离函数D(.)我们使用余弦距离,测量一对embedding的距离

CP和SP是我们的编码函数

CP从音素级梅尔谱中得到输入

首先用音素级的duration将梅尔谱 M 分割为 [m1,m2,mTph]等多个segment

reference encoder将每个segment编码 并且speaker adversarialtraining task用于去除speaker相关的信息 and the same speaker loss with gradientreversal as in [5] (2019年谷歌论文)is used.

经过CP得到每个phomene的 linguistic embedding e_{t}^{C} 而隐状态z_{t}^{C}作为CT的encoded embedding

它可能包含与发音相关的信息,因为发音与内容高度相关

CT的编码过程z_{t}^{C}=f^{C}(m_{t}).

SP与CP类似,由mel得到speaker embedding e^{S} ,z^{S}的获得也类似

除了编码功能之外,还需要构建用于覆盖跨语言(inter-lan)或训练中未见案例的 CT 和 ST 对。由于 CT 旨在使合成的跨语言语音的音素级发音更接近 对于选定的主播母语者,只考虑正样本——与锚样本内容相同的语音

 M pos与anchor有相同内容,但M pos说话者与target 说话者不是同一语种

M an Mpos说相同的句子  与 是 GT 由选出的说话人

(大概思路是 选了中文说话者(anchor) 说一句中文 让英文说话者(随机选出的一个 为pos)也说这个句子(中文),英文说话者为target,训练使英文说话者说的中文native)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值