0. 说明
具体有几个PPG-TTS的版本:
- 港中文的论文模型细节
- 刘松香老师2018论文模型细节
- 我实现的细节(sch, lh, zhaoxt)
- 阿里达摩院2020InterSpeech的结构细节
目的是达到论文的Demo的水平, 并且综合获取PPG使用的经验
0.1. 再一次读论文的细节
- 使用基于编码器/解码器的模型来学习输入文本和双语PPG之间的关系, 为TTS; 根据英文句子抽取PPG, 为VC; 这两者有区别么?
- 使用基于演讲者嵌入的双向长期短期记忆模型,将双语PPG映射到声学特征; 为什么不用更复杂的(如CBHG)网络?
- 语言在语音上本质上是不同的,这意味着一种语言的PPG无法有效地表征另一种语言的语音内容(However, languages are phonetically different in nature, meaning that PPGs of one language cannot effectively characterize the phonetic contents of another language)
- 此外,话语的文本内容与其双语PPG密切相关,因此使用编码器/解码器模型比从文本到声学特征的映射要容易得多,以学习从文本到双语PPG的映射。这有助于加速模型训练并减少代码转换语音生成过程中的序列间对齐错误; 理论上先映射到PPG对attention的压力更小
- 就明确的说话人和语言的纠缠而言,我们的工作类似于基于对抗损失的模型(Our work is similar to the adversial loss based model in terms of explicit speaker and language disentanglement)
- VAE结构还没用过(The residual encodings, which are encoded from mel spectrograms by a variational autoencoder (VAE)-like residual encoder [30], are used to help stabilize attention)
- LF0和VUV进行连接后,在每个帧中将其嵌入以控制语音,然后再将其嵌入到转换模型中。 LF0和VUV补偿了双语PPG中缺少的韵律信息; 转换模型包括两个具有ReLU**和全连接(FC)层,然后是四个BLSTM层。如果全连接层后面都不加**函数, 那么作用就变小了, 只有了scale变换, 所以只有output前可以无**函数, 所以连用两个relu
- F0是跟着内容统一起来的, 而不是跟着说话人配套的. 不过这个还不懂, 需要读18年刘松香老师的论文TODO
- 使用的英文没有用LJSpeech的, 使用的BC2011, 是应为LJSpeech的音质不好吗?
- Then F0 is linearly interpolated and transformed to logarithmic scale before being normalized to have zero mean and unit variance over each corpus
1. ASR-PPG-Extractor
关于ForceAlignment那部分, 还没懂细节
1.1. 标准的港中文ASR
1.1.1. 英文PPG
1.1.2. 中文PPG
1.1.3. 港中文PPG的评价
1.2. 我(实验室)的ASR
详细超参数:
2. TransformationModel-PPG-Decode-SPEC
2.1. 标准的港中文TransformationModel
2.2. 我(实验室)的TransformationModel