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