gpt4 book ai didi

javascript - 将数据从较小的 AudioBuffer 复制到较大的 Float32Array

转载 作者:行者123 更新时间:2023-12-01 02:49:24 26 4
gpt4 key购买 nike

我想在浏览器中分析来自麦克风输入的频率,分辨率为 <1Hz。

普通网络音频分析器节点的最大 FFT_SIZE 为 32768。这会导致正常采样率 (48kHz) 的分辨率约为 1.4Hz

现在我想使用 jsfft 或类似的东西来进行频率变换。我想收集 65536 个音频样本,因为这个 fft 大小应该达到 ~0.7Hz 的分辨率。 (时间分辨率并不那么重要)

不幸的是,ScriptProcessorNode 的最大 bufferSize 也只有 16384 我想将其 4 个缓冲区合并到一个 Float32Array 中。我以为会有类似的东西

copyChannelData(array, offset, length) 

但是只有

getChannelData(array)

所以,如果我理解正确的话,我必须先复制更大数组中的所有数据,然后才能进行 fft。

只是为了确保我不会错过任何内容...有没有办法将数据直接检索到更大的数组中?

最佳答案

不,您需要复制数据。无论如何,这种方法的效率相当低(ScriptProcessor,我的意思是) - 复制并不是您最担心的问题,因为您从根本上需要复制该数据。

关于javascript - 将数据从较小的 AudioBuffer 复制到较大的 Float32Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47066162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com