0. 说明

专利不同于论文, 有一些微小的区别:

  • 老师说, "不过,实际上不用这么细,而是要把主要idea说清楚就好。具体的实现方法,不用特别详细;专利要越general、越有通用性越好。而实际上太细了,具体细节都很明确了,别人 就很容易绕开你的专利:因为只要改一点儿,就和你不同,那就不在你的专利所涵盖的方法了。"
  • 可能近似理解为: 主要是解决问题的  方法脉络 和 模块功能描述

pytorch并行计算向量最近距离

把之前的PPG Project方法总结为专利, 整理

  • word
  • PPT
  • 手推公式
  • 博客

后来又写了几个文件, 重新理了下思路和起了些名字

  • CopyVC和Table-CopyVC: https://blog.csdn.net/u013625492/article/details/113127004

  • TDDT-Cross-Lingual VC: https://blog.csdn.net/u013625492/article/details/113128053

以前写的FindA相关的博客

  • Consistency Error (一致性误差) : https://blog.csdn.net/u013625492/article/details/109526412
  • 并行计算向量的欧式距离和KL距离: https://blog.csdn.net/u013625492/article/details/109487225

  • FindA+NN: https://blog.csdn.net/u013625492/article/details/109057335

  • FindA工程介绍: https://blog.csdn.net/u013625492/article/details/108949792

  • FindA思路来源: https://blog.csdn.net/u013625492/article/details/108014410

专利交底书

  • 第一版:https://drive.google.com/file/d/1D2fwYXyGi2a6JpIq_-qbj66C64AunHPd/view?usp=sharing

1. word-专利思路整理-FindA(KL散度)

FindA(KL散度)

1.1. 总体思路

我们采用了寻找维度空间里距离最为相近的中英文语料的PPG作为用来一一替换的映射对。

为每一帧的英文语料PPG寻找对应最合适的中文语料PPG,

并用对应的中文的PPG(Spec)来替换原英文的PPG(Spec)

最终得到替换后的音频

1.2. 核心点

  1. PPG是一个时间与类的矩阵,表示在一个发声的特定时间范围内每个语音类的后验概率。KL散度,又称为相对熵、信息散度、信息增益等,是描述两个概率分布P和Q差别的非对称性的度量。因此可以通过KL-distance(PPG中,PPG英)来度量PPG之间的相似程度。ASR也是通过KL作为loss训练
  2. 如果将每一帧英文PPG替换为对应的在KL散度意义下的最为相近的中文PPG后,直接对每一帧中文PPG索引得到对应的线性谱,则会由于帧与帧之间的不连贯性和冲突等问题而导致合出的音频噪声严重、不平滑
  3. 于是,我们先用整个中文语料库的英文PPG和线性谱映射对作为训练数据集,训练一个深度神经网络。该网络(1)可以很好地为输入的每一帧英文PPG输出对应的中文音色完好的线性谱(2)RNN模型为输入的一句话的英文PPG序列输出准确的连贯的线性谱序列。对于2中不连贯,冲突的中文PPG序列,由于神经网络具有天然的鲁棒性(比如对输入存在一定扰动或偏差输出仍然准确)等优点,尽管每一帧最为相似的中英文语料的PPG之间存在部分差别,但将替换后的中文PPG输入到该神经网络中,依然可以很好的线性谱输出,从而转移了不连续问题的观察角度,解决了音频帧的不连续等问题。

1.3. 具体步骤

  1. 先分别对中、英文语料库的每一句标准的中、英文音频提取线性谱,得到每一句中、英文语料的线性谱;然后分别对中、英文语料中的每一句话的线性谱提取对应的中、英文PPG,得到每一句中、英文语料的PPG,
  2. 然后分别对中、英文语料中的每一句话的线性谱提取对应的中、英文PPG,得到每一句中、英文语料的PPG,并将其拆分成相互独立的帧级别的PPG,将二者混合在同一个列表里面;
  3. 为每一帧的英文PPG寻找KL散度意义下的最近的中文PPG,即为每一帧英文PPG寻找使得KL-distance(PPG中,PPG英)值最小的对应的每一帧中文PPG,并认定找到的中文PPG是整个中文语料库中和该帧英文PPG相似度最高的PPG,于是得到了每一帧中英文语料PPG的一一映射对;
  4. 用整个英文语料库每一帧的英文PPG和线性谱映射对作为训练数据集,训练一个深度神经网络,该网络可以很好地为输入的每一帧英文PPG输出对应的完好的线性谱;然后,将每一帧中英文语料PPG的映射对中的英文PPG替换为对应的中文PPG,并将该中文PPG作为神经网络的输入,从而得到很好线性谱输出;
  5. 最后将每一帧的线性谱合成对应的每一句音谱,从而得到了中文说话人说的英文音谱。

