当前位置: 首页 > news >正文

自监督表示学习和神经音频合成实现语音修复

关键词语音修复自监督模型语音合成语音增强神经声码器

    语音和/或音频修复的目标是增强局部受损的语音和/或音频信号。早期的工作基于信号处理技术,例如线性预测编码、正弦波建模或图模型。最近,语音/音频修复开始使用深度神经网络(DNNs),主要是全监督学习和编解码器架构,编码器输入为掩蔽的信号,解码器生成缺失部分的估计。

     我们探讨使用语音SSL模型进行语音修复的情况,即从其周围环境中重建语音信号的缺失部分,也就是完成一个与预文本任务非常相似的下游任务。为此,我们将SSL编码器(即HuBERT)与神经声码器(即HiFiGAN)结合起来,后者扮演解码器的角色。特别地,我们提出了两种解决方案来匹配HuBERT的输出与HiFiGAN的输入,通过冻结一个并微调另一个,反之亦然。

  1. 1、使用 HuBERT 和 HiFiGAN 进行语音修复的两种方法

使用 HuBERT 和 HiFiGAN 进行语音修复的两种方法:解码器适配 (IDA) 和编码器适配 (EA)。两种方法的主要区别在于谁被冻结谁被微调。

1.1 解码器适配 (IDA)

  • HuBERT 模型被冻结: 使用预训练的 HuBERT 模型进行特征提取,不进行任何微调。
  • HiFiGAN 模型被微调: 根据 HuBERT 的输出特征对 HiFiGAN 进行微调,使其能够根据 HuBERT 的特征生成语音波形。

1.2 编码器适配 (EA)

  • HuBERT 模型被微调: 对 HuBERT 模型进行微调,使其能够直接预测掩码部分的梅尔谱图。
  • HiFiGAN 模型被冻结: 使用预训练的 HiFiGAN 模型,根据 HuBERT 预测的梅尔谱图生成语音波形。

2、实验设置

2.1 实施细节

2.1.1 SSL 编码器 HuBERT

使用 Hugging Face 提供的预训练模型 hubert-large-ls960-ft,该模型基于 LibriSpeech 数据集进行微调。

语音输入采样率为 16 kHz,prenet 窗口大小和步长分别为 8960 和 320 个样本,输出维度为 768。

2.1.2 解码器适配 (IDA)

使用 Polyak 等人提出的 speech encoder-decoder 框架,并进行两步适配过程:

  • 使用 HuBERT 的输出 Z 作为新的信号表示,并使用 k-means 算法构建代码本。
  • 从头训练一个适配的 HiFiGAN 解码器,输入为代码本中向量 ˆcL 的索引。

2.1.3 编码器适配 (EA)

使用 HiFiGAN 的 Mel-spectrogram 作为输入,并冻结其模型。

重新引入 g1 和 g2 模块,并将 HuBERT 的输出适应到 Mel-spectrogram 表示。

使用 k-means 算法构建 Mel-spectrogram 的代码本,并训练 g2 模块来预测量化后的 Mel-spectrogram。

对 f2 模块进行微调,并对 g2 模块从头训练。

2.2 基线

作为基线,我们实现了一个基于线性插值的简单修复方法(ILI)。对于给定的掩蔽信号,它包括计算其Mel频谱图(如第三节所述),并用掩蔽区域前后的最后一个框架和第一个框架之间的线性插值替换掩蔽框架。然后,将插值的Mel频谱图输入到预训练的HiFiGAN声码器以生成22.05 kHz的波形,然后将其下采样到16 kHz。

2.3 评估指标

客观指标

  • PESQ (Perceptual Evaluation of Speech Quality): 评估语音质量。
  • STOI (Short-Time Objective Intelligibility): 评估语音可懂度。
  • CER (Character Error Rate): 评估语音识别准确率。

主观评估:

MUSHRA 测试: 使用 Web Audio Evaluation Tool 进行在线 MUSHRA 测试,评估语音修复质量。

2.4 结果

  • 定性分析: IEA 和 IDA 框架在修复质量上均优于 ILI 基准。
  • 单说话人情况: IEA 框架在所有指标上均优于 IDA 框架。
  • 多说话人情况: IDA 框架在所有指标上均优于 IEA 框架。
  • 盲修复: 所有指标均低于知情修复,但趋势相似。
  • 与其他研究比较: IEA 和 IDA 框架在知情修复情况下优于其他基于监督学习的方法,尤其是在长掩码情况下。

2.5 数据集

LJ Speech: 一个公共领域的语音数据集,包含13100个短音频剪辑。这些剪辑由单一发言者阅读7本非小说类书籍的段落,每个剪辑都提供了转录。剪辑的长度从1秒到10秒不等,总长度大约为24小时。

下载地址:The LJ Speech Dataset

VCTK: 一个广泛使用的语音数据集,主要用于语音识别、语音合成和语音克隆等领域。该数据集包含110名英语发音者的语音数据,每位发言者大约读出400句句子,这些句子选自报纸、彩虹段落和用于演讲口音存档的一段文字。

下载地址:https://datashare.ed.ac.uk/handle/10283/1942

相关文章:

自监督表示学习和神经音频合成实现语音修复

关键词:语音修复、自监督模型、语音合成、语音增强、神经声码器 语音和/或音频修复的目标是增强局部受损的语音和/或音频信号。早期的工作基于信号处理技术,例如线性预测编码、正弦波建模或图模型。最近,语音/音频修复开始使用深度神经网络&a…...

