Javascript 如何使用ScriptProcessorNode执行简单的线性重采样?

Javascript 如何使用ScriptProcessorNode执行简单的线性重采样?,javascript,web-audio-api,resampling,Javascript,Web Audio Api,Resampling,我目前正在尝试使用ScriptProcessorNode动态降低播放速度。这是我迄今为止破解的代码(仅处理左侧通道): let processor=audioContext.createScriptProcessor(2**14); 让存储=[]; 设currendex=0; 让回放率=0.666; processor.onaudioprocess=(e)=>{ 让leftChannel=e.inputBuffer.getChannelData(0); for(设i=0;i

我目前正在尝试使用ScriptProcessorNode动态降低播放速度。这是我迄今为止破解的代码(仅处理左侧通道):

let processor=audioContext.createScriptProcessor(2**14);
让存储=[];
设currendex=0;
让回放率=0.666;
processor.onaudioprocess=(e)=>{
让leftChannel=e.inputBuffer.getChannelData(0);
for(设i=0;i
然而,对于任何小于1的播放速率来说,这听起来都是彻头彻尾的垃圾。为什么呢?我是不是太天真了,以为只要在信号之间进行线性插值就可以降低音频信号的速度


这里有一把小提琴:

明白了,错误是写
(完成-1)
而不是
(1-完成)