如何利用单声道音频进行说话人距离估计

devtools/2024/11/15 1:37:08/

      音频中的距离估算在各种应用中扮演着关键角色,例如声学场景分析、声源定位和房间建模。大多数研究主要集中在采用分类方法,将距离离散化为不同的类别,这样虽然可以让模型训练更平滑,提高精度,但限制了获得的声源位置的精度。相反,采用回归方法进行连续距离估计可以提供更高的精度和更丰富的信息。

      使用带有注意力模块的卷积递归神经网络(CRNN),从音频信号中连续估算距离。注意力机制使模型能够集中于相关的时频特征,增强其捕捉细粒度距离信息的能力。在四个数据集上进行了广泛的实验(合成数据集、混合数据集QMULTIMIT、真实数据集VoiceHome-2和STARSS23)。实验结果表明,模型在无噪声合成场景中实现了0.11米的绝对误差。此外,混合场景的绝对误差约为1.30米。在真实场景中,算法的表现在存在不可预测的环境因素和噪声的情况下,绝对误差约为0.50米

1、相关方法

        定义距离估计为回归问题:将说话人距离估计定义为回归问题,以实现对连续距离的估计,而不仅仅将距离分为几个类别。

1.1 提取音频信号的声学特征,包括STFT幅度、相位正弦和余弦图。

1.2 引入注意力模块,学习时间-频率注意力图,突出与距离估计最相关的特征,增强了模型在不同场景下的表现,从而提升了距离估计任务的性能。

(1)强调重要特征区域:通过学习时间-频率的注意力图,注意力模块可以强调对距离估计任务更重要的特征区域,使得模型能够更专注于这些区域,提高距离估计的准确性。

(2)增强远距离估计:在远距离情况下,由于混响效应,信号中的直接声和早期反射声逐渐被晚期混响所掩盖。注意力模块可以增强模型对晚期混响中依然存在的有用特征的关注,从而提升远距离的估计性能。

(3)提升噪声环境下的性能:注意力模块能够使模型更关注干净语音区域,降低噪声对模型性能的影响。

1.3 使用卷积层和循环层处理特征,并采用全连接层进行回归预测。

  • 特征提取:首先,通过卷积层提取输入音频的特征,这些特征包括STFT的幅度和相位信息。卷积层采用矩形滤波器,能够更有效地捕获特征。
  • 时序建模:通过循环层(如GRU)建模时序特征,捕获时间上的动态信息。循环层可以有效地学习时间序列数据中的依赖关系。
  • 特征整合:将卷积层提取的特征矩阵沿着通道维度堆叠,输入到循环层进行时序建模,得到时间步长与特征维度的输出。
  • 回归预测:通过全连接层进行回归预测。全连接层可以独立地对每个时间步长的特征进行映射,最终得到距离预测结果。具体来说,通过全连接层从循环层输出得到一个时间步长的预测向量,然后通过最后一个全连接层实现回归预测。

1.4 使用均方误差损失函数进行训练。

  • 前向传播:输入训练数据,通过模型得到预测值。
  • 计算损失:计算真实值和预测值之间的均方误差损失。
  • 反向传播:根据损失进行反向传播,更新模型参数以减小损失。
  • 迭代优化:重复步骤1-3,通过多次迭代优化模型参数。

1.5 调整模型参数优化结果

  • 卷积层核尺寸:比较了不同核尺寸(矩形核和方形核)的效果。结果表明,在配合循环层的情况下,使用矩形核可以更有效地捕获特征,同时保持模型效率。
  • 循环层参数:比较了不同数量和神经元的循环层设置,发现循环层对模型性能影响较大。增加循环层数量和神经元数量可以提高模型对时序特征的学习能力。
  • 注意力模块:实验验证了注意力模块的有效性,并表明其在远距离估计中效果更为显著。注意力模块可以自动学习对距离估计最重要的特征,增强模型对关键信息的捕捉能力。
  • 损失函数:采用了均方误差损失函数,它可以有效降低预测值和真实值之间的差异,使模型获得更准确的预测结果。
  • 数据集规模:分析了不同规模数据集对模型性能的影响。更大规模的数据集可以提供更多样化的训练样本,有助于模型学习更具代表性的特征,从而提高泛化能力。
  • 微调:对于跨数据集的测试,实验发现需要对模型进行微调以适应新场景。微调可以使模型参数更好地适应新的数据分布。

