声场合成新方法:基于声波传播的框架

      声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后者通常是缓慢的、昂贵的,并且容易出错的过程。

1 现有声场合成方法的局限性

1.1 基于测量的方法

  • 准确,但成本高,需要大量人力进行测量。
  • 需要对每个源/接收器位置组合和每种不同形状的设备进行重复测量。
  • 需要设备硬件,不适合硬件开发阶段。

1.2 基于模拟的方法

  • 通过计算声学波方程来估计房间脉冲响应 (RIR)。
  • 需要大量的计算资源,尤其是在宽带频谱下。
  • 需要对每种不同形状的设备进行重复模拟。

2 新方法

本文提供一种新方法,它结合了经验方法和模拟方法,为声场合成提供了两种方法之间的平衡。它将声场分解为两个独立的成分:房间成分和设备成分。整体声场是两个成分的复合映射。

2.1 理论基础

声学平面波是齐次亥姆霍兹方程的特征函数,是分析波动方程的强大工具。远场点源产生的声场可以用声学平面波很好地近似。

2.1.1 平面波分解

  • 平面波分解 (PWD) 是一种将声场近似为不同方向和权重的平面波叠加的方法。
  • PWD 可以近似齐次亥姆霍兹方程的局部解,并用于声场重建和声场再现等应用。

2.1.2 平面波分解的稀疏性

  • 平面波分解的系数 αl 通常具有稀疏性,即只有少量平面波对声场有显著贡献。
  • 稀疏性为使用稀疏恢复技术计算平面波分解提供了理论基础。

2.1.3 平面波分解的应用

  • 声场重建:通过测量麦克风阵列上的声场,可以计算平面波分解,并重建声源位置和声源信号。
  • 声场再现:通过控制扬声器的声场,可以再现特定的声场,例如音乐会现场的声音。
  • 声场合成:将平面波分解应用于声场合成,可以生成麦克风阵列上的声场信号。

2.2 设备声学字典

设备声学字典是一组向量,每个向量表示设备麦克风阵列在受到特定方向和频率的声学平面波照射时的总声场。

2.2.1 获取方法

  • 无响室测量:在无响室中,使用单频远场声源照射设备,并测量麦克风阵列上的声场,得到设备声学字典。
  • 数值模拟:使用有限元法 (FEM) 或边界元法 (BEM) 等数值方法,在设备表面上求解亥姆霍兹方程,得到设备声学字典。

2.2.2 作用

  • 设备声学字典是声场合成框架中连接房间分量和设备分量的桥梁。
  • 通过将房间分量的平面波分解结果与设备声学字典相结合,可以合成设备麦克风阵列上的声场信号。
  • 设备声学字典可以用于多种设备,无需针对每种设备重新计算。

2.2.3 数值模拟的细节

  • 使用 FEM 或 BEM 等数值方法,在设备表面上求解亥姆霍兹方程,得到总声场。
  • 设备表面被建模为声硬边界。
  • 为了模拟开放边界,使用完美匹配层 (PML) 技术消除内部域的反射和折射。
  • 使用标准偏微分方程求解软件包进行模拟,并通过与无响室测量结果进行比较验证模拟的准确性。

2.2.4 设备声学字典的应用

  • 声场合成:将房间分量的平面波分解结果与设备声学字典相结合,合成设备麦克风阵列上的声场信号。
  • 麦克风阵列处理:使用设备声学字典设计波束形成器,提高波束形成性能。
  • 声源定位和分离:利用设备声学字典进行声源定位和分离。
  • 去混响:使用设备声学字典进行去混响处理。

2.3 技术框架

2.3.1 框架组成

  • 房间分量:将房间内某点的声场表示为声学平面波的叠加,通过使用大麦克风阵列进行测量和稀疏恢复技术计算得到平面波分解结果。
  • 设备分量:计算设备表面对于声学平面波的响应,得到设备声学字典。
  • 合成分量:将房间分量的平面波分解结果与设备分量的设备声学字典相结合,合成设备麦克风阵列上的声场信号。

2.3.2 框架步骤

2.3.2.1 房间分量计算

  • 使用大麦克风阵列(例如 EigenMike)进行测量,获取房间内某点的声场信号。
  • 使用稀疏恢复技术对测量信号进行平面波分解,得到平面波的方向和权重。
  • 重复以上步骤,为每个房间和每个位置生成房间分量的平面波分解结果,形成房间数据库。

2.3.2.2 设备分量计算

使用无响室测量或数值模拟,计算设备表面对于声学平面波的响应,得到设备声学字典。

2.3.2.3 声场合成

  • 选择房间数据库中与目标位置对应的房间分量平面波分解结果。
  • 将设备声学字典与房间分量的平面波分解结果相结合,合成设备麦克风阵列上的声场信号。

