MusicHiFi: Fast High-Fidelity Stereo Vocoding

MusicHiFi: Fast High-Fidelity Stereo Vocoding

相关链接:arxiv github
关键字:音乐生成高保真立体声立体声编解码器生成对抗网络频带扩展

摘要

MusicHiFi是一种高效的高保真立体声编解码器,它通过将低分辨率的mel频谱图转换为音频,并通过频带扩展提高音频分辨率,最终通过立体声混音生成立体声音频。与以往的工作相比,MusicHiFi提出了一个统一的基于生成对抗网络(GAN)的生成器和鉴别器架构,以及每个阶段的训练过程。此外,还提出了一种新的快速、与下采样兼容的频带扩展模块,以及一种新的快速、与下混音兼容的单声道到立体声混音器,确保输出中保留单声道内容。通过客观和主观的听力测试评估了该方法,并发现其在音频质量、空间化控制方面具有可比性或更优,并且推理速度显著快于以往的工作。

核心方法

在这里插入图片描述
在这里插入图片描述

  1. 统一的GAN架构:MusicHiFi采用了三个生成对抗网络(GAN)的级联,每个GAN都使用相同的生成器和鉴别器架构,以及训练目标和模型大小。
  2. 频带扩展(BWE):通过在低分辨率音频和高分辨率音频之间添加残差连接,并使用sinc插值块进行上采样,以生成高频内容。
  3. 单声道到立体声(M2S)混音:使用中侧(mid-side)立体声编码将单声道音频信号转换为立体声信号,并通过调整中侧能量比来控制空间化宽度。

实验说明

实验使用了1800小时的授权器乐音乐(立体声44.1 kHz)作为内部数据集。对于vocoder,使用16,384个样本的随机裁剪,并应用特定的预处理。对于BWE模块,使用与vocoder相同的预处理,但窗口和跳跃大小减半。对于M2S模块,使用与vocoder相同的STFT设置。训练目标使用了特定的权重,并在500k步后选择了最优的检查点。

实验结果数据

数据集方法Mel-D↓STFT-D↓ViSQOL↑SI-SDR↑RTF↑
DSD100HiFi-GAN [14]1.090.654.4728.623488
FMAMusicHiFi-V0.870.354.6731.571807

结论

MusicHiFi提出了一种新的高效、高保真的立体声编解码方法。该方法通过三个GAN模型的级联,将mel频谱图转换为低质量的音频波形,通过频带扩展将低分辨率音频上采样为高分辨率音频,并最终渲染出高分辨率的立体声音频。与以往的工作相比,MusicHiFi贡献了一个统一的基于GAN的鉴别器和生成器设计,一个新的与下采样兼容的BWE模块,以及一个新颖的保留单声道内容的单声道到立体声模块。通过客观评估和两次主观听力测试,发现MusicHiFi在vocding和BWE结果上具有可比性或更优,并且在空间化宽度控制方面表现更好,效率极高。

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

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

相关文章

《桥接模式(极简c++)》

本文章属于专栏《设计模式(极简c版)》 继续上一篇《原型模式(极简c)》。本章简要说明桥接模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明 方案: 将抽象部分与它的实现部分分离&#xff0c…

【Vue】Vue集成Element-UI框架

🙋‍ 一日之际在于晨 ⭐本期内容:Vue集成Element-UI框架 🏆系列专栏:从0开始的Vue之旅 文章目录 Element-UI简介安装Element-UInpm安装CDN安装 引入Element-UI测试是否引入成功总结 Element-UI简介 Element-UI官网:点…

极大提高工作效率的 Linux 命令

作为一名软件开发人员,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你总会遇到需要使用 Linux 命令的场合。例如,大多数 Docker 镜像都基于 Linux 系统。要进行 DevOps 工作,你需要熟悉Linux,至少要…

C语言例3-32:使用位移位运算符的例子

设 unsigned short a 0101 ;short b -6 ; a 为无符号八进制整数,对应的二进制数为0000 0000 0100 0001b 为有符号十进制整数,对应的二进制数为1111 1111 1111 1010 !!! 计算机系统中整型数一律采用补码表示&#…

vue-quill-editor和vue-ueditor-wrap富文本编辑器应用

目录 一、vue-quill-editor 1.1、界面展示 1.2、代码介绍 1.2.1、安装 1.2.2、配置 1.2.3、代码应用 1.2.4、提取内容 二、vue-ueditor-wrap 2.1、界面展示 2.2、代码介绍 2.2.1、安装 2.2.2、配置 2.2.3、代码应用 一、vue-quill-editor 1.1、界面展示 文本输出…

Vue响应式原理全解析

前言 大家好,我是程序员蒿里行。浅浅记录一下面试中的高频问题,请你谈一下Vue响应式原理。 必备前置知识,​​Vue2​​官方文档中​​深入响应式原理​​​及​​Vue3​​官方文档中​​深入响应式系统​​。 什么是响应式 响应式本质是当…