1.4. 评测标准

  1. 根据主观评测:分别对每一句原始英文语料库中的英文音频和对应的合成的中文说话人说的英文音谱,从可懂度、流畅度等角度进行主观评测,MOS打分;
  2. 根据PPG的相近程度:分别对每一句原始英文语料库中的英文音频和对应的合成的中文说话人说的英文音谱,提取PPG,并比较二者在KL散度意义下的差异程度;KL散度和ASR的loss是一致的,也即意味着序列间KL散度越小,ASR识别的结果越接近
  3. 根据ASR识别准确度:分别对每一句原始英文语料库中的英文音频和对应的合成的中文说话人说的英文音谱,通过同一个ASR,比较二者识别的差异程度。(先不要)

2. word-Paper思路整理-PPG Cross TTS FindA

Tile:PPG Cross TTS, FindA

2.0. Abstract

2.1. INTRODUCTION

2.2. RELATED WORK

2.3. BASELINE APPROACH

2.3.1. PPG

2.4. PROPOSED APPROACH

2.4.1. Approach: FindA

算法的定义为:

我们采用了寻找维度空间里距离最为相近的中英文语料的PPG作为用来一一替换的映射对的寻找依据。

为了从一句英国人说英文的句子转变为中国人说英文的句子,

为每一帧的英文语料PPG寻找对应最合适的一帧中文语料PPG,

并用对应的中文的PPG(Spec)来替换原英文的PPG(Spec)

2.4.2. 距离选取为欧氏距离

欧氏距离的定义:略

算法具体流程是:

  1. 首先,分别读取训练数据集中的中英文语料的PPG,并将其拆分成相互独立的帧级别的PPG,将二者混合在同一个列表里面
  2. 然后,为每一帧的英文PPG寻找欧式距离最近的中文PPG,由于训练数据集过大和时间复杂度过高,采用了KMeans的聚类方法,先对所有中英文帧的PPG进行聚类,然后再在每一个类内进行距离寻优,为每一帧的英文PPG寻找到类内最近的中文PPG,并将其认为是整个维度空间里距离最近的中文PPG
  3. 类内寻找最近距离PPG时,类内建立基于欧氏距离的k-d tree数据结构,用于加快查询的时间复杂度
  4. 经过3,4步骤,为每一帧英文PPG找到了全局中文PPG中最近的一帧PPG,记录为map矩阵
  5. 最后,根据map矩阵,英文PPG为map矩阵查询索引,逐帧的替换此句话中的英文Spec为中文Spec

2.4.3. 距离选取为对称KL散度

无法使用聚类和k-d tree优化,但是可以:

  1. 写成矩阵形式并行计算
  2. PPG只考虑维度中前三大的维度的数对对称KL散度距离的影响,剩下的近似为0

2.4.4. Approach: FindB-Multi-Speaker-CBHG

结构

数据

2.5. Experiment

2.5.1. Experimental Setup

ASR部分:英文ASR,使用5ms帧移,Librispeech训练出来,使用卢辉预训练正确率83%的ckpt

PPG提取:

  1. 英文语料:LJSpeech 13100句,用英文ASR提取PPG,并提取Spec
  2. DataBaker_CN 10000句,用英文ASR提取PPG,并提取Spec

具体超参数见PPT:

