{"version":3,"sources":["jsdelivr-header.js","/npm/audiobuffer-to-wav@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,SAAS,iBAAkB,EAAQ,GACjC,EAAM,GAAO,CAAC,EAEd,IAAI,EAAc,EAAO,iBACrB,EAAa,EAAO,WACpB,EAAS,EAAI,QAAU,EAAI,EAC3B,EAAsB,IAAX,EAAe,GAAK,GASnC,OAAO,UANa,IAAhB,EACO,WAAW,EAAO,eAAe,GAAI,EAAO,eAAe,IAE3D,EAAO,eAAe,GAGR,EAAQ,EAAY,EAAa,EAC5D,CAEA,SAAS,UAAW,EAAS,EAAQ,EAAY,EAAa,GAC5D,IAAI,EAAiB,EAAW,EAC5B,EAAa,EAAc,EAE3B,EAAS,IAAI,YAAY,GAAK,EAAQ,OAAS,GAC/C,EAAO,IAAI,SAAS,GAkCxB,OA/BA,YAAY,EAAM,EAAG,QAErB,EAAK,UAAU,EAAG,GAAK,EAAQ,OAAS,GAAgB,GAExD,YAAY,EAAM,EAAG,QAErB,YAAY,EAAM,GAAI,QAEtB,EAAK,UAAU,GAAI,IAAI,GAEvB,EAAK,UAAU,GAAI,GAAQ,GAE3B,EAAK,UAAU,GAAI,GAAa,GAEhC,EAAK,UAAU,GAAI,GAAY,GAE/B,EAAK,UAAU,GAAI,EAAa,GAAY,GAE5C,EAAK,UAAU,GAAI,GAAY,GAE/B,EAAK,UAAU,GAAI,GAAU,GAE7B,YAAY,EAAM,GAAI,QAEtB,EAAK,UAAU,GAAI,EAAQ,OAAS,GAAgB,GACrC,IAAX,EACF,gBAAgB,EAAM,GAAI,GAE1B,aAAa,EAAM,GAAI,GAGlB,CACT,CAEA,SAAS,WAAY,EAAQ,GAO3B,IANA,IAAI,EAAS,EAAO,OAAS,EAAO,OAChC,EAAS,IAAI,aAAa,GAE1B,EAAQ,EACR,EAAa,EAEV,EAAQ,GACb,EAAO,KAAW,EAAO,GACzB,EAAO,KAAW,EAAO,GACzB,IAEF,OAAO,CACT,CAEA,SAAS,aAAc,EAAQ,EAAQ,GACrC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,GAAU,EAC/C,EAAO,WAAW,EAAQ,EAAM,IAAI,EAExC,CAEA,SAAS,gBAAiB,EAAQ,EAAQ,GACxC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,GAAU,EAAG,CAClD,IAAI,EAAI,KAAK,KAAK,EAAG,KAAK,IAAI,EAAG,EAAM,KACvC,EAAO,SAAS,EAAQ,EAAI,EAAQ,MAAJ,EAAiB,MAAJ,GAAY,EAC3D,CACF,CAEA,SAAS,YAAa,EAAM,EAAQ,GAClC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,EAAK,SAAS,EAAS,EAAG,EAAO,WAAW,GAEhD,CA7FA,OAAO,QAAU","file":"/npm/audiobuffer-to-wav@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/audiobuffer-to-wav@1.0.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","module.exports = audioBufferToWav\nfunction audioBufferToWav (buffer, opt) {\n  opt = opt || {}\n\n  var numChannels = buffer.numberOfChannels\n  var sampleRate = buffer.sampleRate\n  var format = opt.float32 ? 3 : 1\n  var bitDepth = format === 3 ? 32 : 16\n\n  var result\n  if (numChannels === 2) {\n    result = interleave(buffer.getChannelData(0), buffer.getChannelData(1))\n  } else {\n    result = buffer.getChannelData(0)\n  }\n\n  return encodeWAV(result, format, sampleRate, numChannels, bitDepth)\n}\n\nfunction encodeWAV (samples, format, sampleRate, numChannels, bitDepth) {\n  var bytesPerSample = bitDepth / 8\n  var blockAlign = numChannels * bytesPerSample\n\n  var buffer = new ArrayBuffer(44 + samples.length * bytesPerSample)\n  var view = new DataView(buffer)\n\n  /* RIFF identifier */\n  writeString(view, 0, 'RIFF')\n  /* RIFF chunk length */\n  view.setUint32(4, 36 + samples.length * bytesPerSample, true)\n  /* RIFF type */\n  writeString(view, 8, 'WAVE')\n  /* format chunk identifier */\n  writeString(view, 12, 'fmt ')\n  /* format chunk length */\n  view.setUint32(16, 16, true)\n  /* sample format (raw) */\n  view.setUint16(20, format, true)\n  /* channel count */\n  view.setUint16(22, numChannels, true)\n  /* sample rate */\n  view.setUint32(24, sampleRate, true)\n  /* byte rate (sample rate * block align) */\n  view.setUint32(28, sampleRate * blockAlign, true)\n  /* block align (channel count * bytes per sample) */\n  view.setUint16(32, blockAlign, true)\n  /* bits per sample */\n  view.setUint16(34, bitDepth, true)\n  /* data chunk identifier */\n  writeString(view, 36, 'data')\n  /* data chunk length */\n  view.setUint32(40, samples.length * bytesPerSample, true)\n  if (format === 1) { // Raw PCM\n    floatTo16BitPCM(view, 44, samples)\n  } else {\n    writeFloat32(view, 44, samples)\n  }\n\n  return buffer\n}\n\nfunction interleave (inputL, inputR) {\n  var length = inputL.length + inputR.length\n  var result = new Float32Array(length)\n\n  var index = 0\n  var inputIndex = 0\n\n  while (index < length) {\n    result[index++] = inputL[inputIndex]\n    result[index++] = inputR[inputIndex]\n    inputIndex++\n  }\n  return result\n}\n\nfunction writeFloat32 (output, offset, input) {\n  for (var i = 0; i < input.length; i++, offset += 4) {\n    output.setFloat32(offset, input[i], true)\n  }\n}\n\nfunction floatTo16BitPCM (output, offset, input) {\n  for (var i = 0; i < input.length; i++, offset += 2) {\n    var s = Math.max(-1, Math.min(1, input[i]))\n    output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true)\n  }\n}\n\nfunction writeString (view, offset, string) {\n  for (var i = 0; i < string.length; i++) {\n    view.setUint8(offset + i, string.charCodeAt(i))\n  }\n}\n"]}