Smma-net:一种基于音频线索的目标说话人提取网络,具有谱图匹配和相互关注功能

SMMA-NET: AN AUDIO CLUE-BASED TARGET SPEAKER EXTRACTION NETWORK

WITH SPECTROGRAM MATCHING AND MUTUAL ATTENTION
第二章 目标说话人提取之《Smma-net:一种基于音频线索的目标说话人提取网络,具有谱图匹配和相互关注功能》


文章目录

  • SMMA-NET: AN AUDIO CLUE-BASED TARGET SPEAKER EXTRACTION NETWORK
  • 前言
  • 一、任务
  • 二、动机
  • 三、挑战
  • 四、方法
    • 1.TSE任务
    • 2.谱图匹配
    • 3. 多尺度自适应编码器
    • 4.精细阶段
  • 五、实验评价
    • 1.数据集
    • 2.实验
    • 3.客观评价
    • 4.主观评价
  • 六、结论
  • 七、知识小结


前言

语音新手入门,学习读懂论文。
本文作者机构是信号检测与处理新疆省重点实验室,乌鲁木齐2新疆大学计算机科学与技术学院,乌鲁木齐3海思科技有限公司4清华大学电子工程系
在这里插入图片描述


一、任务

我们提出了一种具有谱图匹配和相互关注的目标说话人提取网络(SMMA-Net)。我们提出了一种谱图匹配策略来获得辅助段,该辅助段在长度和特征上与混合段匹配。设计相互注意块,在混合语和辅助语融合过程中有效利用匹配的辅助语段。

二、动机

通过捕捉目标说话人语音特征的说话人编码器,池化操作生成嵌入向量,然后通过加法、乘法等运算将其与混合后的特征映射融合。

三、挑战

一方面,由于嵌入向量不能保持目标说话人的动态变化特征,可能会扭曲目标说话人的音色和辅助语音的内在相干性。另一方面,刚才提到的融合操作,虽然是一种有效而不矫饰的方式,但人类大脑的选择性听觉注意机制并不一致。

四、方法

1.TSE任务


在这里插入图片描述

2.谱图匹配

提出了一种频谱图匹配策略,直接在帧级计算辅助语音频谱图与混合语音的余弦相似度。当混合语音的谱图长度大于辅助语音的谱图长度,即T > T '时,辅助语音将被复制和截断,以保持与混合语音相同的长度。否则,后者将被分割成多个长度为T,跳数为p的段。在辅助语音的开头和结尾填充零后生成。通过计算每段Ai与混合语音Y之间的余弦相似度d:
在这里插入图片描述
其中<·,·>为内积,得到M个相似矩阵。选取相似矩阵中位数最大的段作为匹配的辅助段Am(t, f)。

3. 多尺度自适应编码器

我们设计了一种基于非对称卷积的多尺度自适应编码器,其输入为混合或匹配辅助段的频谱图。输入经过一个核大小为3×3的Conv2D,得到特征映射J。它将被送入三组核大小分别为3、5和7的非对称卷积中,以获得其在不同尺度上的上下文关系。在每个集合中,垂直和水平卷积操作之后是一个投影层(Proj),该投影层由Conv2D、参数整流线性单元(PReLU)和层归一化(LN)组成。对Proj2和Proj3的输出进行求和,并将结果通过线性层和sigmoid线性单元(SiLU)激活操作生成先聚合的特征图,再将其与Proj1的输出进行求和,以同样的方式生成二次聚合的特征图。J与二次聚合的feature map之间以卷积的方式存在残差连接。混合语音和匹配的辅助语音的频谱图分别被送入具有相同结构的单独编码器中,生成混合语音和辅助语音的中间特征映射Em和Ea。