【论文复现|智能算法改进】融合黑寡妇思想的蜣螂优化算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜣螂优化算法(DBO)原理及实现 2.改进点 ICMIC混沌映射 z n 1 sin ⁡ ( α z n ) , α ∈ ( 0 , ∞ ) (1) z_{n1}\sin(\frac{\alpha}{z_n}),\alpha\in(0,\infty)\ta…...

Unity + 雷达 粒子互动(待更新)

效果预览: 花海(带移动方向) VFX 实例 脚本示例 使用TouchScript,计算玩家是否移动,且计算移动方向 using System.Collections; using System.Collections.Generic; using TouchScript; using TouchScript.Pointers; using UnityEngine; using UnityEngine.VFX;public …...

英语翻译程序,可以对用户自己建立的词汇表进行增删查改

⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。 ⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。 ⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。 #defi…...

Django ORM魔法:用Python代码召唤数据库之灵!

探索Django ORM的神奇世界,学习如何用Python代码代替复杂的SQL语句,召唤数据库之灵,让数据管理变得轻松又有趣。从基础概念到高级技巧,阿佑带你一步步成为Django ORM的魔法师,让你的应用开发速度飞起来! 文…...

JetBrains Mono字体下载及安装

百度云字体下载 提取码:zida 1.mac 安装 选择文件夹中的所有字体文件,然后双击它们。点击“安装字体”按钮。 2.windows 安装 选择文件夹中的字体文件,右键单击其中任何一个,然后从菜单中选择“安装”。 3.linux 安装 将字体…...

【OS】AUTOSAR OS系统调用产生Trap的过程详解

目录 前言 正文 1.Os_Hal_Trap使用示例 2. Os_Hal_Trap的定义 3. syscall详解详解...

Java中的异常处理机制

在Java中,异常处理是一种重要的编程机制,用于处理程序运行时可能出现的错误情况。它提供了一种结构化的方式来处理异常情况,使程序能够更健壮、更易于维护。下面将从技术难点、面试官关注点、回答吸引力和代码举例四个方面来详细描述Java中的…...

什么是PLAB?

接上文PLAB---》 可以看到和TLAB很像,PLAB即 Promotion Local Allocation Buffers。用在年轻代对象晋升到老年代时。 在多线程并行执行YGC时,可能有很多对象需要晋升到老年代,此时老年代的指针就"热"起来了,于是搞了个…...

复试不考机试,初试300分以上,上岸稳了?东北林业大学计算机考研考情分析!

东北林业大学(Northeast Forestry University),简称东北林大(NEFU),位于黑龙江省哈尔滨市,是一所以林科为优势、林业工程为特色的中华人民共和国教育部直属高校,由教育部、国家林业局…...

【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…...

微信小程序的事件绑定方式

微信小程序的事件绑定方式主要包括以下几种,每种方式都有其特定的用法和特性: 基础绑定方式: bind:这是最基础的绑定方式,用于绑定事件处理函数。例如,bindtap用于绑定点击事件。当组件触发事件时&#xf…...

AR和AP重分类(Regroup)[FAGLF101/OBBU/OBBV]

一、为什么AR和AP科目需要重分类 1.1 执行操作的前提(重要) 存在AR的当月总余额在贷方(客户贷项凭证、预收账款等)或AP的当月总余额在借方(供应商贷项凭证、预收账款等),这种情况下无法真实的反映出资产和负债情况&…...

进程——linux

目录 冯诺依曼体系结构(计算机组成原理与体系结构) 关于冯诺依曼,必须强调几点: 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 一、进程 基本概念…...

关于如何通过APlayer+MetingJS为自己的wordpress博客网页添加网易音乐播放器(无需插件)

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:最近在网上冲浪,发现大家的博客大部分都有一个音乐播放器能够播放音乐,随机我也开始寻找解决方法。可是找来找去我…...

架构师如何以打游戏的心态做开发?

为什么打游戏可以很好玩,能够自发学习,从青铜到黄金很简单。换个角度思考🤔,以打游戏的心态如何进行架构开发,可以采用以下策略: 设定目标和里程碑: 就像游戏中的任务和关卡一样,为…...

【WP|6】WordPress 主题开发详解

WordPress主题开发是打造独特、功能强大的网站的重要途径。无论是创建全新的主题还是对现有主题进行自定义,掌握主题开发技能都是非常重要的。本文将详细讲解 WordPress 主题开发的基本步骤、文件结构、模板层次以及一些高级技巧,帮助你从零开始创建一个…...

Kivy.garden.NavigationDrawer 后续学习

如百词斩部分代码 MRWord\pages\infopage\info.kv <InfoPage>:anim_type: slide_above_simpleid: main_winbox_button_anchor: box_button_anchor.__self__three_labels_box: three_labels_box.__self__box_phonetic: box_phonetic.__self__BoxLayout:BoxLayout:id: ma…...

【CVE-2021-3156】——漏洞复现、原理分析以及漏洞修复

文章目录 前言1、漏洞概述2、漏洞复现2.1、漏洞复现测试环境2.2、漏洞复现具体步骤 3、漏洞原理3.1、前置知识3.1.1、sudo3.1.2、sudoedit3.1.3、转义字符 3.2、漏洞分析 4、漏洞修复5、参考文献总结 前言 2021年01月27日&#xff0c;RedHat官方发布了Sudo缓冲区/栈溢出漏洞的风…...

Github 2024-05-31 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10TypeScript项目1JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache License 2.0Star数量:1…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...