论文阅读_音频压缩_SoundStream

论文信息

number headings: auto, first-level 2, max 4, _.1.1
name_en: SoundStream: An End-to-End Neural Audio Codec
name_ch: SoundStream:一种端到端的神经音频编解码器
paper_addr: http://arxiv.org/abs/2107.03312
doi: 10.1109/TASLP.2021.3129994
date_read: 2023-05-01
date_publish: 2021-07-07
tags: [‘深度学习’,‘音频’]
if: 4.364 Q1 B1
journal: IEEE
author: Neil Zeghidour,Google
citation: 82

1 读后感

高效压缩语音、音乐和一般音频。模型由编码器,量化器,解码器组成,主要使用了卷积技术。

2 摘要

基于神经网络的音频编码器,可高效生成文本,音乐。模型结构由全卷积编码器/解码器网络和残差矢量量化器组成。它结合了对抗和重建损失技术,可将量化的嵌入作为输入,生成高质量音频。
单模型生成3kbps~18kpbs的音频。该模型适用于低延迟实现,支持流式推理,并可在智能手机 CPU 上实时运行。通过主观质量证明,SoundStream输出音频高于之前模型。

3 介绍

主要贡献

  • 提出音频编码器SoundStream,由编码、解码、量化器组成;通过重建和对抗损失训练模型,实现高品质音频生成。
  • 提出新的残差量化器,平衡速率/失真/复杂度;提出quantizer dropout,使单个模型能处理不同比特率。
  • 对于采用梅尔图谱特征的解决方案,编码器带来了非常显著的编码效率提升。
  • 主观评测中证明,其输出音质高于之前模型,其3kbps的效果在主观评估中优于12kbps的Opus和9.6kbps的EVS。
  • 模型可在低延迟下运行,部署在智能手机上时,可在单个 CPU 线程上实时运行。
  • 提出了一种 SoundStream 编解码器的变体,可以联合音频压缩和增强,而不引入额外的延迟。

4 方法

模型由三部分组成:

  • 编码器:卷积Encoder将采样率为fs的输入音频x转换为嵌入序列。
  • 残差向量量化(RVQ):将嵌入通过codebooks,压缩成少量字节(目标位数)的表示,生成量化嵌入。
  • 解码器:从量化的嵌入中产生有损重建x^。
    其训练过程中还用了一个判别器Discrminator,它结合了对抗和重建损失,并使用可选的条件输入,用于指示是否从音频中去除背景噪声(Denosing)。

部署模型时,Transmiter的编码器和量化器将压缩,由Receiver解码音频信号。

4.1 编码器结构

其输出维度是SxD,D是Embedding的维度,S = T /M,其中T是时间M是不同层(跨度)的输出如图中的:M = 2 · 4 · 5 · 8 = 320;如图每个Encoder由多个EncoderBlock组成,而EncoderBlock又由ResidualUnit组成。

4.2 解码器结构

解码器类似于编码器的逆过程,把降采样变成了升采样。

4.3 残差向量量化

量化器的目标是压缩编码器产生的嵌入,转换到指定的字节长度。它学习一个 N 个矢量的码本来编码 enc(x) 的每个 D 维帧。然后将编码后的音频 S×D 映射到形状为 S × N 的onehot向量序列。

4.4 判别器结构

定义了两个不同的鉴别器:

  • 基于波型的鉴别器,它接收单个波形作为输入;
  • 基于 STFT (快速傅里叶变换)的鉴别器,它接收输入波形的复值 STFT 作为输入,以实部和虚部表示。
    两个鉴别器都是完全卷积的,因此输出中的逻辑数与输入音频的长度成正比。

4.5 训练目标