2.5.2. 实验结果分析

  1. 实验现象是不连续,呲呲啦啦,本质上是:每一帧挑选ppg是单独割裂开来挑的(拼出来的),拼起来的时候,spec一定会呲呲啦啦;所以目前重点是在从呲呲啦啦的声音到平滑的声音,这样做才能出demo,经典问题
  2. 处理specs  (不考虑)
  3. 从呲呲啦啦的声音到平滑的声音方法一:从时域上取一小段波形*
    1. 呲呲啦啦信号波形,时域上加窗,信号角度平滑
  4. 拼帧,距离是|前后几帧,一个大的PPG-Triphone
  5. 问题建模:中文的原始语料使得构造的PPG英文新句子,英文原始,关注输入:替换的PPG-Spc,目标是,“平滑,正确”的波形-TTS,  中文过度特性,英文正确发音

2.6. Future Work

PPG -》 X feature represent

X, Spec

验证:现在数据,实验结果:PPG与Spec发音相似的对应,是否是杂乱无章无序的,需要重新排序/映射关系,保证映射关系一致。是否优缺点:不连续-》紧邻不代表Y近邻

3. PPT-PPG Project实验很多结果+详细结构

PPT的名字为: ppt-FindA第二次实验结果+讨论-v3

3.1. FindA算法结构

3.2. FindA实验结果

注: 之前的结果, 不确定是5ms版本, 还是10ms版本

在PPT上有:

3.3. FindA声学模型问题解决方案

3.3.1. 解决思路一: 后处理噪声或特殊Vocoder算法

根据前面以后的, 一点一点往后补充, 不过没过多的设计这个

主要是下面的方法直接就奏效了

3.3.2. 解决思路二: FindA + DBLSTM

3.4. 双语PPG跨语言合成的流程-BaseLine方法-模型结构

3.5. 双语PPG跨语言合成的流程-FindA方法-模型结构

3.6. 双语PPG跨语言合成-BaseLine方法-实验结果

其实直接看V3就行了

  • 5ms的是之前的旧版本
  • V2是只训练了一部分语料的结果
  • V3和V2完全一样, 只是训练的更加充分. 当时V2的时候, 服务器老坏

总之, 可参考是实验结果直接看V3就行了

3.7. 双语PPG跨语言合成-FindA方法-实验结果

下面的是计算一致性PPG的误差, 看看就好, 没有整理, 结果也并不是很直观地就FindA-PPG比直接PPG好

3.8. 实验中的详细结构-双语PPGASR结构细节

3.8. 实验中的详细结构-双语PPGTransformation Model结构细节

4. PPT-简历讲PPG Project

内容来自输出-户建坤简历PPT-2020-10-12.pptx

其中的  基于双语PPG的跨语言合成  部分

4.1. 问题以及解决方案介绍

4.2. 选题意义

4.2.1. 题目定义

题目定义:端到端跨语言音色迁移语音合成(跨语言合成)
基于端到端深度神经网络
主要使用多个单个人单语言数据集
实现音色跨语言的迁移语音合成
达到多语言内容于同一句话中的合成声音可保持声音一致的自然效果
应用背景:由于全球化的兴起,在社交媒体文本、非正式信息和语音导航中,文本或语音出现不同语言内容的交替。这些情况恰好是文本到语音(TTS)系统被广泛用作语音接口的情况。合成这样的语句时,声音要一致、发音准确并自然
选题原因:
单说话人双语数据集不易获取,应用背景的需求需要通过跨语言合成实现
端到端体系结构在单语TTS中取得了令人满意的效果,保证高质量跨语言合成的可能性
跨语言合成问题和技术本身一直是语音合成的经典研究工作

4.2.2. 2019-2020核心论文

2019 ICASSP

End-to-end Code-switched TTS with Mix of Monolingual Recordings | Cao, Y. and Meng, H. (CUHK)

2019 Interspeech

Learning to Speak Fluently in a Foreign Language: Multilingual Speech Synthesis and Cross-Language Voice Cloning | Zhang, Y. and Ramabhadran, B. (Google)
Building a Mixed-Lingual Neural TTS System with Only Monolingual Data | Xue, L. and Wu, Z. (JD)
Cross-lingual, Multi-speaker Text-To-Speech Synthesis Using Neural Speaker Embedding | Chen, M. and Xiao, J. (Ping An Technology)