将Em和Ea两个编码器的输出送入互注意块,得到融合特征,作为后续迭代过程的输入。图1所示,初级阶段的横线框内的操作分量将被重复Nb次,由双向长短期记忆(BLSTM)、多重大核注意(MLKA)、移动反向瓶颈卷积(MBConv)和全波段自注意组成,分别得到Zf、Zt、Zc和Zi。(BLSTM和全频段自关注遵循TF-GridNet的设计原则)
在这里插入图片描述
(a)多尺度自适应编码器原理图,(b)互注意块,©多个大核注意,(d)特征重组单元。R为蓝色或红色,表示通过消除频率或时间维度将三维张量(3D)重塑为二维张量,带黑色的R表示将张量重塑回三维张量。MM表示矩阵乘法,⊗表示元素积。LKC(K,d)表示核大小为K,展开为d的大核卷积运算。
相互注意:
助语和混合语中的一个将作为查询,而另一个将同时作为键和值。输入分别沿着频率和时间维度重构为T和F个独立序列。然后将单独的序列分别投影到查询、键和值上,分别记为q、k和v。投影层由一维(1D)卷积(Conv1D)、PReLU和LN组成。然后,利用缩放后的点积关注得到加权特征Mt和Mf。
多重大核注意:
核大小为(K, K)的大核卷积(Large Kernel convolution, LKC)运算可以分解为展开d的[K/d × K/d]深度展开卷积(DW-D-Conv)、(2d−1)× (2d−1)深度卷积(DWConv)和点向卷积(PWConv)[27]。如图2 ©所示,Zp将被输入到三个LKC操作中,其中(K, d)为(6,2)、(12,3)和(20,4),以捕获不同时间分辨率下Zp的长期依赖关系。经过一个串联和全连接(FC)层,可以得到一个有效的融合特征Zo,并将其应用到Zp上。
移动倒瓶颈卷积(MBConv):不同通道之间特征图具有高度相似性的现象。为了减少由高相似性引起的信道间冗余,作者利用MBConv来聚合和重加权信道信息。

4.精细阶段

随着模型的深入,自我注意的重复应用会稀释高频分量,因此精化阶段的每个迭代过程都包含一个额外的特征重组单元,该单元用于放大高频分量。
Feature Recombination Unit (FRU):
首先将输入特征X送入global average pooling (GAP)层,生成直流分量Xd。将Xin减去Xd,得到高频分量Xh,引入两个可学习参数λ和µ,分别对高频分量和直流分量进行重加权。
在这里插入图片描述

五、实验评价

1.数据集

WSJ02mix dataset1模拟了一个双说话人混合数据库。训练子集(20,000个话语覆盖101个说话人,持续时间为30小时),验证子集(5,000个话语覆盖101个说话人,持续时间为10小时)和测试子集(3,000个话语覆盖18个说话人,持续时间为5小时),其中所有样本的采样率为8kHz。辅助发言的平均时长为7.3秒。

2.实验

利用平方根Hann窗口,窗口大小为32 ms,跳长为8 ms。将谱图匹配过程中的跳数P设为126,D设为24。初级和细化阶段的重复次数设置为Nb = 4, Nr = 4。两个阶段的blstm中隐藏单元的数量都设置为192。
在这里插入图片描述
为了有效地利用辅助语音,提出了谱图匹配策略。为了验证其有效性,我们采用了基于我们提出的整体架构的其他三种策略来对齐辅助语音和混合语音:
(i)嵌入向量:重复从扬声器编码器生成的扬声器嵌入向量。
(ii)补丁级匹配:在补丁级选择几个相似度较高的辅助片段进行拼接[18]。
(iii)随机分割:从辅助语中随机分割一段,使其在长度上与混合语匹配。
表1的结果表明,我们提出的SM策略在尺度不变信失真比改进(SI-SDRi)指标上显著优于传统的嵌入向量方法,提高了1.8dB。我们将这种显著的增益归因于辅助语音在时间维度上的动态变化特征。与补丁级匹配相比,SM在Si-SDRi指标上的性能提高了0.5dB,这进一步证明了辅助语音动态变化特征对基于音频线索的TSE任务的重要性。(iii)和(iv)都使用了助语的连续段,而(iii)缺乏“余弦相似度计算”的匹配过程。结果表明,匹配过程对SI-SDRi的贡献为0.2dB。
在这里插入图片描述
表2列出了我们模型在不同设备下的SI-SDRi结果。当不使用SM时,SMMA-Net使用传统的嵌入向量,当不使用互注意(MA)时,使用简单的加法运算。在没有精化阶段的情况下,两个阶段将合并为一个阶段,在没有FRU的情况下重复8次。

