论文阅读_语音合成_VALL-E

news2024/11/28 16:45:25

论文阅读

number headings: auto, first-level 2, max 4, _.1.1
name_en: Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers
name_ch: 神经网络编解码器语言模型实现零样本TTS
paper_addr: http://arxiv.org/abs/2301.02111
date_read: 2023-04-25
date_publish: 2023-01-05
tags: [‘深度学习’,‘语音合成’]
author: Chengyi Wang,Microsoft
code: https://github.com/microsoft/unilm/tree/master/valle

1 读后感

语音合成模型,输入是待合成的文本,3秒的录音,输出为与录音一致的合成后的语音内容。

2 与传统TTS的差异

之前的语音模型是:音素->梅尔倒谱->音频;VALL-E是:音素->离散编码->音频。

3 主要贡献

• 我们提出了VALL-E,有效使用上下文学习能力的TTS 框架,音频编解码器代码作为中间表示,以取代传统的梅尔声谱图
• 通过利用大量的半监督数据在说话者维度构建了一个通用的 TTS 系统。
• VALL-E 能够以相同的输入文本提供不同的输出,并保持声音提示的声学环境和说话者的情绪
• 在零样本场景中提示来合成具有高说话人相似度的自然语音

4 背景

合成音频数据的挑战,包括每个时间步骤需要生成的概率数量多和序列长度长的问题。为了解决这些问题,使用语音量化技术来压缩数据和提高推理速度。矢量量化广泛应用于自监督语音模型中进行特征提取,如vq-wav2vec和HuBERT。
最近的研究表明,自监督模型中的编码也可以重构内容,并且推理速度比WaveNet快。但是,说话人身份已被丢弃,重构质量很差。而AudioLM模型有效解决了以上问题。深度学习在音频编码方面也取得了显著提升,这里使用了Encodec作为音频编码器。

5 方法

5.1 问题表述

其中 y 是音频样本,x = {x0, x1, . . . , xL} 是其对应的音素转录,我们使用预训练的神经编解码器模型将每个音频样本编码成离散的声学代码,表示为Encodec(y) = C, T是下采样的话语长度。重建波形 Decodec© ≈ y^。
推理过程中,给定音素序列和未见过的说话人的 3 秒登记录音,首先通过训练的语言模型估计具有相应内容和说话人语音的声学代码矩阵,模型推理,然后用解码器合成高质量的语音。

5.2 训练

以分层的方式设计了两个条件语言模型,一个用于生成声音c1(自回归AR),一个用于精调声音c2-8(NAR非自回归)。AR 模型和 NAR 模型的结合在语音质量和推理速度之间提供了良好的折衷。
自回归为了生成具有特定内容的语音,使用音素序列作为语言模型的音素提示。使用非自回归 (NAR) 模型生成其他七个量化器的代码。与 AR 不同的是,NAR 模型允许每个 token 参与 self-attention 层中的所有输入 token。

5.3 推理

如果该模型无需微调即可为看不见的说话人合成高质量的语音,则该模型被认为具有上下文学习能力。
首先将文本转换为音素序列,并将录音编码为声学矩阵,形成音素提示和声学提示。对于 AR 模型,使用以提示为条件的基于采样的方法,可以显着增加输出的多样性。对于 NAR 模型,使用贪心解码来选择概率最高的标记。最后,使用解码器生成以八个代码序列为条件的波形。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker代码环境打包进阶 - DockerHub分享镜像

1. Docker Hub介绍 Docker Hub是一个广泛使用的容器镜像注册中心,为开发人员提供了方便的平台来存储、共享和分发Docker容器镜像。它支持版本控制、访问控制和自动化构建,并提供了丰富的公共镜像库,方便开发人员快速获取和使用各种开源应用和…

Redis+Lua脚本防止超卖