2020 ICASSP

Code-Switched Speech Synthesis Using Bilingual Phonetic Posteriorgram with Only Monolingual Corpora | Cao, Y. and Meng, H. (CUHK)
Generating Multilingual Voices Using Speaker Space Translation Based on Bilingual Speaker Data | Maiti, S. and Conkie, A. (Apple)
Speaker Adaptation of a Multilingual Acoustic Model for Cross-Language Synthesis | Himawan, I. and King, Simon. (University of Edinburgh)
End-to-End Code-Switching TTS with Cross-Lingual Language Model | Zhou, X. and Li, Haizhou.(National University of Singapore)

4.2.3. 2019-2020论文研究手段

[1]从模型结构角度研究,通过解耦隐含表示中的音色与内容信息,利于迁移音色

End-to-end Code-switched TTS with Mix of Monolingual Recordings | Cao, Y. and Meng, H. (CUHK) | 2019 ICASSP
Learning to Speak Fluently in a Foreign Language: Multilingual Speech Synthesis and Cross-Language Voice Cloning | Zhang, Y. and Ramabhadran, B. (Google) | 2019 Interspeech

[2] 从声学特征研究,通过将语言无关的声学特征作为跨语言时预测的标签

Code-Switched Speech Synthesis Using Bilingual Phonetic Posteriorgram with Only Monolingual Corpora | Cao, Y. and Meng, H. (CUHK) | 2020 ICASSP

[3] 从数据角度研究,使用多语言多说话人,或包含少量双语说话人的数据

Generating Multilingual Voices Using Speaker Space Translation Based on Bilingual Speaker Data | Maiti, S. and Conkie, A. (Apple) | 2020 ICASSP

4.3. Abstract

1)问题假设:中文数据集,英文数据集均足够大,且规范(>=10000句)

2)已有方法:基于Multi-speaker Tacotron中文本信息表示共享[1][2];基于PPG发音信息        共享[3][4][5]

3)面临挑战:网络中的Hidden文本信息表示共享不能保证完全去除音色,语言等信息;

基于PPG的表示需要平衡PPG的不准确与PPG表示维度过高合成效果差        的缺点

4)创新思路:双语PPG作为不同音色Linear间内容相似的桥梁,直接用于Frame级别的        Projection;使用英文语料辅助CBHG学习英文语音模型;是16KLD-        DNN TTS的深度学习化,是20CUHK双语PPG维度过大的解决方法

5)实验结论:对于CBHG网络保证了训练和预测时PPG输入一致;英文语料辅助构建        CBHG中英文语音模型;合成网络CBHGPPG维度小

4.4. Introduction

1. 语音合成:端到端方法总览,落脚到Taco2

2. 跨语言语音合成:重要性 + 引入Speaker Embedding

问题:英文语料音色不对 + 目标音色非英文 + 两者匹配难

3. Multi-speaker Tacotron方案:在Text Encoding部分跨语言跨说话人共享

1CUHK19SPE-Tacotron

2Google19Tacotron + Multi-speaker/language + Gradient Reversal + VAE   问题:相似性稳定,发音和口音上不够稳定 (复现结论)

4. 介绍跨语言中PPG论文,舍弃Multi-speaker Tacotron方法,利用PPG进行解耦

1CUHK16PPG-DBLSTM跨语言合成

2)微软16 KLD-DNN跨语言合成

3CUHK20:双语PPG-DBLSTM跨语言合成

4.5. Experiment 实验结果

https://github.com/ruclion/ppg_projector_chenxuey20

5. PPT-平安讲整个跨语言合成分类+FindA

相关工作的细微差异化描述

来源: 输出-PAC-TTS-Multilingual-weekly-2020-10-16.pptx

6. 手推公式

7. 以往博客

TODO

8. 印象笔记

TODO