g ( x ) = d e c ( Q ( e n c ( x ) ) g(x) = dec(Q(enc(x)) g(x)=dec(Q(enc(x))
输入音频是x,最终输出音频x^=g(x)。保证生成的保真度和质量。
鉴别器用于判断语音为原始语音还是生成语音

生成器的对抗损失是:

为了提高信号保真度,还采用了两个额外的损失:特征损失 Lfeat ,在鉴别器定义的特征空间中计算;多尺度光谱重建损失 Lrec

其中L是模型内部的层数,用于对比每一层的原始数据与生成数据的差别,计算其平均绝对误差。

这里的S(x)用于计算梅尔倒谱。

从损失函数中可以看到,除了深度学习对抗学习的方法,这里还引入了描述音频的梅尔倒谱,傅里利变换提取特征的方法,用于衡量生成音频与原始音频的差异

最终的误差结合了上述三种误差:

4.6 结合压缩和增强

SoundStream 设计为压缩和增强可以由同一模型联合进行,而不会增加整体延迟。
提供代表两种模式(去噪启用或禁用)的调节信号,使模型可同时支持生成带背景声的音频和去噪的音频。具体方法是引入了特征线性调制 (FiLM) 层。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apache Kafka - 安装注意事项

文章目录 概述安装Kafka配置Kafka启动Kafka配置注意事项导图 概述 在现代的大数据时代,消息队列成为了极为重要的组件。Kafka作为一种高吞吐量、低延迟、可扩展的分布式发布订阅消息系统,在大数据领域得到了广泛的应用。来,这里我们将介绍如…

Python系列之字符串和列表

感谢点赞和关注 ,每天进步一点点!加油! 目录 一、字符串 1.1 字符串的定义与输入 1.2 字符串的拼接与格式化输出 1.3 字符串的下标 1.4 字符串的切片和倒序 1.5 字符串的常见操作 二、列表-List 2.1 列表的常见操作 2.2 列表合并和拼…

RocketMQ(超级无敌认真好用,万字收藏篇!!!!)

文章目录 RocketMQ1 RocketMQ简介2 Rocket安装2.1 Rocket安装(基于Linux)2.2 控制台安装 3 Rocket的使用3.1 普通消息发送3.1.1 同步消息发送3.1.2 异步消息发送3.1.3 单向消息发送 3.2 普通消息消费3.2.1 集群消费3.2.2 广播消费 3.3 收发顺序消息3.3.1 全局顺序生产消费3.2.2…

越来越多企业出现网络安全问题,是什么原因导致的?

近年来网络安全问题层出不穷,信息泄露、网络钓鱼、黑客攻击等问题频繁发生。 尽管有证据表明在一些全球知名的企业组织中存在价值数十亿美元的网络安全漏洞,但企业仍然没有认真对待网络安全。大公司在寻找各种理由来减少其网络安全预算,从而…

无魔法插件 - ChatGPT Sidebar with GPT-4

文章目录 1.介绍2.功能一览2.1 唤醒方式2.2 聊天功能2.3 快捷模板2.4 单独聊天界面2.5 ChatPDF2.6 任意位置快捷使用模板2.7 手机 APP 3.GPT-3.0 还是 GPT-3.5?4.免费 or 收费?5.安装 Sidebar 创作不易,如果本文对你有帮助,胖友记…

国考省考行测:资料分析:增量减量计算公式,百分数化分数

国考省考行测:增量减量计算公式 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知…

【FMC155】2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块(AD9680)中文资料

板卡概述 FMC155 是一款基于VITA57.1 标准的,实现2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块。该模块遵循VITA57.1 规范,可直接与FPGA 载卡配合使用,板卡ADC 器件采用ADI 的AD9680 芯片,该芯片具有两…

C++模板初阶

本期我们来学习C的模板,我们本期只是简单学习,为后续做铺垫,未来会深入讲解 目录 函数模板 类模板 下面我们进入正题 我们之前学习了函数重载,有函数重载我们可以完成很多事情,比如交换两个变量 void Swap(int&am…

tuple基本用法

元组简介 C11 标准新引入了一种类模板,命名为 tuple(中文可直译为元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。 tuple 的应用场景很广泛,例如当需要存储多个不同类型的元素时&#xf…

高压功率放大器在木结构的螺栓连接松动检测系统中的应用

实验名称:功率放大器在面向木结构的螺栓连接松动检测系统中的应用 实验设备: 计算机、压电传感器PZT、D型数显扭矩扳手、NIELVISII+数据采集卡、ATA-2021H功率放大器等。 实验过程: 设计了一种基于压电时间反演法的木材连接螺栓松…

Menards EDI对接流程

Menards是一家美国的家居建材零售商,成立于1962年,总部位于美国威斯康星州的伊甸谷市。该公司经营各种家居建材产品,包括木材、地板、墙纸、厨房卫浴用品等,并拥有超过300家门店,分布在美国中西部和北部地区。Menards的…

Beats:如何在 Docker 容器中运行 Filebeat

今天在这篇博客中,我们将学习如何在容器环境中运行 Filebeat。 为了快速了解 Filebeat 是做什么用的: Filebeat用于转发和集中日志数据它重量轻,小型化,使用的资源更少它作为代理安装在你的服务器上它监视来自指定位置的日志文件…

[CTF/网络安全] 攻防世界 weak_auth 解题详析

[CTF/网络安全] 攻防世界 weak_auth 解题详析 弱认证弱认证绕过方法姿势Burp Suite 爆破 总结 题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。 弱认证 weak_auth翻译:弱认证 这个术语通常用来描述一种较弱的安全认证方法或机制&am…

UVC调用过程部分细节分析

UVC调用过程部分细节分析 文章目录 UVC调用过程部分细节分析概括分析UVC驱动调用过程1.open:ioctl 2.VIDIOC_QUERYCAP3.VIDIOC_ENUM_FMT4.VIDIOC_G_FMT5.VIDIOC_TRY_FMT6.VIDIOC_S_FMT /7.VIDIOC_REQBUFS8.VIDIOC_QUERYBUF9.mmap10.VIDIOC_QBUF11.VIDIOC_STREAMON12.poll13.VID…

[CTF/网络安全] 攻防世界 backup 解题详析

[CTF/网络安全] 攻防世界 backup 解题详析 PHP备份文件名备份文件漏洞成因备份文件名常用后缀姿势总结 题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧! PHP备份文件名 PHP 脚本文件的备份文件名&#…

MATLAB 之 其他形式的二维图形

文章目录 一、对函数自适应采样的绘图函数二、其他坐标系下的二维曲线图1. 对数坐标函数2. 极坐标图 三、其他特殊二维图像1. 条形类图形2. 面积类图形3. 散点类图形4. 矢量类图形 二维图线除采用直角坐标系外,还可采用对数坐标或极坐标。除了绘制二维曲线外&#x…

Anaconda安装与Python环境搭建

这篇文章介绍了如何安装Anaconda,及Python环境如何配置,你是否还在为难以寻找一篇讲述全面的环境配置博客而苦恼,稍安勿躁,你找对啦,照着本篇文章做下去,你就会发现没那么难呢! Anaconda安装 …

Python系列模块之标准库OS详解

感谢点赞和关注 ,每天进步一点点!加油! 目录 ​一、模块 1.1 模块的定义 1.2 模块的分类 1.3 模块的基本导入语法 二、Python中的包 三、标准库之os模块 实战: 钉钉告警应用 一、模块 1.1 模块的定义 Python 模块(Module)&a…

目标检测数据预处理——部件截图,按一定比例进行外扩

本片是截图的篇的升级版本,简单版本的截图请参考根据目标框外扩一定比例进行截图(连带标签)。 对目标框(类别名称)进行分类,将同一类的目标框进行截图并分类保存在不同的文件夹中。 在本篇当中,…

Flink有状态计算的状态容错

状态容错 State Fault Tolerance 首先来说一说状态容错。Flink 支持有状态的计算,可以把数据流的结果一直维持在内存(或 disk)中,比如累加一个点击数,如果某一时刻计算程序挂掉了,如何保证下次重启的时候&…