2、性能评估

  • 在合成数据、混合数据和真实数据上进行实验。
  • 使用平均绝对误差(MAE)和相对平均绝对误差(rMAE)作为评价指标。

3、采用的数据集

    合成数据集:使用TIMIT语音数据集一个由德州仪器(TI)、麻省理工学院(MIT)和SRI International合作构建的声学-音素连续语音语料库的回声语音与模拟的房间脉冲响应进行卷积生成,包括2500个10秒长的音频文件。

    混合数据集QMULTI-MIT:使用C4DM房间脉冲响应数据库中的测量脉冲响应,与TIMIT语音数据进行卷积,生成2340个音频文件。

    真实数据集:

VoiceHome-2:包含752个10秒左右的法语音频文件,录制于家庭环境,用于远场语音处理。

STARSS22:包含2934个2秒的语音片段,来自空间音频数据集DCASE 2022中的Task 3,包含13个目标类别的空间标注。


http://www.ppmy.cn/devtools/34224.html

相关文章

STC单片机和串口触摸屏自由通讯协议

/*------------------主循环程序----------------*/ void main( ) /*主程序开始*/ { /**加一**/ P0M00XFF; //推挽输出 P0M…

AEC Capital Limited:开启可持续金融新纪元

在当今社会,环保和可持续发展已成为全球关注的焦点。在这个背景下,AEC Capital Limited作为香港的一家金融服务公司,以其专业、高端的服务和创新的理念,成为可持续金融领域的引领者。我们致力于将环境保护与金融服务相结合&#x…

css基础之显示模式、背景、三大特性

显示模式、背景 一、元素显示模式 1.块级元素 独占一行&#xff0c;例如div,p&#xff0c;hr,h1-h6,ul,ol,form,table 可以设置高度宽度&#xff0c;外边距&#xff0c;内边距 宽度默认容器宽度 里面可以放行内或块级元素 注意&#xff1a; 文字类元素不能使用块级元素 <…

[ARM系列]coresight(一)

原文链接 目的&#xff1a;对复杂SOC实现debug和trace的架构 典型环境 包含&#xff1a;2个ARM core&#xff0c;一个DSP&#xff0c;众多coresight组件 coresight组件实现对core、DSP的debug和trace功能 环境中包含3个通路 trace通路&#xff1a;将core和DSP内部信息输出到…

flink 入门学习 wordcount

概述&#xff1a; Apache Flink 是一个流处理和批处理的开源框架&#xff0c;用于处理无界和有界数据流。如果你想要使用 Flink 来统计文本中文字的数量&#xff08;例如&#xff0c;字符数、单词数或行数&#xff09;&#xff0c;你可以通过 Flink 的 DataSet API&#xff08…

【YoloDeployCsharp】基于.NET Framework的YOLO深度学习模型部署测试平台-源码下载与项目配置

基于.NET Framework 4.8 开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等应用场景,同时支持图像与视频检测。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runtime以及OpenCV DNN,支持CPU、IGP…

关于YOLO8学习(一)环境搭建,官方检测模型部署到手机

一,环境的搭建 环境 win10 python 3.11 cmake pytorch pycharm 过程 首先安装好一个pycharm,这里就不一一叙述了。 其次,选择好一个python版本,是关键所在。有些YOLO的版本,并不支持很高的python版本,博主选用的是python3.11版本。经过实际的测试,这个版本比较合适。…

一种算法分类方式及其应用

在计算机科学领域&#xff0c;算法是解决问题的有效方法&#xff0c;而对算法进行分类有助于理解它们的特性、优劣以及在不同场景下的应用。常见的算法分类方法&#xff0c;包括按设计思想、问题类型、数据结构和应用领域等&#xff0c;每一类算法会对应有其典型和实际应用。 算…