liunx CentOS7 搭建lnmp环境 php nginx mysql

安装一些刚需软件:不懂请自行查询 安装一些需要的软件命令 yum install wget vim net-tools bash* lrzsz tree nmapnc lsof telnet -y 刷新命令 source /usr/share/bash-completion/bash_completion echo source /usr/share/bash-completion/bash_completion &…

UE5 C++ 3D血条 响应人物受伤 案例

一.3Dwidget 1.创建C Userwidget的 MyHealthWidget,声明当前血量和最大血量 UCLASS() class PRACTICEC_API UMyHealthWidget : public UUserWidget {GENERATED_BODY() public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float C…

利用API打造卓越的用户体验

🍎个人博客:个人主页 🏆个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 正文 1. 数据驱动的设计 2. 功能扩展与整合 3. 实时性与响应性 4. 个性化推荐与定制化服务 结语 我的其他博客 正文 随着数字化时代的…

python 操作excel(openpyxl.load_workbook)、excel操作封装

操作excel 其他的库: xlrd xlwt : 过时了,只能操作xls后缀的文件。pandas:大数据测试 数据分析项目会用。 openpyxl:第三方库 支持的格式有:.xlsx、.xlsm、.xltx、.xltm,l不支持.xls文件格式…

npm i安装依赖报错,但是cnpm i 却安装成功

问题描述:在a项目中npm i 安装依赖时发生以上报错,但是cnpm i 却成功,而且在其他项目中npm i 安装其他项目依赖也能成功.... 解决办法:删除项目中package-lock.json文件后再npm i 即可

搭建Linux内核开发环境——保姆教程(持续更新中)

搭建Linux内核开发环境——保姆教程(持续更新中) git版本管理汇编器链接器调试器编辑器构建系统模拟器文档工具图形设计工具 在此文中,持续完善,搭建内核开发环境的细节,有需要的小伙伴儿可以持续关注下 git版本管理 …

Ruby选择结构实战

文章目录 一、Ruby选择结构实战概述二、Ruby选择结构实战案例(一)闰年判断1、编写程序,实现功能2、程序的解释说明3、运行程序,查看结果 (二)求解一元二次方程1、编写程序,实现功能2、程序的解释…

rust - 基于AES-CBC-128的双重加密实现

通常加密密钥不要出现在源码中,比如配置文件中的数据库密码等。解决方案通常采用将密钥存放在环境变量中,进程启动时从环境变量获取密钥加载到内存中。 还有一种方案,对密钥进行加密,源码中只包含对密钥加密的根密钥和对密钥加密…

android gdb 调试

gdbgdbserver远程调试技术(一)——调试环境搭建_gdbserver 远程调试-CSDN博客 GDB/gdbserver 7.4.1 for Android with NEON support (gnutoolchains.com) sudo apt-get install texinfo$ tar zxvf gdb-7.12.tar.gz $ cd gdb-7.12/$ mkdir build$ cd bu…

jax不识别gpu gpu: RuntimeError: Unknown backend: ‘gpu‘ requested

这里写自定义目录标题 jax 不识别gpu错误信息最终解决方案 倒腾过程jaxlib version jax 不识别gpu 以下内容在 x86 linux cudagpu 测试通过 错误信息 jax-0.4.25 jaxlib-0.4.25 不识别gpu: RuntimeError: Unknown backend: ‘gpu’ requested, but no platforms that are in…

Linux--Flappy_bird实现

目录 void handler(int sig): mian: void init_curses() int set_timer(int ms_t); 小鸟的操作: void show_pipe(): void create_list() void clear_pipe() void move_pipe(); test_bird.c完整代码: 代码实现: #includ…

STM32 CubeMX使用介绍(含FreeRTOS生成)

文章目录 前言1. 简介1.1 什么是STM32CubeMX1.2 为什么会有STM32CubeMX的出现1.3 STM32CubeMX常用功能有哪些?1.4 官方资料下载地址 2. 下载和安装STM32CubeMX2.1 下载软件2.2 软件安装 3. 使用方式3.1 说明3.2 不同选择器介绍3.3 构建新的项目3.1 选择单片机的型号…

前端工程化(三)邂逅Webpack和打包过程

目录 Vue项目加载Webpack 安装Webpack的默认打包创建局部的 webpack Vue项目加载 JavaScript的打包:  将ES6转换成ES5的语法;  TypeScript的处理,将其转换成JavaScript; Css的处理:  CSS文件模块的加载、提取&a…

android 14 创建文件java.io.IOException: Operation not permitted

android 14 创建文件java.io.IOException: Operation not permitted Operation not permitted问题原因Android文件系统有哪些 Operation not permitted 问题原因 一般是创建文件时,文件夹或文件名称包含特殊字符,创建文件或文件夹时需要检查文件名称是…