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

神经串联式语音转换:对基于串联的单次语音转换方法的再思考 论文笔记

NEURAL CONCATENATIVE SINGING VOICE CONVERSION: RETHINKING CONCATENATION-BASED APPROACH FOR ONE-SHOT SINGING VOICE CONVERSION 笔记

发现问题:

在any-to-any的转换中,由于内容和说话人音色的解耦不足,导致源说话人的音色部分仍保留在转换后的音频中,影响了音频质量和转换效果。

解决问题:

1、提出了NeuCoSVC,参考了KNN-VC中的方法,用SSL表示代替语音单元,并使用声码器直接合成音频。在推理过程中,从目标音频中提取SSL表示以形成匹配池。然后将源表示的每一帧替换为匹配池中最近的邻居,以创建用于音频合成的预匹配表示。这种方法完全利用了来自目标扬声器的特征,可以潜在地消除音色泄漏。
2、kNN-VC中缺乏明确的音高建模,本文采用了FastSVC架构,通过特征线性调制(FiLM)有效地整合了音高和响度特征。

模型结构图

在这里插入图片描述

SSL表示提取器和匹配模块

在这里插入图片描述
这个模块包括两个模块:
(1)从音频中提取压缩特征:遵循KNN-VC的方法,采用预训练的WavLM-Large编码器从音频中提取SSL特征,研究发现, WavLM的第6层有效地将同一音素的声音片段在特征空间中映射得更近。并且,这一层还保留了说话人的音色信息
(2)将提取的源话语特征替换成参考话语特征:在匹配策略方面,我们采用kNN方法,在参考匹配池中搜索最接近的K个SSL特征,然后将这K个特征的均值用于替换源语音特征。为了提高匹配过程的准确性,我们采用WavLM-Large中最后5层的平均值进行匹配,同时利用第6层进行合成,这一决定的动机是,后5层包含更多的判别性内容信息,从而提高了匹配精度。匹配策略采用k = 4的k近邻法,以余弦相似度作为距离度量。

神经谐波信号生成器

谐波信号可以更准确的表示音高:音高信息通常用基频(f0)表示,但f0只是一个数字,无法完整地表示音高的变化和细微差别。谐波信号包含了多个频率成分,可以更准确地表示音高的变化和细微差别,从而生成更自然、更准确的歌声。
1、结构
(1)基频激励信号生成器:将帧级的f0特征上采样到音频级并生成基频激励信号 p[n]
在这里插入图片描述
p[n]: 基频激励信号,它是 n 时刻的信号值。
K:谐波成分的数量,由公式(2)计算。
k: 谐波成分的索引,kE {1,2,…,K}。
fo[i]: 第i个帧的基频值。fs: 音频采样率。n:时刻索引。
当fo[n] >0时, p[n]是一个由K个谐波成分组成的信号。每个谐波成分的频率是 fo[n] 的整数倍。谐波成分的幅度相等。当 fO[n] = 0 时,p[n] = 0,表示没有基频激励信号。
K:谐波成分的数量。
K 的值取决于fo[n]的值和音频采样率fs。当fo[n]越高时,K的值越小,谐波成分的数量越少。当fo[n]越低时,K的值越大,谐波成分的数量越多。
公式(1)和公式(2)用于生成基频激励信号p[n],它包含了音高信息。公式(1)表示基频激励信号的生成过程,公式(2)表示谐波成分的数量K的计算方法。
(2)线性时变滤波器:对不同谐波分量的幅值进行调整
在这里插入图片描述
第一部分是h1[n] * p[n],它表示对基频激励信号p[n]进行滤波后的信号,其中h1[n]是LTV滤波器的系数。
第二部分是 h2[n] * z[n],它表示对噪声信号 z[n] 进行滤波后的信号,其中h2[n]是LTV滤波器的系数。

(3)谐波信号拼接器:将原始正弦激励信号与滤波后的激励信号连接起来,形成神经谐波信号
在这里插入图片描述

音频合成器

在这里插入图片描述

音频合成器包括一个上采样流和两个下采样流。上采样流由5个上采样块组成,逐步将SSL特征转换为音频采样。两个下采样流分别将音调和响度信息下采样到每个块的相应尺度中,集成到上采样块中。
WavLM-Large模型每20ms的音频提取一次SSL特征,音高和响度特征每10ms提取一次。将每个SSL特征向量复制两次,使其时间间隔变为10ms,从而与音高和响度特征的时间间隔一致.

相关文章:

神经串联式语音转换:对基于串联的单次语音转换方法的再思考 论文笔记

NEURAL CONCATENATIVE SINGING VOICE CONVERSION: RETHINKING CONCATENATION-BASED APPROACH FOR ONE-SHOT SINGING VOICE CONVERSION 笔记 发现问题: 在any-to-any的转换中,由于内容和说话人音色的解耦不足,导致源说话人的音色部分仍保留在转换后的音频中&#x…...

机器学习(1)--数据可视化

文章目录 数据可视化作用可视化方法实现可视化 总结 数据可视化 数据可视化是将数据以图形、图像、动画等视觉形式表示出来,以便人们能够更直观地理解、分析和交流数据中的信息。 作用 一个整理的好好的数据,我们为什么要将其可视化呢?将它…...

