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