基于starganvc2的变声器论文原理解读

数据与代码见文末

论文地址:https://arxiv.org/pdf/1907.12279.pdf

1.概述

        什么是变声器,变声器就是将语音特征进行转换,而语音内容不改变

        那么我们如何构建一个变声器呢? 

         首先,我们肯定不能为转换的每一种风格的声音训练一种网络,因此我们可以采用star gan的思想(参见:Star GAN论文解析-CSDN博客),只训练一个对抗生成网络解决所有问题。当然,任务不同,具体的网络结构需要改变

        需要的什么输入呢?输入当然是声音数据和标签编码(one hot类型)。

2.输入数据

        输入声音数据最重要的指标为频率,即每秒钟波峰所发生的数目称之为信号的频率,用单位千赫兹(kHz)表示

        通常来讲,声音信号为一段剧烈震荡的波形,当我们将声音信号不断放大时,就有可能出现一个一个的小线段(极限的思想)。例如0.1ms,此时我们可以对声音进行采样,例如秒0.1ms 4.8次,最终声音频率为4.8kHZ

3.语音特征提取

(1)声音信号的预处理

  • 首先,进行16KHZ重采样,即每秒采用16k次
  • 然后,进行预加重,通过来说,高频信号价值更大,于是我们补偿高频信号,让高频信号权重更大一些       
  • 分帧,类似时间窗口,得到多个特征段 

(2)特征汇总

        基频特征(FO):声音可以分解成不同频率的正弦波,其中频率最低的那个就是基频特征

        频谱包络:语音是一个时序信号,如采样频率为16kHz的音频文件(每秒包含16000个采样点)分后得到了多个子序列,然后对每个子序列进行傅里叶变换操作,就得到了频率-振幅图(也就是描述频率-振幅图变化趋势的)

        Aperiadic参数:基于FO与频谱包络计算得到

(3)MFCC

        流程:连续语音--预加重--加窗分帧--FFT傅里叶变换--MEL滤波器组--对数运算--DCT 

        通常来讲,我们人对低频的声音更敏感,例如从100HZ到200HZ,我们明显能够感觉到声音的变化。而如果声音从4000HZ到4100HZ,我们则感觉不到明显的变化。这可以从斜率的角度理解,其图像类似于一个对数函数。 

         

        FFT(傅里叶变换)之后就把语音转换到频域,MEL滤波器变换后相当于去模拟人类听觉效果。

         

        最后DCT相当于提取每一帧的包络 (这里面特征多) 

4.网络架构

(1)生成器网络结构

        在生成器中,首先进行下采样,然后提取特征,最后上采样,输出结果,类似与ecoder和decoder的过程。

(2)Instance normalization的作用

        在声音数据中,有语音特征和文本特征,对于语音特征我们希望保留其原始内容。

        Instance  normalization是从每一个实例维度出发进行归一化。即首先使用多组卷积进行特征提取,然后对每个特征图进行归一化。经过归一化后,声音特征被平均化,从而消除了特性,而基本的文本特征被保留。

        

(3)AdaIn的目的与效果 

         AdaIn主要用于解码器中,需要我们还原其声音特性。AdaIn有点类似于通道注意力,即使用FC层为每个通过学习一个权重项和偏置项,注意FC层学习的参数是基于标签的one-hot变量学习而来。

        

        (4)判别器

         判别器主要用于判断声音是原始的还是合成的,即判断真假。对于输入的声音数据,不断进行下采样。最后得到真假的预测。真预测接近于1,假预测接近于0.

        标签的处理:首先每个domain进行one hot编码,得到B*d的编码向量,然后将sourse和target进行拼接。拼接后编码为B*C的向量。而GSP层会将输出向量B*C*H*W压成B*C的向量,最后和标签得到的向量内积得到B*C的向量,对最终结果在sum一下得到B*1的向量,然后加入经过FC层的B*1的向量x中,最终得到预测值

数据与代码链接:https://pan.baidu.com/s/1aNlghgo6mtD4iWqNgMOWOQ?pwd=s206 
提取码:s206 

        

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600190.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue项目入门——index.html和App.vue

vue项目中的index.html文件 在Vue项目中,index.html文件通常作为项目的入口文件,它包含了Vue应用程序的基础结构和配置。 该文件的主要作用是引入Vue框架和其他必要的库,以及定义Vue应用程序的启动配置。 import Vue from vue import App …

HBase详解(2)

HBase 结构 HRegion 概述 在HBase中,会从行键方向上对表来进行切分,切分出来的每一个结构称之为是一个HRegion 切分之后,每一个HRegion会交给某一个HRegionServer来进行管理。HRegionServer是HBase的从节点,每一个HRegionServ…

谷歌浏览器插件开发速成指南:弹窗

诸神缄默不语-个人CSDN博文目录 本文介绍谷歌浏览器插件开发的入门教程,阅读完本文后应该就能开发一个简单的“hello world”插件,效果是出现写有“Hello Extensions”的弹窗。 作为系列文章的第一篇,本文还希望读者阅读后能够简要了解在此基…

由 LDO 稳压器 CAT6219-330TDGT3提供快速响应时间,快速启动 实现高效率解决方案

CAT6219-330TDGT3是一款 500 mA CMOS 低漏稳压器,在负载电流和线路电压变化期间提供快速响应时间。 快速启动特性允许使用外部旁通电容器,可降低总体输出噪声,而不会影响仅为 150 s 的导通时间。 零关断电流和 55 A 的低静止电流典型值使其适…

【随笔】Git 高级篇 -- 整理提交记录(下)rebase(十六)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

JavaScript(二)-Web APIS

文章目录 Web API 基本认知作用和分类什么是DOMDOM树DOM对象获取DOM对象操作元素内容操作元素属性操作元素常用属性操作元素样式属性自定义属性 定时器-间歇函数定时器函数的理解定时器函数使用间歇函数 事件监听与绑定事件监听事件监听版本事件类型事件对象什么是事件对象获取…

搭建Zookeeper集群:三台服务器,一场分布式之舞

欢迎来到我的博客,代码的世界里,每一行都是一个故事 搭建Zookeeper集群:三台服务器,一场分布式之舞 前言前置设置主机名对应关系要有java环境 步骤1. 下载和解压 ZooKeeper:2. 配置 ZooKeeper:3. 配置集群节…

健康元 穿越周期看底色

中国创新药正在迈进2.0时代。 进入2024年之后,越来越多的国内创新药企开始主动调整研发管线,缩减研发开支,甚至是直接被“溢出”了市场。 在“风向标”的融资端,过去的2023年也是中国创新药融资市场连续第二年出现一二级市场融资…

LabVIEW数控磨床振动分析及监控系统

LabVIEW数控磨床振动分析及监控系统 在现代精密加工中,数控磨床作为关键设备之一,其加工质量直接影响到产品的精度与性能。然而,磨削过程中的振动是影响加工质量的主要因素之一,不仅会导致工件表面质量下降,还可能缩短…

达梦备份与恢复

达梦备份与恢复 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…

222,完全二叉树的节点数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑灵活爬坡产品的虚拟电厂两阶段分布鲁棒优化运营策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…