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