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