实现具有快速更新脉冲响应的卷积混响
Implementing a convolution reverb with rapidly updated impulse responses
我正在做关于声学光线追踪的硕士论文,使用 WebGL 作为 GPU 马力的接入点和 WebAudio 来驱动声卡。假设光线追踪器的实现使得它在图形渲染引擎以每秒 30 帧的速度运行时每帧提供更新的脉冲响应。因此,一个房间显示在屏幕上,人们可以通过实时图形和声学信息在该房间中移动。
我知道脉冲响应(IR)以及要播放的音频信号(x)必须分成块以进行圆形卷积。这需要扩展到动态卷积内核。
现在出现了一个令人费解的部分:在当前帧中启动的音频信号 x 的声音块从当前 IR 开始。在下一帧中,更新的 IR 可用,因此此新 IR 的一部分需要与 x 的第一个块卷积(因为它仍然在该房间中响铃),并且 x 的第二个块必须与新 IR 的开头卷积。(插图将很快跟进)
框架在浏览器(Chrome)中运行,所以这个卷积的东西需要在javascript中完成。我是 WebAudio 的新手,但由于对 AudioWorkers 的支持仍然非常出色,我需要以其他方式实现它。由于这是一项繁重的处理任务,有没有人想过在javascript中解决这个问题以实时渲染音频链?
在音频工作者上线向 Web 音频添加线程之前,浏览器 javascript 的单线程特性严格限制了任何实时繁重的工作 - 当我让浏览器使用 Web 音频渲染时,我遇到了这种情况.js与 Node 服务器协商 Web Socket 流量以提供流音频 - 自从使用 Web Worker (WW) 解决以来 - 查找称为可转移对象的 WW 风格,它允许传输巨大的与 WW 之间的类型数组 - 如果需要,我可以发布一个示例用法,只是大喊大叫......祝你好运
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- 实现具有快速更新脉冲响应的卷积混响
- 使用 ImageJ 在大型集群上编写具有多个时间点的并行迭代反卷积脚本
- 网络音频Api:我如何添加一个工作卷积器
- 网络音频卷积在firefox中不起作用
- 在ng重复后添加新行的非卷积方法
- Web音频API卷积器似乎不输出零
- Javascript画布+卷积矩阵.条件条件总是为真
- 就地卷积滤波器的正确性