超卖就是因为查询库存和扣减库存两个操作不是原子性操作,通过rua脚本执行这两个操作可以保证这两个操作原子性 判断库存量是不是大于等于1,如果大于等于1对库存减1,否则就不去减库存 StringBuilder sb new StringBuilder();sb.append("…

【数据分享】我国地级市绿地利用现状数据(9个指标\Shp格式)

绿地是城市生态的重要组成部分,在很多分析中都会用到绿地数据!之前我们分享过Shp和Excel格式的全国地级市2003-2020年绿地面积数据(可查看之前文章获悉详情),以及中国31个主要城市的绿地空间分布的栅格数据&#xff08…

vue中使用colorthief获取图片的主色调成分

colorthief官网 https://lokeshdhakar.com/projects/color-thief/#examples 安装 npm i --save colorthief yarn add colorthief 使用案例 <template><div class"box app" :style"{ background: bodyBgColor }"><div class"img-item&…

NSS LitCTF Web 部分wp

目录 1、PHP是世界上最好的语言&#xff01;&#xff01; 2、这是什么&#xff1f;SQL &#xff01;注一下 &#xff01; 3、Ping 4、作业管理系统 5、我Flag呢&#xff1f; 6、1zjs 7、Vim yyds 8、Http pro max plus 1、PHP是世界上最好的语言&#xff01;&#xff01…

C++中vector的用法

博主简介&#xff1a;Hello大家好呀&#xff0c;我是陈童学&#xff0c;一个与你一样正在慢慢前行的人。 博主主页&#xff1a;陈童学哦 所属专栏&#xff1a;CSTL 前言&#xff1a;Hello各位小伙伴们好&#xff01;欢迎来到本专栏CSTL的学习&#xff0c;本专栏旨在帮助大家了解…

Compose太香了,不想再写传统 xml View?教你如何在已有View项目中混合使用Compose

前言 在我的文章 记一次 kotlin 在 MutableList 中使用 remove 引发的问题 中&#xff0c;我提到有一个功能是将多张动图以N宫格的形式拼接&#xff0c;并且每个动图的宽保证一致&#xff0c;但是高不保证一致。 在原本项目中我使用的是传统 view 配合 RecyclerView 和 GridL…

jenkins入门与安装

一、实验环境 selinux iptables off 主机名IP系统版本gitlab10.10.10.200rhel7.5jenkins10.10.10.10rhel7.5tomcat10.10.10.11rhel7.5 二、安装jenkins 1、解压安装包 下载地址&#xff1a;https://download.docker.com/linux/static/stable/x86_64/ [rootjenkins ~]# tar xf …

C语言指针初级

目录 一、什么是指针 二、指针和指针类型 三、野指针 1.野指针的成因&#xff1a; 2.如何规避野指针 四、指针运算 1.指针-整数 2. 指针之间的加减 五、二级指针 六、指针数组 一个男人&#xff0c;到底要走多少的路&#xff0c;才能成为一个真正的男人 本专栏适用于…

【Linux】ubuntu设置ssh密钥登录详细教程,附Mobaxterm和pycharm ssh python解释器配置教程

0、写在前面 我们通常使用SSH 客户端来远程使用 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。但是即使是将端口设置为…

复杂数据集,召回、精度等突破方法记录【以电科院过检识别模型为参考】

目录 一、数据分析与数据集构建 二、所有相关的脚本 三、模型效果 一、数据分析与数据集构建 由于电科院数据集有17w-18w张&#xff0c;标签错误的非常多&#xff0c;且漏标非常多&#xff0c;但是所有有效时间只有半个月左右&#xff0c;显卡是M60&#xff0c;训练速度特别…

linux防火墙之iptables

一、iptables概述 Linux 系统的防火墙 &#xff1a;IP信息包过滤系统&#xff0c;它实际上由两个组件netfilter 和 iptables组成。 主要工作在网络层&#xff0c;针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。 netfilter&#xff1a; 属于“内核态”&…

Java基础重温巩固

方法 方法与方法之间是平级关系&#xff0c;不能嵌套return表示结束当前方法 基本数据类型和引用数据类型 基本数据类型&#xff1a;数据存储在自己的空间中 引用数据类型&#xff1a;数据存储在其他空间中&#xff0c;自己空间存储的是地址值 值传递 传递基本数据类型时&…

详解Windows系统安装TensorRT

目录 下载TensorRT安装TensorRT测试 TensorRT 是 NVIDIA 推出的一款高性能神经网络部署引擎.Windows系统下TensorRT目前不能简单直接通过pip指令自动下载安装, 安装之前还需要提前安装好 CUDA 和 CUDNN. CUDA和CUDNN安装可参考: 详解 Windows系统下安装 CUDA 与 CUDNN. &…

ES6之Module:export、import

文章目录 前言一、export命令1.export2.export default&#xff08;默认暴露&#xff09; 二、import命令1.通用导入方式2.解析赋值导入方式 三、结果总结 前言 ES6之前&#xff0c;JavaScript语言一直没有模块&#xff08;Module&#xff09;体系&#xff0c;无法将一个大型程…

《计算机网络——自顶向下方法》精炼——3.5.1-3.5.4

人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定、冷静,学习如何从慌乱中找到生机。——席慕蓉 文章目录 TCPTCP协议概述报文段结构序号、确认号 超时问题计算RTT计算重传时间 可靠数据传输 TCP TCP协议概述 TCP是面向连接的协议&#xff0c;在…

nest笔记十一:一个完整的nestjs示例工程(nestjs_template)

概述 链接&#xff1a;nestjs_template 相关文章列表 nestjs系列笔记 示例工程说明 这个工程是我使用nestjs多个项目后&#xff0c;总结出来的模板。这是一个完整的工程&#xff0c;使用了yaml做为配置&#xff0c;使用了log4js和redis和typeorm&#xff0c;sawgger&#…

Less和sass安装及使用

CSS预处理器 由来 CSS本身不是一种编程语言。你可以用它开发网页样式&#xff0c;但是没法用它编程。换句话说&#xff0c;CSS基本上是设计师的工具&#xff0c;不是程序员的工具。它并不像其它程序语言&#xff0c;比如说JavaScript等&#xff0c;有自己的变量、常量、条件语…

手把手教你验证upd与tcp“端口”开发策略

系列文章目录 文章目录 系列文章目录前言一、问题&#xff1f;二、验证网络策略步骤三、增强验证网络策略总结 前言 这篇文章&#xff0c;本意是让大家了解除了常用的telnet之外&#xff0c;在运维过程中&#xff0c;如果在服务器中未发现相关命令还可以借用像ssh、wget 等命令…

震惊!我的电脑居然中病毒了,快来看看我是如何解决的

打开电脑就自动跳转到http://www.exinariuminix.info/ 问题背景 今天刚打开电脑&#xff0c;然后电脑莫名奇妙就自动跳转到http://www.exinariuminix.info/网页&#xff1a; 联网后加载&#xff0c;它就自动重定向到一个莫名其妙的网站&#xff1a; 问题原因 出于好奇&#…