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