PPG Project Method专利: FindA+NN+一致性误差 梳理草案相关推荐

  1. Consistency Error (一致性误差) 的计算

    0. 说明 Consistency Error, 一致性误差, 特指: PPG_want经过Transformation Model后得到Spec, Spec -> Wav, 然后用ASR实现 ...

  2. 专利法上的抽象思想与具体技术 ——计算机程序算法的客体属性分析

    内容摘要:程序算法的可专利性是计算机程序专利保护制度的一个核心问题.本文从专利客体从"产品"向"方法"拓展的历史过程出发,揭示专利法区分抽象思想和具体技术的传统 ...

  3. Pytorch学习(二)—— nn模块

    torch.nn nn.Module 常用的神经网络相关层 损失函数 优化器 模型初始化策略 nn和autograd nn.functional nn和autograd的关系 hooks简介 模型保存 ...

  4. 分布式系统的一致性问题(汇总)

    微信搜索:"二十同学" 公众号,欢迎关注一条不一样的成长之路 保证分布式系统数据一致性的6种方案 问题的起源 在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数 ...

  5. 深度增强学习(DRL)漫谈 - 信赖域(Trust Region)系方法

    一.背景 深度学习的兴起让增强学习这个古老的机器学习分支迎来一轮复兴.它们的结合领域-深度增强学习(Deep reinforcement learning, DRL)随着在一系列极具挑战的控制实验场景 ...

  6. 期货股票量化软件:第三代神经网络深度网络

    简介 本文将要讨论这一课题的主要概念,诸如深度学习以及无复杂layman形式运算的深度网络. 真实数据的实验,赫兹量化软件通过定量和比较(无法定量和比较),证实(或证伪)深度神经网络的理论优势.当前的 ...

  7. 从零开始学Pytorch之线性回归

    线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素, ...

  8. 动手学深度学习第一次打卡

    今年才开始接触深度学习,基本上是小白的状态,希望能利用疫情放假的这些日子好好学习一下深度学习.第一次打卡包括Task01和Task02两部分,Task01的学习任务又分为线性回归.Softmax与分类 ...

  9. Centos6-防火墙的基本配置

    1.iptables 启动指令: service iptables start 重启指令: service iptables restart 关闭指令: service iptables stop 保 ...

最新文章

  1. 最常用的Linux命令
  2. 中国首次实现量子优越性!比谷歌突破更厉害,比最强超级计算机快一百万亿倍 | Science...
  3. 【Linux原理】Linux中硬链接和软链接的区别和联系
  4. arm linux 识别新硬盘_嵌入式Linux系列第13篇:USB摄像头拍照
  5. 谷歌发布“虚拟现实化”游戏 Ingress
  6. VMware 虚拟机克隆 CentOS 6.5 之后,网络配置问题的解决方案
  7. java.util.Scanner的日常用法
  8. Microsoft Forms产品分析报告
  9. KMS和MAK的区别
  10. NT1000无线测温系统 方维监测
  11. TMS运输系统价格昂贵?中小物流运输企业数字化,原来可以这么做。
  12. ionic开发记账软件《易跟金》
  13. Transformer代码详解与项目实战之Masking
  14. 【PMP】项目经理PM 和 项目管理办公室PMO 的区别
  15. FFMpeg AVPacket 之理解与掌握
  16. mysql解决中文乱码问题
  17. 深度分析|DEVITA:一个基于区块链技术和Web3生态打造的先进数字医疗平台
  18. laravel服务容器-----深入理解控制反转(IoC)和依赖注入(DI)
  19. 购买老域名,利用桔子seo来查找域名的历史快照信息
  20. plasma桌面特效无效的解决办法

热门文章

  1. 有些人比婊子更无情!
  2. Bluez 自带工具小结(BR)
  3. java算法应用之买小鸡篇
  4. 亲缘关系 linux,群体遗传学亲缘关系分析
  5. 【Android】Android程序是如何运行起来的?
  6. 百度开源的分布式 id 生成器
  7. plc.单片机的串口通讯的调试方法——通过虚拟串口工具和串口助手来调试串口
  8. Flash烧录成功后校验器件时出错问题
  9. 计算机基辅助设计的拉伸,计算机辅助设计51330.ppt
  10. 【ros中用joint使机器狗与机械臂仿真的合成】