在这里插入图片描述
我们首先在WSJ0-2mix-extr数据集上评估了SMMA-Net在TSE任务中的性能。SMMA-Net以最少的参数数量实现了最佳性能,在SI-SDRi指标上优于最先进的方法。我们还在WSJ0-2mix数据集上评估了SMMA-Net用于说话人分离(SS)任务的性能。SMMA-Net*采用与SMMA-Net类似的架构,主要区别是MA块被删除。此外,SM策略也没有被利用。

3.客观评价

4.主观评价


六、结论

本文提出了基于音频线索的TSE任务的SMMA-Net。
实验结果表明了所提出的SM策略和MA块的有效性。SMMA-Net在TSE任务中优于最先进的方法,并在Si-SDRi度量上实现了1.3 dB的改进。据我们所知,我们提出的用于TSE任务的SMMA-Net首先超越了具有相同架构的用于SS任务的模型。

七、知识小结

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

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

相关文章

程序员的多维智慧:技术修炼、人际交往与投资哲学

程序员不应该只会埋头敲代码&#xff0c;要多看看书&#xff0c;多学习... 1.程序员技术 保持严谨的作风&#xff0c;实事求是&#xff0c;记录现象&#xff0c;找准依据&#xff0c;可以做出假设&#xff0c;问题的解释和结论必须能完整、全面符合现象和各种认知逻辑。 绝不…

【算法入门赛】B. 自助店评分(C++、STL、推荐学习)题解与代码

比赛地址&#xff1a;https://www.starrycoding.com/contest/8 题目描述 在上一场的入门教育赛中&#xff0c;牢 e e e找到了所有自助店的位置&#xff0c;但是他想发现一些“高分好店”&#xff0c;于是他利用爬虫技术从“小众点评APP”中爬取了武汉所有自助店的评分。 评分…

Python 机器学习 基础 之 构建第一个机器学习应用

Python 机器学习 基础 之 构建第一个机器学习应用 目录 Python 机器学习 基础 之 构建第一个机器学习应用 一、简单介绍 二、第一个机器学习测试应用介绍&#xff1a;鸢尾花分类 三、第一个机器学习测试应用 &#xff1a;前置环境&#xff0c;知识点介绍 jupyter notebo…

mamba-ssm安装卡着不动

项目中用到Mamba的小伙伴&#xff0c;causal_conv1d和 mamba-ssm两个包&#xff0c;但是会卡在Building wheel for mamba-ssm (setup.py) &#xff1a; 为了探究卡在了building的哪一步&#xff0c;加入–verbose进行显示&#xff1a; pip install mamba-ssm --no-cache-dir -…

Linux 安装JDK和Idea

安装JDK 下载安装包 下载地址&#xff1a; Java Downloads | Oracle (1) 使用xshell 上传JDK到虚拟机 (2) 移动JDK 包到/opt/environment cd ~ cd /opt sudo mkdir environment # 在 /opt下创建一个environment文件夹 ls# 复制JDK包dao /opt/environment下 cd 下载 ls jd…

openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause

文章目录 openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause279.1 现象描述279.2 优化说明openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause 279.1 现象描述 in-clause/any-clause是常见的SQL语句约束条件,有时in…

Jmeter性能测试(三)

token鉴权处理 1、添加json提取器 2、写jsonpath表达式在响应Body中提取鉴权token token&#xff1a;变量名&#xff0c;可以直接引用 $…token&#xff1a;token数据在响应中的字段名称&#xff0c;根据自己情况写就行 3、将提取出来的token添加到请求头中 重点&#xff…

postman常用功能超全使用教程

Postman 使用 一、Postman 简介 Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求(如:get/post/delete/put…等等),将请求数据发送至服务端,获取对应的响应结果。 二、Postman 功能简介 三、Postman 下载安装 Post…

ssrf(第二弹)

