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