docker部署Prometheus、Grafana

docker部署Prometheus 1、 拉取prometheus镜像 docler pull prom/prometheus 遇到问题:注意下科学上网。 2、将prometheus配置文件放在外面管理 prometheus.yml global:scrape_interval: 15sevaluation_interval: 15salerting:alertmanagers:- static_configs:-…...

5.mysql多表查询

MYSQL多表查询 MYSQL多表查询1.多表关系笛卡尔积 2. 多表查询概述2.1 内连接2.2 外连接2.3自连接联合查询union ,union all 2.4子查询2.4.1标量子查询2.4.2列子查询2.4.3行子查询2.4.4表子查询 MYSQL多表查询 create table student(id int auto_increment primary …...

【前端面试】挖掘做过的nextJS项目(上)

为什么使用nextJS 需求: 快速搭建宣传官网 1.适应pc、移动端 2.基本的路由跳转 3.页面渲染优化 4.宣传的图片、视频资源的加载优化 5.seo优化 全栈react web应用、 tailwind css原子工具的支持,方便书写响应式ui app router(React 服务器组件)支持服务器渲…...

【Unity-UGUI】UGUI知识汇总

目录 前言1 UGUI系统原理2 事件系统2.1 EventSystem2.2 InputModules2.3 Raycasters2.4 协作 3 UGUI系统的组件3.1 Image和RawImage3.2 Mask和RectMask2D 扩展UI穿透问题 前言 记录一些最近学到的有关UGUI的知识。 参考 知乎:6千字带你入门UGUI源码 书籍&#xff…...

JavaScript性能测试:策略、工具与实践

在Web开发中,性能测试是确保应用程序达到预期响应速度和处理能力的关键步骤。JavaScript作为构建交互式Web应用的核心语言,其性能直接影响用户体验。本文将详细介绍如何使用JavaScript进行性能测试,包括性能测试的基本概念、测试类型、工具、…...

嵌入式软件开发学习一:软件安装(保姆级教程)

资源下载: 江协科技提供: 资料下载 一、安装Keil5 MDK 1、双击.EXE文件,开始安装 2、 3、 4、此处尽量不要安装在C盘,安装路径选择纯英文,防止后续开发报错 5、 6、 7、弹出来的窗口全部关闭,进入下一步&a…...

SpringMVC学习中遇到的不懂注解记录

文章目录 Autowrite 和 ResourceQualifier 和 PrimaryPathVariableController、Service、Repository 和 Component Autowrite 和 Resource 我们先讲讲 Autowrite 注解 吧。 public class StudentService3 implements IStudentService {//Autowiredprivate IStudentDao studentD…...

Java面试题--分布式锁

分布式锁 你说一下什么是分布式锁 分布式锁是在分布式/集群环境中解决多线程并发造成的一系列数据安全问题.所用到的锁就是分布式锁,这种锁需要被多个应用共享才可以,通常使用Redis和zookeeper来实现。 分布式锁有哪些解决方案 常用的三种方案 基于…...

一文讲清数据平台与数据中台的关系与区别

前言 如果您是IT领域或者数据领域的从业者,一定对IT行业“创造”概念的能力深有体会,也一定经常被看起来名称相似,但又不同的各种概念绕的云里雾里,摸不着头脑。今天我们要讨论的是数据平台和数据中台两个概念,您是不…...

Android的Service和Thread的区别

Service 是一种可在后台执行长时间运行操作而不提供界面的应用组件。 Android Service是组件,既不能说它是单独的进程也不能说它是单独的线程。 如果非要从通俗的语言层面来理解的话,姑且将其理解为对象。这个Service对象本身作为应用程序的一部分与它的…...

经纬恒润亮相第四届焉知汽车年会,功能安全赋能域控

8月初,第四届焉知汽车年会在上海举行。此次年会围绕当下智能电动汽车的热点和焦点,聚焦于智能汽车场景应用、车载通信、激光雷达、智能座舱、功能安全、电驱动系统等多个领域,汇聚了来自OEM、科技公司、零部件供应商、测试认证机构、政府院校…...

掌握JavaScript单元测试:最佳实践与技术指南

单元测试是软件开发过程中的关键环节,它帮助开发者确保代码的每个独立部分按预期工作。在JavaScript开发中,进行单元测试不仅可以提高代码质量,还可以加快开发速度,因为它们为代码更改提供了安全网。本文将详细介绍如何使用JavaSc…...

spring boot 古茶树管理系统---附源码19810

目 录 摘要 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2古茶树管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2经济可行性分析 2.1.3操作可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 …...

00067期 matlab中的asv文件

今天在编写代码的过程中,发现自动生成.m文件的同名文件.asv,特此发出疑问?下面是解答: 有时在存放m文件的文件夹中会出现*.asv   asv 就是auto save的意思,*.asv文件的内容和相应的*.m文件内容一样,用记…...

JMeter高效管理测试数据-参数化

文章目录 1.什么是参数化2.定义变量3.CSV数据文件设置 1.什么是参数化 在JMeter中,参数化是一种常用的技术,用于使测试场景更加灵活和动态。通过参数化,你可以让JMeter在每次请求中使用不同的值,这在模拟真实用户行为或测试不同输…...

python学习之writelines

在Python中,writelines() 是一个方法,它属于文件对象,用于将字符串列表写入到文件中。这个方法接受一个序列(如列表或元组)作为参数,序列中的每个元素都是要写入的一行文本。 ### 函数定义: p…...

STM32学习笔记13-FLASH闪存

FLASH简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程读写FLASH的用途: 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 通过在…...

UIButton的UIEdgeInsetsMake属性(setTitleEdgeInsets,setImageEdgeInsets)

一.UIEdgeInsetsMake的四个属性 UIEdgeInsetsMake 有四个属性,依次是 Top,left,bottom,right [Btn setTitleEdgeInsets:UIEdgeInsetsMake( top, left, bottom, right)]; 四个属性的默认值为0,拿其中一个left属性来聊, 你可以理解为文字距离Btn左边界的“位移”是0, 如果…...

子网掩码是什么?

子网掩码(Subnet Mask)是用于划分网络的一个32位的二进制数,用于指示IP地址中哪些位用于网络标识,哪些位用于主机标识。 在IPv4网络中,IP地址由32位二进制数组成,通常表示为四个十进制数,每个数…...

SQLALchemy 数据的 CRUD 操作

SQLALchemy 数据的 CRUD 操作 导入必要的模块创建数据库引擎创建会话CRUD 操作创建(Create)读取(Read)更新(Update)删除(Delete)过滤条件使用 `filter` 方法使用 `filter_by` 方法总结聚合函数使用ORM接口使用SQL表达式语言注意关闭会话注意事项SQLAlchemy 是一个流行的…...

reactFiberLane

Lane (车道模型) 英文单词lane翻译成中文表示"车道, 航道"的意思, 所以很多文章都将Lanes模型称为车道模型 Lane模型的源码在ReactFiberLane.js, 源码中大量使用了位运算(有关位运算的讲解, 首先引入作者对Lane的解释(相应的 pr), 这里简单概括如下: Lane类型被定义…...

Hackademic.RTB1靶场实战【超详细】

靶机下载链接:https://download.vulnhub.com/hackademic/Hackademic.RTB1.zip 一、主机探测和端口扫描 nmap 192.168.121.0/24 ip:192.168.121.196 端口:22、80 二、访问80端口 发现target可点击 点击后跳转,页面提示目标是读取到 key.txt 文件 fin…...

让3岁小孩都能理解LeetCode每日一题_3148.矩阵中的最大得分

解释说明&#xff1a; 上面的内容的意思是为了有只移动一次的情况&#xff0c;而后面的grid&#xff08;i,j)-grid(i,k)由于j严格大于k,所以至少移动了一次&#xff0c;前面可以保持不移动&#xff0c;不移动就是选择0。 class Solution {public int maxScore(List<List&l…...

8.15日学习打卡---Spring Cloud Alibaba(三)

8.15日学习打卡 目录&#xff1a; 8.15日学习打卡为什么需要服务网关Higress是什么安装DockerCompose部署Higress创建网关微服务模块Higress路由配置Higress策略配置-跨域配置Higress解决如何允许跨域Higress策略配置之什么是HTTP认证Higress策略配置-Basic 认证什么是JWT认证J…...

2024下半年EI学术会议一览表

2024下半年将举办多个重要的EI学术会议&#xff0c;涵盖了从机器视觉、图像处理与影像技术到感知技术、绿色通信、计算机、大数据与人工智能等多个领域。 2024下半年EI学术会议一览表 第二届机器视觉、图像处理与影像技术国际会议&#xff08;MVIPIT 2024&#xff09;将于2024…...

【海奇HC-RTOS平台E100-问题点】

海奇HC-RTOS平台E100-问题点 ■ btn 没有添加到group中 &#xff0c;怎么实现的事件的■ 屏幕是1280*720, UI是1024*600,是否修改UI■ hc15xx-db-e100-v10-hcdemo.dtb 找不到■ 触摸屏驱动 能否给个实例■ 按键驱动■ __initcall(projector_auto_start)■ source insigt4.0 #if…...

性能测试之Mysql数据库调优

一、前言 性能调优前提&#xff1a;无监控不调优&#xff0c;对于mysql性能的监控前几天有文章提到过&#xff0c;有兴趣的朋友可以去看一下 二、Mysql性能指标及问题分析和定位 1、我们在监控图表中关注的性能指标大概有这么几个&#xff1a;CPU、内存、连接数、io读写时间…...

使用 RestHighLevelClient 进行 Elasticsearch 高亮查询及解析

在搜索引擎中&#xff0c;高亮显示查询关键字是一个提升用户体验的功能&#xff0c;它可以帮助用户更快地定位到相关信息。Elasticsearch 支持在搜索结果中对匹配的文本进行高亮显示。本文将介绍如何在 Java 应用程序中使用 Elasticsearch 的 RestHighLevelClient 执行高亮查询…...