2.3.3 框架优势

  • 分离房间声学和设备声学:将房间声学和设备声学分离,简化了声场合成的复杂性,并实现了组件的复用。
  • 减少测量/模拟开销:房间分量只需要进行一次测量,设备分量只需要进行一次计算,减少了测量/模拟的开销。
  • 提高计算效率:设备分量的计算可以在无响室中进行,并高度并行化,提高了计算效率。
  • 提高准确性:设备声学字典能够捕捉设备表面对于声学平面波的散射效应,提高了声场合成的准确性。

2.3.4 框架应用

  • 数据生成:生成合成数据,用于评估设备性能指标(例如误识率、词错误率)和训练深度学习声学模型。
  • 麦克风阵列处理:使用设备声学字典设计波束形成器,提高波束形成性能。
  • 声源定位和分离:利用设备声学字典进行声源定位和分离。
  • 去混响:使用设备声学字典进行去混响处理。

  

3 实验验证

本文通过三组实验来验证提出的声场合成框架的有效性

3.1 平面波分解验证

  • 使用 EigenMike 麦克风阵列记录两个不同的源信号,并使用稀疏恢复技术进行平面波分解。
  • 验证不同数量的平面波对声场重建误差的影响。

结果表明,少量平面波(例如 20-30 个)就能够以小于 -20 dB 的误差重建声场,证明了平面波分解的有效性。

3.2 房间脉冲响应(RIR)验证

  • 在三个不同的房间内进行实验,每个房间包含 24 个不同的位置。
  • 将 EigenMike 麦克风阵列与四种不同形状和麦克风阵列大小的设备进行共位。
  • 使用提出的框架计算每个位置的 RIR,并与实测 RIR 进行比较。

结果表明,合成 RIR 与实测 RIR 在所有频率上都高度相似,重建信号噪声比(SNR)为 19-23 dB,证明了 RIR 计算的准确性。

3.3 高级指标评估

  • 使用合成 RIR 和实测 RIR 对关键词误识率(FRR)进行评估。
  • 计算实测 FRR 和合成 FRR 之间的相对误差。

结果表明,实测 FRR 和合成 FRR 之间的相对误差小于 10%,证明了框架在评估高级指标方面的有效性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java知识点整理 13 — Hutool工具库

在开发时经常需要编写很多与业务无关的代码,比如获取指定日期对象、获取本机 IP 地址、数据加密等。通常我们会将这些代码独立出来,放到 utils 目录下,作为工具类供其它代码调用。 但如果遇到一个从未接触过的领域知识,开发一个新…

Spring Boot如何实现跨域资源共享(CORS)?

🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 技术交流:定期更新…

01_02_Mybatis的配置文件与基于XML的使用

1、引入日志 在这里我们引入SLF4J的日志门面&#xff0c;使用logback的具体日志实现&#xff1b;引入相关依赖&#xff1a; <!--日志的依赖--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version&g…

Spring Boot整合RocketMQ实现延迟消息消费

导包 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.3</version></dependency>添加配置信息 application配置文件 # rocketMq地址 rocketmq.name…

数据采集与预处理复习资料

目录 第一章 简答 1.简述Hadoop各个组件及其功能 2.Hadoop在大数据技术体系中的地位和作用&#xff08;来自文心一言&#xff09; 3.Hadoop 启动命令&#xff0c;停止命令 4.pig 加载HDFS 数据 5.数据采集的方法&#xff08;来自ppt&#xff09; 6.数据分析过程&#xf…

GO sync包——读写锁

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

引导过程与服务器控制

一、引导过程 1.开机自检 服务器主机开机以后&#xff0c;将根据主板 BIOS 中的设置对 CPU&#xff08;Central Processing Unit&#xff0c; 中央处理器&#xff09;、内存、显卡、键盘等设备进行初步检测&#xff0c;检测成功后根据预设的启动顺序移 交系统控制权&#xff0c…

ChatGPT在程序开发中的应用:提升生产力的秘密武器

在当今飞速发展的科技时代&#xff0c;程序开发已经成为许多企业和个人必不可少的技能。然而&#xff0c;编写代码并非总是顺风顺水&#xff0c;面对复杂的算法、繁琐的调试、持续不断的需求变更&#xff0c;程序员们常常感到压力山大。在这种情况下&#xff0c;ChatGPT应运而生…

C#学习系列之DataGrid无故添加空行

C#学习系列之DataGrid无故添加空行 前言解决前解决后总结 前言 采用别人的轮子&#xff0c;想在基础上改界面&#xff0c;但是copy后&#xff0c;无论怎么样都会有空行&#xff0c;实在是绑定数据的输入没有任何赋值。 解决前 绑定的数据中输入三组数据&#xff0c;但是没有第…

