me@1936: // Decode and perform WAVE file byte level manipulation me@1936: me@1936: find_subarray = function(arr,subarr) { me@1936: var arr_length = arr.length; me@1936: var subarr_length = subarr.length; me@1936: var last_check_index = arr_length - subarr_length; me@1936: me@1936: positionLoop: me@1936: for (var i=0; i <= last_check_index; i++) me@1936: { me@1936: for (var j=0; j< subarr_length; j++) me@1936: { me@1936: if (arr[i + j] !== subarr[j]) { me@1936: continue positionLoop; me@1936: } me@1936: } me@1936: return i; me@1936: } me@1936: return -1; me@1936: }; me@1936: me@1936: function convertToInteger(arr) { me@1936: var value = 0; me@1936: for (var i=0; i= channels) { me@1936: channel_index = 0; me@1936: dst_index++; me@1936: } me@1936: } me@1936: } me@1936: me@1936: function integerConvert(srcView,dstView,srcBytes) me@1936: { me@1936: //Convert integers of a Uint8Array of certain byte length into a Float32Array me@1936: var number = dstView.length; me@1936: var outBits = srcBytes*8; me@1936: var endShift = 32 - outBits; me@1936: if (srcView.length != dstView.length*srcBytes) me@1936: { me@1936: return -1; me@1936: } me@1936: for (var n=0; n