明らかにこのコードfor-loopはUI/ブラウザをブロックするので、非同期ループに変換する必要があるこのコードがあります:
$wnd.mainbuff = [];
$wnd.update = setInterval(function(){
// fetches everything in the buffer (csv), including old data
var temp = $wnd.Recorder.audioData().toString();
var arr = temp.split(',');
// so, copy new elements only (must be async)
for (var i=$wnd.mainbuff.length; i < arr.length; i++) {
console.log(arr[i]);
$wnd.mainbuff[i] = arr[i];
}
}
,25)