【osgEarth】Ubuntu 22.04 源码编译osgEarth 3.5

下载源代码 git clone --depth1 https://dgithub.xyz/gwaldron/osgearth -b osgearth-3.5 下载子模块 git submodule update --init 如果下载不过来&#xff0c;就手动修改下.git/config文件&#xff0c;将子模块的地址替换成加速地址 (base) yeqiangyeqiang-Default-string…

openlayers性能优化——开启图层预加载、减少空白等待时间

使用切片图层时、地图拖拽会有空白图片&#xff0c;为了减少空白等待时间&#xff0c;我们可以开始图层预加载。 const map_top new Map({layers: [new TileLayer({preload:Infinity, //预加载source: new StadiaMaps({layer: "outdoors",}),}),],target: "ma…

点云处理实战 PCL求解点云表面曲率

目录 一、什么是曲率 二、曲率计算过程 三、pcl 求解点云局部曲率 四、思考?为何曲率计算会使用协方差矩阵? 五、推荐阅读 一、什么是曲率 曲率是几何学中用来描述曲线或曲面形状变化的一个量。它反映了曲线或曲面的弯曲程度。在不同的上下文中,曲率的定义和计算方式有…

uniapp 微信小程序端使用百度地图API

1、登录百度地图开放平台 https://lbsyun.baidu.com/&#xff08;没有账号则先去创建一个百度账号&#xff09; 2、进入百度地图开放平台控制台&#xff08;导航栏“控制台”&#xff09;&#xff0c;点击“应用管理”-“我的应用” 3、选择“创建应用”&#xff0c;应用模块选…

LLM大模型算法学习资源持续整理

文章目录 waytoagiLLM101llm-coursellm-cookbook waytoagi 飞书文档写的AGI知识库。 https://www.waytoagi.com/ LLM101 karpathy更新中的大模型教程&#xff1a; https://github.com/karpathy/LLM101n llm-course Course to get into Large Language Models (LLMs) wi…

摄影师危!AI绘画即将降维打击摄影行业

你还以为AI绘画影响的只是插画师行业吗&#xff1f;错了&#xff0c;摄影行业也即将面临技术洗牌 话不多说&#xff0c;先看一下这几张图 你能一眼看出这是AI画的迪丽热巴吗&#xff1f; 你是不是还以为AI绘画只能画点动漫艺术风格&#xff1f;那你就低估了AI的发展速度&…

实战|记一次java协同办公OA系统源码审计

前言 因为笔者也是代码审计初学者&#xff0c;写得不好的地方请见谅。该文章是以项目实战角度出发&#xff0c;希望能给大家带来启发。 审计过程 审计思路 1、拿到一个项目首先要看它使用了什么技术框架&#xff0c;是使用了ssh框架&#xff0c;还是使用了ssm框架&#xff…

Redis 学习笔记(2)

目录 1 Redis的持久化1.1 RDB持久化方案1.2 AOF持久化方案 2 Redis架构2.1 主从复制架构2.2 哨兵集群设计2.3 哨兵集群设计 3 Redis事务机制4 Redis过期策略与内存淘汰机制4.1 过期策略4.2 内存淘汰机制 5 Redis高频面试题4.1 缓存穿透4.2 缓存击穿4.3 缓存雪崩 1 Redis的持久化…

防火墙虚拟系统

防火墙虚拟系统 防火墙虚拟系统的应用场景 大中型企业的网络隔离 通过防火墙的虚拟系统将网络隔离为研发部门、财经部门和行政部门。各部门之间可以根据权限互相访问&#xff0c;不同部门的管理员权限区分明确。 云计算中心的安全网关 通过配置虚拟系统&#xff0c;可让部署…

论文生成新纪元:探索顶尖AI写作工具的高效秘诀

在学术探索的征途中&#xff0c;AI论文工具本应是助力前行的风帆&#xff0c;而非让人陷入困境的漩涡。我完全理解大家在面对论文压力的同时&#xff0c;遭遇不靠谱AI工具的沮丧与无奈。毕竟&#xff0c;时间可以被浪费&#xff0c;但金钱和信任却不可轻弃。 作为一名资深的AI…

昇思25天学习打卡营第3天|onereal

前几天不能运行代码&#xff0c;经过排查是因为我的浏览器是搜狗的&#xff0c;换成Chrome问题解决了。按照提示学习了《应用实践/计算机视觉/FCN图像语义分割.ipynb》并且尝试运行代码&#xff0c;开始训练&#xff0c;最后看到图片变化。 网络流程 FCN网络的流程如下图所示&…