四&#xff0c;post请求 1.打开环境&#xff0c;提示说发一个HTTP POST请求&#xff0c;ssrf是用php的curl实现的.并且会跟踪302跳转。 2.用dirsearch扫一下常见的端口&#xff0c;看到有三个可以访问的页面 3.构造伪协议&#xff0c;因为要通过172.0.0.1访问&#xff0c;我们…

基于OpenCV对胸部CT图像的预处理

1 . 传作灵感 胸部CT中所包含的噪声比较多&#xff0c;基于OpenCV简单的做一些处理&#xff0c;降低后续模型训练的难度。 2. 图像的合成 在语义分割任务中有的时候需要将原图&#xff08;imput&#xff09;和标注数据&#xff08;groudtruth&#xff09;合成一幅图像&#x…

Java——接口的补充

目录 一&#xff1a;接口的注意事项 1. 接口中不能有方法块&#xff1b; 2. 接口没有构造方法&#xff1a; 3.接口是可以多继承的&#xff1b; 4. 多个接口抽象方法重复 5. 类的父类方法与接口方法重复 二&#xff1a;类与接口 1. 继承与实现 2. 多个父接口的抽象…

AzureDataFactory 表选项之自动创建表

接上篇, 该篇里表与表之间采取了提前mapping的方式&#xff0c;通过Import schemas的方式将源和目标的表的schemas做了一对一的匹配 但如果我的应用场景是将D365的表数据推送到外部数据源&#xff0c;需要原表clone&#xff0c;如果我去先建表建字段再做mapping未免过于繁琐&am…

基于WPF的DynamicDataDisplay曲线显示

一、DynamicDataDisplay下载和引用 1.新建项目,下载DynamicDataDisplay引用: 如下图: 二、前端开发: <Border Grid.Row="0" Grid.Column="2" BorderBrush="Purple" BorderThickness="1" Margin="2"><Grid>…

面试笔记——类加载器

基础 类加载器&#xff1a;用于装载字节码文件(.class文件)运行时数据区&#xff1a;用于分配存储空间执行引擎&#xff1a;执行字节码文件或本地方法垃圾回收器&#xff1a;用于对JVM中的垃圾内容进行回收 类加载器 &#xff1a;JVM只会运行二进制文件&#xff0c;类加载器的…

Gateway基础配置指南

Gateway基础配置指南 一、引言 随着微服务架构的普及&#xff0c;API网关&#xff08;Gateway&#xff09;作为微服务架构中的关键组件&#xff0c;其重要性日益凸显。Gateway作为系统的唯一入口&#xff0c;负责处理所有客户端的请求&#xff0c;并根据业务规则将请求转发到…

快速上手prometheaus grafana 监控

介绍 prometheaus 一个定时输出指标数据的巡检组件&#xff1f; grafana 一个读取指标&#xff0c;可视化的提供了好看界面的组件&#xff1f; 教程 如何和springboot项目集成 【IT老齐153】超级实用&#xff01;十分钟掌握Prometheus与Grafana监控SpringBoot应用_哔哩哔哩_…

【知识碎片】2024_05_10

每日代码 至少是其他数两倍的最大数 . - 力扣&#xff08;LeetCode&#xff09; int dominantIndex(int* nums, int numsSize) {int max_num 0;int next_max 0;int pos 0;for(int i 0; i < numsSize; i){if(nums[i] > max_num) {pos i;next_max max_num;max_num…

如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英语能力评测对话网页机器人(详细教程)

ERNIE 千帆大模型 ERNIE-3.5是一款基于深度学习技术构建的高效语言模型&#xff0c;其强大的综合能力使其在中文应用方面表现出色。相较于其他模型&#xff0c;如微软的ChatGPT&#xff0c;ERNIE-3.5不仅综合能力更强&#xff0c;而且在训练与推理效率上也更高。这使得ERNIE-3…

JVM调优—减少FullGC

背景 最近负责了一个审批流程新项目&#xff0c;带领了几个小伙伴&#xff0c;哼哧哼哧的干了3个月左右&#xff0c;终于在三月底完美上线了&#xff0c;好消息是线上客户用的很丝滑&#xff0c;除了几个非常规的业务提单之外&#xff0c;几乎没有什么大的问题&#xff0c;但是…