carta1 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +129 -0
- package/bin/cli.js +679 -0
- package/codec/analysis/psychoacoustics.js +589 -0
- package/codec/analysis/transient.js +226 -0
- package/codec/browser/interface.js +188 -0
- package/codec/browser/worker.js +140 -0
- package/codec/coding/bitallocation.js +407 -0
- package/codec/coding/quantization.js +150 -0
- package/codec/core/bitstream.js +82 -0
- package/codec/core/buffers.js +99 -0
- package/codec/core/constants.js +321 -0
- package/codec/core/options.js +151 -0
- package/codec/index.js +27 -0
- package/codec/io/processor.js +566 -0
- package/codec/io/readers.js +56 -0
- package/codec/io/serialization.js +254 -0
- package/codec/pipeline/decoder.js +278 -0
- package/codec/pipeline/encoder.js +369 -0
- package/codec/transforms/fft.js +69 -0
- package/codec/transforms/mdct.js +225 -0
- package/codec/transforms/qmf.js +127 -0
- package/codec/utils.js +151 -0
- package/dist/carta1-worker-interface.min.js +2 -0
- package/dist/carta1-worker-interface.min.js.map +1 -0
- package/dist/carta1-worker.min.js +2 -0
- package/dist/carta1-worker.min.js.map +1 -0
- package/dist/carta1.min.js +2 -0
- package/dist/carta1.min.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Carta1 Audio Codec - Quadrature Mirror Filter
|
|
3
|
+
*
|
|
4
|
+
* This module implements QMF analysis and synthesis for subband decomposition
|
|
5
|
+
* in the ATRAC1 codec. The QMF splits the audio signal into multiple frequency
|
|
6
|
+
* bands for independent processing and coding.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { QMF_TAPS, QMF_DELAY } from '../core/constants.js'
|
|
10
|
+
import { throwError } from '../utils.js'
|
|
11
|
+
|
|
12
|
+
// QMF prototype filter coefficients
|
|
13
|
+
const QMF_COEFFS = new Float32Array([
|
|
14
|
+
-0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
|
|
15
|
+
-0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
|
|
16
|
+
-0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
|
|
17
|
+
0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
|
|
18
|
+
-0.043596379, -0.099384367, 0.13207909, 0.46424159,
|
|
19
|
+
])
|
|
20
|
+
|
|
21
|
+
// Build full window
|
|
22
|
+
const QMF_WINDOW = new Float32Array(QMF_TAPS)
|
|
23
|
+
for (let i = 0; i < 24; i++) {
|
|
24
|
+
QMF_WINDOW[i] = QMF_COEFFS[i] * 2.0
|
|
25
|
+
QMF_WINDOW[47 - i] = QMF_COEFFS[i] * 2.0
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Separate even/odd taps for optimization
|
|
29
|
+
const QMF_EVEN = new Float32Array(24)
|
|
30
|
+
const QMF_ODD = new Float32Array(24)
|
|
31
|
+
for (let i = 0; i < 24; i++) {
|
|
32
|
+
QMF_EVEN[i] = QMF_WINDOW[i * 2]
|
|
33
|
+
QMF_ODD[i] = QMF_WINDOW[i * 2 + 1]
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Perform QMF analysis filtering to split input into low and high frequency bands
|
|
38
|
+
* @param {Float32Array} input - Input audio samples
|
|
39
|
+
* @param {Float32Array} delayLine - QMF delay line state
|
|
40
|
+
* @param {Object} qmfWorkBuffers - Optional work buffers for processing
|
|
41
|
+
* @returns {Object} Object containing lowBand, highBand, and newDelay
|
|
42
|
+
*/
|
|
43
|
+
export function qmfAnalysis(input, delayLine, qmfWorkBuffers = null) {
|
|
44
|
+
const inputLength = input.length
|
|
45
|
+
const outputLength = inputLength >> 1
|
|
46
|
+
|
|
47
|
+
const workBuffer =
|
|
48
|
+
qmfWorkBuffers?.delay?.[inputLength] ??
|
|
49
|
+
throwError('qmfAnalysis: workBuffer is required')
|
|
50
|
+
workBuffer.set(delayLine)
|
|
51
|
+
workBuffer.set(input, delayLine.length)
|
|
52
|
+
|
|
53
|
+
const lowBand = new Float32Array(outputLength)
|
|
54
|
+
const highBand = new Float32Array(outputLength)
|
|
55
|
+
|
|
56
|
+
for (let i = 0; i < outputLength; i++) {
|
|
57
|
+
let evenSum = 0
|
|
58
|
+
let oddSum = 0
|
|
59
|
+
const offset = i * 2
|
|
60
|
+
|
|
61
|
+
// Unrolled convolution
|
|
62
|
+
for (let j = 0; j < 24; j++) {
|
|
63
|
+
evenSum += workBuffer[offset + 47 - j * 2] * QMF_EVEN[j]
|
|
64
|
+
oddSum += workBuffer[offset + 46 - j * 2] * QMF_ODD[j]
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
lowBand[i] = evenSum + oddSum
|
|
68
|
+
highBand[i] = evenSum - oddSum
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Update delay line
|
|
72
|
+
const newDelay = workBuffer.slice(-QMF_DELAY)
|
|
73
|
+
return { lowBand, highBand, newDelay }
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Perform QMF synthesis filtering to reconstruct audio from low and high frequency bands
|
|
78
|
+
* @param {Float32Array} lowBand - Low frequency band samples
|
|
79
|
+
* @param {Float32Array} highBand - High frequency band samples
|
|
80
|
+
* @param {Float32Array} delayLine - QMF delay line state
|
|
81
|
+
* @param {Object} qmfWorkBuffers - Optional work buffers for processing
|
|
82
|
+
* @returns {Object} Object containing output and newDelay
|
|
83
|
+
*/
|
|
84
|
+
export function qmfSynthesis(
|
|
85
|
+
lowBand,
|
|
86
|
+
highBand,
|
|
87
|
+
delayLine,
|
|
88
|
+
qmfWorkBuffers = null
|
|
89
|
+
) {
|
|
90
|
+
const subbandLength = lowBand.length
|
|
91
|
+
const outputLength = subbandLength * 2
|
|
92
|
+
|
|
93
|
+
const workBuffer =
|
|
94
|
+
qmfWorkBuffers?.delay?.[outputLength] ??
|
|
95
|
+
throwError('qmfSynthesis: workBuffer is required')
|
|
96
|
+
workBuffer.set(delayLine)
|
|
97
|
+
|
|
98
|
+
// Upsample and merge
|
|
99
|
+
for (let i = 0; i < subbandLength; i++) {
|
|
100
|
+
const low = lowBand[i]
|
|
101
|
+
const high = highBand[i]
|
|
102
|
+
const offset = QMF_DELAY + i * 2
|
|
103
|
+
workBuffer[offset] = 0.5 * (low + high)
|
|
104
|
+
workBuffer[offset + 1] = 0.5 * (low - high)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const output = new Float32Array(outputLength)
|
|
108
|
+
|
|
109
|
+
// Convolution
|
|
110
|
+
for (let i = 0; i < subbandLength; i++) {
|
|
111
|
+
const offset = i * 2
|
|
112
|
+
let sample0 = 0
|
|
113
|
+
let sample1 = 0
|
|
114
|
+
|
|
115
|
+
for (let j = 0; j < 24; j++) {
|
|
116
|
+
const idx = offset + j * 2
|
|
117
|
+
sample0 += workBuffer[idx] * QMF_EVEN[j]
|
|
118
|
+
sample1 += workBuffer[idx + 1] * QMF_ODD[j]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
output[i * 2] = sample1
|
|
122
|
+
output[i * 2 + 1] = sample0
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const newDelay = workBuffer.slice(-QMF_DELAY)
|
|
126
|
+
return { output, newDelay }
|
|
127
|
+
}
|
package/codec/utils.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Carta1 Audio Codec - Utilities
|
|
3
|
+
*
|
|
4
|
+
* This module provides common utility functions for the ATRAC1 codec including
|
|
5
|
+
* pipeline composition, error handling, and audio stream processing utilities
|
|
6
|
+
* for delay compensation and frame padding.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { CODEC_DELAY, SAMPLES_PER_FRAME } from './core/constants.js'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Throws an error with the given message
|
|
13
|
+
* @param {string} msg - Error message
|
|
14
|
+
* @throws {Error} Always throws an error with the provided message
|
|
15
|
+
*/
|
|
16
|
+
export function throwError(msg) {
|
|
17
|
+
throw new Error(msg)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Creates a pipeline by composing multiple processing stages
|
|
22
|
+
* @param {Object} context - Shared context passed to all stages
|
|
23
|
+
* @param {...Function} stages - Stage functions to compose
|
|
24
|
+
* @returns {Function} Composed pipeline function
|
|
25
|
+
*/
|
|
26
|
+
export function pipe(context, ...stages) {
|
|
27
|
+
const functions = stages.map((stage) => stage(context))
|
|
28
|
+
|
|
29
|
+
return (input) => {
|
|
30
|
+
return functions.reduce((value, fn) => fn(value), input)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Pads audio frames and adds flush samples for proper codec delay handling
|
|
36
|
+
* @param {AsyncIterable<Float32Array>} iter - Input frame stream
|
|
37
|
+
* @param {number} [samplesToFlush=CODEC_DELAY] - Number of samples to flush
|
|
38
|
+
* @yields {Float32Array} Padded frames with flush samples
|
|
39
|
+
*/
|
|
40
|
+
export async function* withFlushSamples(iter, samplesToFlush = CODEC_DELAY) {
|
|
41
|
+
let lastFrameLength = SAMPLES_PER_FRAME
|
|
42
|
+
for await (const frame of iter) {
|
|
43
|
+
lastFrameLength = frame.length
|
|
44
|
+
if (lastFrameLength === SAMPLES_PER_FRAME) {
|
|
45
|
+
yield frame
|
|
46
|
+
} else {
|
|
47
|
+
// We need to pad
|
|
48
|
+
const paddedFrame = new Float32Array(SAMPLES_PER_FRAME)
|
|
49
|
+
paddedFrame.set(frame)
|
|
50
|
+
yield paddedFrame
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (SAMPLES_PER_FRAME - lastFrameLength < samplesToFlush) {
|
|
54
|
+
yield new Float32Array(SAMPLES_PER_FRAME)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Applies delay compensation to PCM frame stream by dropping initial samples
|
|
60
|
+
* @param {AsyncIterable<Float32Array>} pcmFrameStream - Input PCM frame stream
|
|
61
|
+
* @param {number} [samplesToDrop=CODEC_DELAY] - Number of samples to drop for delay compensation
|
|
62
|
+
* @yields {Float32Array} Delay-compensated PCM frames
|
|
63
|
+
*/
|
|
64
|
+
export async function* withDelayCompensation(
|
|
65
|
+
pcmFrameStream,
|
|
66
|
+
samplesToDrop = CODEC_DELAY
|
|
67
|
+
) {
|
|
68
|
+
let buffer = new Float32Array(0)
|
|
69
|
+
let droppedInitialSamples = false
|
|
70
|
+
|
|
71
|
+
for await (const frame of pcmFrameStream) {
|
|
72
|
+
// Drop samples from the very first frame only
|
|
73
|
+
if (!droppedInitialSamples) {
|
|
74
|
+
droppedInitialSamples = true
|
|
75
|
+
if (samplesToDrop >= frame.length) {
|
|
76
|
+
// Entire first frame is dropped
|
|
77
|
+
samplesToDrop -= frame.length
|
|
78
|
+
continue
|
|
79
|
+
}
|
|
80
|
+
// Keep only the portion after dropped samples
|
|
81
|
+
buffer = frame.slice(samplesToDrop)
|
|
82
|
+
samplesToDrop = 0
|
|
83
|
+
continue
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Concatenate buffer with new frame
|
|
87
|
+
const combined = new Float32Array(buffer.length + frame.length)
|
|
88
|
+
combined.set(buffer)
|
|
89
|
+
combined.set(frame, buffer.length)
|
|
90
|
+
|
|
91
|
+
// Emit all complete frames
|
|
92
|
+
let offset = 0
|
|
93
|
+
while (offset + SAMPLES_PER_FRAME <= combined.length) {
|
|
94
|
+
yield combined.slice(offset, offset + SAMPLES_PER_FRAME)
|
|
95
|
+
offset += SAMPLES_PER_FRAME
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Buffer the remainder for next iteration
|
|
99
|
+
buffer = combined.slice(offset)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Emit final partial frame
|
|
103
|
+
if (buffer.length > 0) {
|
|
104
|
+
yield buffer
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Adapts a mono transform function to work with stereo audio streams
|
|
110
|
+
* @param {Function} monoTransform - Transform function for mono audio
|
|
111
|
+
* @param {...*} args - Additional arguments to pass to the transform
|
|
112
|
+
* @returns {Function} Stereo-adapted transform function
|
|
113
|
+
*/
|
|
114
|
+
export function withStereo(monoTransform, ...args) {
|
|
115
|
+
return async function* (stereoIter) {
|
|
116
|
+
// Buffer to store frames temporarily
|
|
117
|
+
const leftFrames = []
|
|
118
|
+
const rightFrames = []
|
|
119
|
+
|
|
120
|
+
// Collect all frames first (necessary for proper synchronization)
|
|
121
|
+
for await (const [left, right] of stereoIter) {
|
|
122
|
+
leftFrames.push(left)
|
|
123
|
+
rightFrames.push(right)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Create mono iterators
|
|
127
|
+
const leftIter = (async function* () {
|
|
128
|
+
for (const frame of leftFrames) yield frame
|
|
129
|
+
})()
|
|
130
|
+
|
|
131
|
+
const rightIter = (async function* () {
|
|
132
|
+
for (const frame of rightFrames) yield frame
|
|
133
|
+
})()
|
|
134
|
+
|
|
135
|
+
// Apply transform to each channel
|
|
136
|
+
const leftTransformed = monoTransform(leftIter, ...args)
|
|
137
|
+
const rightTransformed = monoTransform(rightIter, ...args)
|
|
138
|
+
|
|
139
|
+
// Zip back together
|
|
140
|
+
for await (const left of leftTransformed) {
|
|
141
|
+
const { value: right } = await rightTransformed.next()
|
|
142
|
+
if (right !== undefined) {
|
|
143
|
+
yield [left, right]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Stereo-adapted utility functions
|
|
150
|
+
export const withStereoFlushSamples = withStereo(withFlushSamples)
|
|
151
|
+
export const withStereoDelayCompensation = withStereo(withDelayCompensation)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Carta1Worker=t():e.Carta1Worker=t()}(this,()=>(()=>{"use strict";var e={r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",u=r.toStringTag||"@@toStringTag";function a(r,n,i,u){var a=n&&n.prototype instanceof f?n:f,s=Object.create(a.prototype);return o(s,"_invoke",function(r,n,o){var i,u,a,f=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:b,f:b.bind(e,4),d:function(t,r){return i=t,u=0,a=e,y.n=r,c}};function b(r,n){for(u=r,a=n,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],b=y.p,p=i[2];r>3?(o=p===n)&&(a=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=b&&((o=r<2&&b<i[1])?(u=0,y.v=n,y.n=i[1]):b<p&&(o=r<3||i[0]>n||n>p)&&(i[4]=r,i[5]=n,y.n=p,u=0))}if(o||r>1)return c;throw l=!0,n}return function(o,s,p){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&b(s,p),u=s,a=p;(t=u<2?e:a)||!l;){i||(u?u<3?(u>1&&(y.n=-1),b(u,a)):y.n=a:y.v=a);try{if(f=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(l=y.n<0)?a:r.call(n,y))!==c)break}catch(t){i=e,u=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,i,u),!0),s}var c={};function f(){}function s(){}function l(){}t=Object.getPrototypeOf;var y=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),b=l.prototype=f.prototype=Object.create(y);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,o(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e}return s.prototype=l,o(b,"constructor",l),o(l,"constructor",s),s.displayName="GeneratorFunction",o(l,u,"GeneratorFunction"),o(b),o(b,u,"Generator"),o(b,i,function(){return this}),o(b,"toString",function(){return"[object Generator]"}),(n=function(){return{w:a,m:p}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){if(t)i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{var u=function(t,r){o(e,t,function(e){return this._invoke(t,r,e)})};u("next",0),u("throw",1),u("return",2)}},o(e,t,r,n)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){a(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t,r,n,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)})}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,f=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(f)throw o}}return a}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t);var d=function(){return e=function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"carta1-worker.min.js";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.worker=new Worker(r),this.nextJobId=1,this.jobs=new Map,this.worker.onmessage=function(e){var r=e.data,n=r.jobId,o=r.error,i=r.result;if(n)if(t.jobs.has(n)){var u=t.jobs.get(n),a=u.resolve,c=u.reject;t.jobs.delete(n),o?c(new Error(o)):i?a(i):c(new Error("Worker returned no result"))}else console.warn("Received result for unknown job:",n);else console.warn("Received message without jobId:",e.data)},this.worker.onerror=function(e){console.error("Worker crashed:",e);var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=l(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}(t.jobs);try{for(n.s();!(r=n.n()).done;)(0,s(r.value,2)[1].reject)(new Error("Worker crashed: "+e.message))}catch(e){n.e(e)}finally{n.f()}t.jobs.clear()}},t=[{key:"encode",value:(c=f(n().m(function e(t){var r,o,i=this,a=arguments;return n().w(function(e){for(;;)if(0===e.n)return r=a.length>1&&void 0!==a[1]?a[1]:{},o=this.nextJobId++,e.a(2,new Promise(function(e,n){i.jobs.set(o,{resolve:e,reject:n});try{var a=u({},r);i.worker.postMessage({jobId:o,type:"encode",pcmData:t,options:a})}catch(e){i.jobs.delete(o),n(e)}}))},e,this)})),function(e){return c.apply(this,arguments)})},{key:"decode",value:(a=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"decode",aea:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"parseAeaBlob",value:(i=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"parseAea",blob:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getEncoderOptions",value:(o=f(n().m(function e(){var t,r=this;return n().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,n){r.jobs.set(t,{resolve:e,reject:n});try{r.worker.postMessage({jobId:t,type:"getEncoderOptions"})}catch(e){r.jobs.delete(t),n(e)}}))},e,this)})),function(){return o.apply(this,arguments)})},{key:"terminate",value:function(){this.worker&&(this.worker.terminate(),this.worker=null),this.jobs.clear()}}],t&&b(e.prototype,t),r&&b(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,o,i,a,c}();return"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define([],function(){return d}):"undefined"!=typeof window&&(window.Carta1Worker=d),t})());
|
|
2
|
+
//# sourceMappingURL=carta1-worker-interface.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carta1-worker-interface.min.js","mappings":"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","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\n// Export for different module systems\n/* global define, window */\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n} else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","Symbol","toStringTag","Object","defineProperty","value","e","t","r","n","iterator","o","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","enumerable","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","Array","isArray","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","from","test","_defineProperties","key","_typeof","toPrimitive","String","Number","_toPrimitive","Carta1Worker","_this","workerPath","undefined","_classCallCheck","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","get","reject","Error","console","warn","onerror","_step","_iterator","_n","F","s","_createForOfIteratorHelper","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","window"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{"use strict";var r={},e=44100,n=512,t=new Uint8Array([0,8,0,0]),o=2048,a=212,i=52,u=new Int32Array([8,8,8,8,4,4,4,4,8,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,9,9,9,9,10,10,10,10,12,12,12,12,12,12,12,12,20,20,20,20,20,20,20,20]),l=new Int32Array([20,28,32,36,40,44,48,52]),f=new Int32Array([20,36,52]),c=(function(){for(var r=new Uint8Array(52),e=0;e<f[0];e++)r[e]=0;for(var n=f[0];n<f[1];n++)r[n]=1;for(var t=f[1];t<f[2];t++)r[t]=2}(),new Uint8Array([20,21,22,19,23,18,24,17,25,16,26,15,27,14,28,32,33,34,35,36,37,38,31,30,29]),new Float32Array([172.3,516.8,861.3,1205.9,1464.3,1636.5,1808.8,1981.1,2239.5,2584,2928.5,3273,3574.5,3832.9,4091.3,4349.7,4608.1,4866.5,5124.9,5383.3,5641.7,5900.1,6158.5,6416.9,6696.8,6998.3,7299.8,7601.2,7945.8,8333.3,8720.9,9108.5,9517.7,9948.3,10379,10809.7,11283.4,11800.2,12317,12833.8,13350.6,13867.4,14384.2,14901,15590,16451.4,17312.7,18174,19035.4,19896.7,20758,21619.3])),s=new Int32Array([0,8,16,24,32,36,40,44,48,56,64,72,80,86,92,98,104,110,116,122,128,134,140,146,152,159,166,173,180,189,198,207,216,226,236,246,256,268,280,292,304,316,328,340,352,372,392,412,432,452,472,492]),h=new Int32Array([0,32,64,96,8,40,72,104,12,44,76,108,20,52,84,116,26,58,90,122,128,160,192,224,134,166,198,230,141,173,205,237,150,182,214,246,256,288,320,352,384,416,448,480,268,300,332,364,396,428,460,492]),v=256,y=512,p=function(){for(var r=new Float32Array(32),e=0;e<32;e++)r[e]=Math.sin((e+.5)*Math.PI/64);return r}(),b=46,d=15,m=new Int32Array([0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),w=function(){var r=new Float32Array(16);r[0]=1;for(var e=1;e<=15;e++){var n=(1<<m[e]-1)-1;r[e]=1/(12*n*n)}return r}(),g=function(){for(var r=new Float32Array(15),e=0;e<15;e++)r[e]=10*Math.log10(w[e+1]/(w[e]||1));return r}(),k=function(){for(var r=new Float32Array(64),e=0;e<64;e++)r[e]=Math.pow(2,e/3-21);return r}(),S=function(){for(var r=new Float32Array(i),e=0;e<i;e++){var n=c[e];r[e]=13*Math.atan(76e-5*n)+3.5*Math.atan(Math.pow(n/7500,2))}return r}(),A=(function(){for(var r=new Float32Array(i),e=0;e<i;e++){var n=c[e]/1e3,t=3.64*Math.pow(n,-.8)-6.5*Math.exp(-.6*Math.pow(n-3.3,2))+.001*Math.pow(n,4);r[e]=Math.pow(10,Math.max(-10,Math.min(96,t))/10)}}(),function(){for(var r=new Float32Array(2704),e=0;e<i;e++)for(var n=0;n<i;n++){var t=S[e]-S[n],o=-100;t>=-3&&t<-1?o=17*(t+3)-70:t>=-1&&t<0?o=36*t:t>=0&&t<1?o=-27*t:t>=1&&t<8&&(o=4*-(t-1)-27),r[e*i+n]=o}}(),-200),M=2048,j=32767,O=32768,F=10/Math.LN10,T=Math.LN10/10,P=(function(){for(var r=new Float32Array(512),e=Math.sqrt(8/3),n=0;n<512;n++){var t=.5*(1-Math.cos(2*Math.PI*n/512))*e;r[n]=Math.round(1e4*t)/1e4}}(),new Uint8Array([0,1,2,4,5,7,8,10,12,14,16,19,22,26,31,36,44,49,54,60,67,74,80,92,105])),x=[[1,.85,13.87],[2,1.694,2.85],[3,2.525,-1.28],[4,3.337,-3.5],[5,4.124,-4.9],[6,4.882,-5.89],[7,5.608,-6.63],[8,6.301,-7.21],[9,6.959,-7.68],[10,7.581,-8.08],[11,8.169,-8.43],[12,8.723,-8.75],[13,9.244,-9.05],[14,9.734,-9.33],[15,10.195,-9.61],[16,10.629,-9.89],[17,11.037,-10.17],[18,11.421,-10.47],[19,11.783,-10.77],[20,12.125,-11.1],[21,12.448,-11.44],[22,12.753,-11.79],[23,13.042,-12.17],[24,13.317,-12.56],[25,13.577,-12.96],[26,13.825,-13.38],[27,14.062,-13.79],[28,14.288,-14.21],[29,14.504,-14.63],[30,14.711,-15.03],[31,14.909,-15.41],[32,15.1,-15.77],[33,15.283,-16.09],[34,15.46,-16.37],[35,15.631,-16.6],[36,15.795,-16.78],[37,15.955,-16.91],[38,16.11,-16.97],[39,16.26,-16.98],[40,16.405,-16.92],[41,16.547,-16.81],[42,16.685,-16.65],[43,16.82,-16.43],[44,16.951,-16.17],[45,17.079,-15.87],[46,17.204,-15.54],[47,17.327,-15.19],[48,17.447,-14.82],[50,17.68,-14.06],[52,17.904,-13.32],[54,18.121,-12.64],[56,18.331,-12.04],[58,18.534,-11.53],[60,18.73,-11.11],[62,18.922,-10.77],[64,19.108,-10.49],[66,19.288,-10.26],[68,19.464,-10.07],[70,19.635,-9.89],[72,19.801,-9.72],[74,19.963,-9.54],[76,20.12,-9.37],[78,20.273,-9.18],[80,20.421,-8.97],[82,20.565,-8.75],[84,20.705,-8.51],[86,20.84,-8.26],[88,20.971,-7.98],[90,21.099,-7.68],[92,21.222,-7.36],[94,21.341,-7.02],[96,21.457,-6.65],[100,21.676,-5.85],[104,21.882,-4.93],[108,22.074,-3.9],[112,22.253,-2.75],[116,22.42,-1.46],[120,22.575,-.03],[124,22.721,1.56],[128,22.857,3.31],[132,22.984,5.23],[136,23.102,7.34],[140,23.213,9.64],[144,23.317,12.15],[148,23.414,14.88],[152,23.506,17.84],[156,23.592,21.05],[160,23.673,24.52],[164,23.749,28.25],[168,23.821,32.27],[172,23.888,36.59],[176,23.952,41.22],[180,24.013,46.18],[184,24.07,51.49],[188,24.124,56],[192,24.176,56],[196,24.225,56],[200,24.271,56],[204,24.316,56],[208,24.358,56],[212,24.398,56],[216,24.436,56],[220,24.473,56],[224,24.508,56],[228,24.541,56],[232,24.573,56]],B=P.map(function(r){return x[r][0]-1}),I=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,71,71,72,72,72,72,73,73,73,73,74,74,74,74,75,75,75,75,76,76,76,76,77,77,77,77,78,78,78,78,79,79,79,79,80,80,80,80,81,81,81,81,82,82,82,82,83,83,83,83,84,84,84,84,85,85,85,85,86,86,86,86,87,87,87,87,88,88,88,88,89,89,89,89,90,90,90,90,91,91,91,91,92,92,92,92,93,93,93,93,94,94,94,94,95,95,95,95,96,96,96,96,97,97,97,97,98,98,98,98,99,99,99,99,100,100,100,100,101,101,101,101,102,102,102,102,103,103,103,103,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105]);function C(r,e,n,t){if(0!==t){var o=Math.floor(e/8),a=e%8;n&=(1<<t)-1;for(var i=0;i<t&&o<r.length;){var u=8-a,l=Math.min(t-i,u),f=n>>t-i-l&(1<<l)-1,c=(1<<l)-1<<u-l;r[o]=r[o]&~c|f<<u-l,i+=l,o++,a=0}}}function E(r,e,n){if(0===n)return 0;for(var t=Math.floor(e/8),o=e%8,a=0,i=0;i<n&&t<r.length;){var u=8-o,l=Math.min(n-i,u),f=(1<<l)-1;a=a<<l|r[t]>>u-l&f,i+=l,t++,o=0}return a}function _(r,e,n){var t=E(r,e,n);return t>=1<<n-1?t-(1<<n):t}function D(r){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},D(r)}function z(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,q(t.key),t)}}function q(r){var e=function(r,e){if("object"!=D(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=D(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==D(e)?e:e+""}function U(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=function(r,e){if(r){if("string"==typeof r)return L(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(r,e):void 0}}(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function L(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function H(r){var e=new Uint8Array(a),n=new DataView(e.buffer),t=l.indexOf(r.nBfu),o=2-r.blockSizeMode[0]<<14|2-r.blockSizeMode[1]<<12|3-r.blockSizeMode[2]<<10|t<<5;n.setUint16(0,o,!1);for(var i=16,u=0;u<r.nBfu;u++)C(e,i,r.wordLengthIndices[u],4),i+=4;for(var f=0;f<r.nBfu;f++)C(e,i,r.scaleFactorIndices[f],6),i+=6;for(var c=0;c<r.nBfu;c++){var s=m[r.wordLengthIndices[c]];if(s>0){var h,v=U(r.quantizedCoefficients[c]);try{for(v.s();!(h=v.n()).done;){var y=h.value;C(e,i,y<0?y+(1<<s):y,s),i+=s}}catch(r){v.e(r)}finally{v.f()}}}return e[209]=0,e[210]=0,e[211]=0,e}function W(r){if(r.length!==a)throw new Error("Frame must be ".concat(a," bytes"));for(var e=new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,!1),n=[2-(e>>14&3),2-(e>>12&3),3-(e>>10&3)],t=l[e>>5&7],o=16,i=new Int32Array(t),f=0;f<t;f++)i[f]=E(r,o,4),o+=4;for(var c=new Int32Array(t),s=0;s<t;s++)c[s]=E(r,o,6),o+=6;for(var h=[],v=0;v<t;v++){var y=m[i[v]],p=u[v],b=new Int32Array(p);if(y>0)for(var d=0;d<p;d++)b[d]=_(r,o,y),o+=y;h.push(b)}return{nBfu:t,scaleFactorIndices:c,wordLengthIndices:i,quantizedCoefficients:h,blockSizeMode:n}}var G=function(){return r=function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)},n=[{key:"createHeader",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=new Uint8Array(o),i=new DataView(a.buffer);a.set(t,0);var u=(new TextEncoder).encode(r);return a.set(u.subarray(0,Math.min(u.length,255)),4),i.setUint32(260,e,!0),a[264]=n,a}},{key:"parseHeader",value:function(r){if(r.length!==o)throw new Error("Header must be ".concat(o," bytes"));for(var e=0;e<t.length;e++)if(r[e]!==t[e])throw new Error("Invalid AEA file");var n=new DataView(r.buffer,r.byteOffset,r.byteLength),a=r.indexOf(0,4),i=-1===a?256:a-4;return{title:(new TextDecoder).decode(r.subarray(4,4+i)),frameCount:n.getUint32(260,!0),channelCount:r[264]}}}],(e=null)&&z(r.prototype,e),n&&z(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function N(r){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},N(r)}function V(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)}return n}function R(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?V(Object(n),!0).forEach(function(e){$(r,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})}return r}function $(r,e,n){return(e=X(e))in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function J(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return K(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function Q(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,X(t.key),t)}}function X(r){var e=function(r,e){if("object"!=N(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=N(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==N(e)?e:e+""}var Y=function(){return r=function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.values={transientThresholdLow:1,transientThresholdMid:1.5,transientThresholdHigh:2,normalizationDb:68},this.metadata={transientThresholdLow:{default:this.values.transientThresholdLow,name:"Low Band Transient Threshold",description:"Controls the transient detection threshold for the low frequency band (0-5.5kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,2],step:.01},transientThresholdMid:{default:this.values.transientThresholdMid,name:"Mid Band Transient Threshold",description:"Controls the transient detection threshold for the mid frequency band (5.5-11kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,3],step:.01},transientThresholdHigh:{default:this.values.transientThresholdHigh,name:"High Band Transient Threshold",description:"Controls the transient detection threshold for the high frequency band (11-22kHz). Lower values make detection more sensitive, triggering short blocks more easily. Higher values require stronger transients.",range:[.01,4],step:.01},normalizationDb:{default:this.values.normalizationDb,name:"Normalization Target (dB)",description:"Sets the target maximum level in decibels for psychoacoustic model normalization. This affects the dynamic range allocation and quantization precision. Higher values may increase bitrate but preserve more detail.",range:[60,80],step:1}},e&&this.setOptions(e)},e=[{key:"setOptions",value:function(r){for(var e=0,n=Object.entries(r);e<n.length;e++){var t=J(n[e],2),o=t[0],a=t[1];o in this.values&&this.setValue(o,a)}}},{key:"setValue",value:function(r,e){if(!(r in this.metadata))throw new Error("Unknown option: ".concat(r));var n=J(this.metadata[r].range,2),t=n[0],o=n[1];if(e<t||e>o)throw new Error("Value for ".concat(r," must be between ").concat(t," and ").concat(o,", got ").concat(e));this.values[r]=e}},{key:"getValue",value:function(r){if(!(r in this.values))throw new Error("Unknown option: ".concat(r));return this.values[r]}},{key:"transientThresholdLow",get:function(){return this.values.transientThresholdLow}},{key:"transientThresholdMid",get:function(){return this.values.transientThresholdMid}},{key:"transientThresholdHigh",get:function(){return this.values.transientThresholdHigh}},{key:"normalizationDb",get:function(){return this.values.normalizationDb}},{key:"getMetadata",value:function(r){return this.metadata[r]}},{key:"getAllMetadata",value:function(){return R({},this.metadata)}},{key:"reset",value:function(){for(var r=0,e=Object.entries(this.metadata);r<e.length;r++){var n=J(e[r],2),t=n[0],o=n[1];this.values[t]=o.default}}},{key:"toObject",value:function(){return{values:R({},this.values),metadata:R({},this.metadata)}}}],e&&Q(r.prototype,e),n&&Q(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function Z(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return rr(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rr(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rr(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function er(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return nr(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(nr(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,nr(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,nr(s,"constructor",f),nr(f,"constructor",l),l.displayName="GeneratorFunction",nr(f,o,"GeneratorFunction"),nr(s),nr(s,o,"Generator"),nr(s,t,function(){return this}),nr(s,"toString",function(){return"[object Generator]"}),(er=function(){return{w:a,m:h}})()}function nr(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}nr=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){nr(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},nr(r,e,n,t)}function tr(r){return new ir(r,0)}function or(r){return function(){return new ar(r.apply(this,arguments))}}function ar(r){var e,n;function t(e,n){try{var a=r[e](n),i=a.value,u=i instanceof ir;Promise.resolve(u?i.v:i).then(function(n){if(u){var l="return"===e?"return":"next";if(!i.k||n.done)return t(l,n);n=r[l](n).value}o(a.done?"return":"normal",n)},function(r){t("throw",r)})}catch(r){o("throw",r)}}function o(r,o){switch(r){case"return":e.resolve({value:o,done:!0});break;case"throw":e.reject(o);break;default:e.resolve({value:o,done:!1})}(e=e.next)?t(e.key,e.arg):n=null}this._invoke=function(r,o){return new Promise(function(a,i){var u={key:r,arg:o,resolve:a,reject:i,next:null};n?n=n.next=u:(e=n=u,t(r,o))})},"function"!=typeof r.return&&(this.return=void 0)}function ir(r,e){this.v=r,this.k=e}function ur(r){var e,n,t,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,t=Symbol.iterator);o--;){if(n&&null!=(e=r[n]))return e.call(r);if(t&&null!=(e=r[t]))return new lr(e.call(r));n="@@asyncIterator",t="@@iterator"}throw new TypeError("Object is not async iterable")}function lr(r){function e(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var e=r.done;return Promise.resolve(r.value).then(function(r){return{value:r,done:e}})}return lr=function(r){this.s=r,this.n=r.next},lr.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return void 0===n?Promise.resolve({value:r,done:!0}):e(n.apply(this.s,arguments))},throw:function(r){var n=this.s.return;return void 0===n?Promise.reject(r):e(n.apply(this.s,arguments))}},new lr(r)}function fr(r){throw new Error(r)}function cr(r){for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;t<e;t++)n[t-1]=arguments[t];var o=n.map(function(e){return e(r)});return function(r){return o.reduce(function(r,e){return e(r)},r)}}function sr(r){return hr.apply(this,arguments)}function hr(){return hr=or(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:266;return er().m(function t(){var o,a,i,u,l,f,c,s,h;return er().w(function(t){for(;;)switch(t.n){case 0:o=n,a=!1,i=!1,t.p=1,l=ur(r);case 2:return t.n=3,tr(l.next());case 3:if(!(a=!(f=t.v).done)){t.n=7;break}if(c=f.value,(o=c.length)!==n){t.n=5;break}return t.n=4,c;case 4:t.n=6;break;case 5:return(s=new Float32Array(n)).set(c),t.n=6,s;case 6:a=!1,t.n=2;break;case 7:t.n=9;break;case 8:t.p=8,h=t.v,i=!0,u=h;case 9:if(t.p=9,t.p=10,!a||null==l.return){t.n=11;break}return t.n=11,tr(l.return());case 11:if(t.p=11,!i){t.n=12;break}throw u;case 12:return t.f(11);case 13:return t.f(9);case 14:if(!(n-o<e)){t.n=15;break}return t.n=15,new Float32Array(n);case 15:return t.a(2)}},t,null,[[10,,11,13],[1,8,9,14]])})()}),hr.apply(this,arguments)}function vr(r){return yr.apply(this,arguments)}function yr(){return yr=or(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:266;return er().m(function t(){var o,a,i,u,l,f,c,s,h,v,y;return er().w(function(t){for(;;)switch(t.n){case 0:o=new Float32Array(0),a=!1,i=!1,u=!1,t.p=1,f=ur(r);case 2:return t.n=3,tr(f.next());case 3:if(!(i=!(c=t.v).done)){t.n=10;break}if(s=c.value,a){t.n=5;break}if(a=!0,!(e>=s.length)){t.n=4;break}return e-=s.length,t.a(3,9);case 4:return o=s.slice(e),e=0,t.a(3,9);case 5:(h=new Float32Array(o.length+s.length)).set(o),h.set(s,o.length),v=0;case 6:if(!(v+n<=h.length)){t.n=8;break}return t.n=7,h.slice(v,v+n);case 7:v+=n,t.n=6;break;case 8:o=h.slice(v);case 9:i=!1,t.n=2;break;case 10:t.n=12;break;case 11:t.p=11,y=t.v,u=!0,l=y;case 12:if(t.p=12,t.p=13,!i||null==f.return){t.n=14;break}return t.n=14,tr(f.return());case 14:if(t.p=14,!u){t.n=15;break}throw l;case 15:return t.f(14);case 16:return t.f(12);case 17:if(!(o.length>0)){t.n=18;break}return t.n=18,o;case 18:return t.a(2)}},t,null,[[13,,14,16],[1,11,12,17]])})()}),yr.apply(this,arguments)}function pr(r){for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;t<e;t++)n[t-1]=arguments[t];return function(){var e=or(er().m(function e(t){var o,a,i,u,l,f,c,s,h,v,y,p,b,d,m,w,g,k,S,A,M,j,O,F;return er().w(function(e){for(;;)switch(e.n){case 0:o=[],a=[],i=!1,u=!1,e.p=1,f=ur(t);case 2:return e.n=3,tr(f.next());case 3:if(!(i=!(c=e.v).done)){e.n=5;break}s=Z(c.value,2),h=s[0],v=s[1],o.push(h),a.push(v);case 4:i=!1,e.n=2;break;case 5:e.n=7;break;case 6:e.p=6,O=e.v,u=!0,l=O;case 7:if(e.p=7,e.p=8,!i||null==f.return){e.n=9;break}return e.n=9,tr(f.return());case 9:if(e.p=9,!u){e.n=10;break}throw l;case 10:return e.f(9);case 11:return e.f(7);case 12:y=or(er().m(function r(){var e,n,t;return er().w(function(r){for(;;)switch(r.n){case 0:e=0,n=o;case 1:if(!(e<n.length)){r.n=3;break}return t=n[e],r.n=2,t;case 2:e++,r.n=1;break;case 3:return r.a(2)}},r)}))(),p=or(er().m(function r(){var e,n,t;return er().w(function(r){for(;;)switch(r.n){case 0:e=0,n=a;case 1:if(!(e<n.length)){r.n=3;break}return t=n[e],r.n=2,t;case 2:e++,r.n=1;break;case 3:return r.a(2)}},r)}))(),b=r.apply(void 0,[y].concat(n)),d=r.apply(void 0,[p].concat(n)),m=!1,w=!1,e.p=13,k=ur(b);case 14:return e.n=15,tr(k.next());case 15:if(!(m=!(S=e.v).done)){e.n=18;break}return A=S.value,e.n=16,tr(d.next());case 16:if(M=e.v,void 0===(j=M.value)){e.n=17;break}return e.n=17,[A,j];case 17:m=!1,e.n=14;break;case 18:e.n=20;break;case 19:e.p=19,F=e.v,w=!0,g=F;case 20:if(e.p=20,e.p=21,!m||null==k.return){e.n=22;break}return e.n=22,tr(k.return());case 22:if(e.p=22,!w){e.n=23;break}throw g;case 23:return e.f(22);case 24:return e.f(20);case 25:return e.a(2)}},e,null,[[21,,22,24],[13,19,20,25],[8,,9,11],[1,6,7,12]])}));return function(r){return e.apply(this,arguments)}}()}ar.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ar.prototype.next=function(r){return this._invoke("next",r)},ar.prototype.throw=function(r){return this._invoke("throw",r)},ar.prototype.return=function(r){return this._invoke("return",r)};for(var br=pr(sr),dr=pr(vr),mr=new Float32Array([-1461907e-11,-9205479e-11,-56157569e-12,.00030117269,.0002422519,-.00085293897,-.0005205574,.0020340169,.00078333891,-.0042153862,-.00075614988,.0078402944,-61169922e-12,-.01344162,.0024626821,.021736089,-.007801671,-.034090221,.01880949,.054326009,-.043596379,-.099384367,.13207909,.46424159]),wr=new Float32Array(48),gr=0;gr<24;gr++)wr[gr]=2*mr[gr],wr[47-gr]=2*mr[gr];for(var kr=new Float32Array(24),Sr=new Float32Array(24),Ar=0;Ar<24;Ar++)kr[Ar]=wr[2*Ar],Sr[Ar]=wr[2*Ar+1];function Mr(r,e){var n,t,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=r.length,i=a>>1,u=null!==(n=null==o||null===(t=o.delay)||void 0===t?void 0:t[a])&&void 0!==n?n:fr("qmfAnalysis: workBuffer is required");u.set(e),u.set(r,e.length);for(var l=new Float32Array(i),f=new Float32Array(i),c=0;c<i;c++){for(var s=0,h=0,v=2*c,y=0;y<24;y++)s+=u[v+47-2*y]*kr[y],h+=u[v+46-2*y]*Sr[y];l[c]=s+h,f[c]=s-h}return{lowBand:l,highBand:f,newDelay:u.slice(-46)}}function jr(r,e,n){var t,o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=r.length,u=2*i,l=null!==(t=null==a||null===(o=a.delay)||void 0===o?void 0:o[u])&&void 0!==t?t:fr("qmfSynthesis: workBuffer is required");l.set(n);for(var f=0;f<i;f++){var c=r[f],s=e[f],h=b+2*f;l[h]=.5*(c+s),l[h+1]=.5*(c-s)}for(var v=new Float32Array(u),y=0;y<i;y++){for(var p=2*y,d=0,m=0,w=0;w<24;w++){var g=p+2*w;d+=l[g]*kr[w],m+=l[g+1]*Sr[w]}v[2*y]=m,v[2*y+1]=d}return{output:v,newDelay:l.slice(-46)}}function Or(r){return Or="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Or(r)}function Fr(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,Tr(t.key),t)}}function Tr(r){var e=function(r,e){if("object"!=Or(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=Or(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==Or(e)?e:e+""}var Pr=function(){return r=function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)},n=[{key:"fft",value:function(r,e){var n=r.length;if(1!==n){for(var t=Math.log2(n),o=0;o<n;o++){for(var a=0,i=o,u=0;u<t;u++)a=a<<1|1&i,i>>=1;if(a>o){var l=[r[a],r[o]];r[o]=l[0],r[a]=l[1];var f=[e[a],e[o]];e[o]=f[0],e[a]=f[1]}}for(var c=2;c<=n;c<<=1)for(var s=c>>1,h=-2*Math.PI/c,v=Math.cos(h),y=Math.sin(h),p=0;p<n;p+=c)for(var b=1,d=0,m=0;m<s;m++){var w=p+m,g=w+s,k=r[w],S=e[w],A=r[g],M=e[g],j=A*b-M*d,O=A*d+M*b;r[w]=k+j,e[w]=S+O,r[g]=k-j,e[g]=S-O;var F=b*v-d*y;d=b*y+d*v,b=F}}}}],(e=null)&&Fr(r.prototype,e),n&&Fr(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,e,n}();function xr(r){return xr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xr(r)}function Br(r,e,n){return e=Cr(e),function(r,e){if(e&&("object"==xr(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r)}(r,Ir()?Reflect.construct(e,n||[],Cr(r).constructor):e.apply(r,n))}function Ir(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(r){}return(Ir=function(){return!!r})()}function Cr(r){return Cr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Cr(r)}function Er(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&_r(r,e)}function _r(r,e){return _r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},_r(r,e)}function Dr(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,qr(t.key),t)}}function zr(r,e,n){return e&&Dr(r.prototype,e),n&&Dr(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}function qr(r){var e=function(r,e){if("object"!=xr(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=xr(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==xr(e)?e:e+""}function Ur(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}var Lr=zr(function r(e,n){Ur(this,r),this.size=e,this.halfSize=e>>1,this.quarterSize=e>>2,this.fftSize=this.halfSize>>1;var t=2*Math.PI/(8*e),o=2*Math.PI/e,a=Math.sqrt(n/e);this.sinCosTable=new Float32Array(this.halfSize);for(var i=0;i<this.quarterSize;i++){var u=o*i+t;this.sinCosTable[2*i]=a*Math.cos(u),this.sinCosTable[2*i+1]=a*Math.sin(u)}}),Hr=function(r){function e(r,n){return Ur(this,e),Br(this,e,[r,n])}return Er(e,r),zr(e,[{key:"transform",value:function(r){var e,n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=null==t?void 0:t[this.fftSize],a=null!==(e=null==o?void 0:o.real)&&void 0!==e?e:fr("mdct: real is required"),i=null!==(n=null==o?void 0:o.imag)&&void 0!==n?n:fr("mdct: imag is required"),u=this.quarterSize,l=3*u;a.fill(0),i.fill(0);for(var f=0;f<u;f+=2){var c=l+f,s=u+f,h=u-1-f,v=r[l-1-f]+r[c],y=r[s]-r[h],p=this.sinCosTable[f],b=this.sinCosTable[f+1];a[f>>1]=v*p+y*b,i[f>>1]=y*p-v*b}for(var d=u;d<this.halfSize;d+=2){var m=d>>1,w=d-u,g=u+d,k=5*u-1-d,S=r[l-1-d]-r[w],A=r[g]+r[k],M=this.sinCosTable[d],j=this.sinCosTable[d+1];a[m]=S*M+A*j,i[m]=A*M-S*j}Pr.fft(a,i);for(var O=new Float32Array(this.halfSize),F=0;F<this.fftSize;F++){var T=this.sinCosTable[2*F],P=this.sinCosTable[2*F+1],x=a[F],B=i[F];O[2*F]=-x*T-B*P,O[this.halfSize-1-2*F]=-x*P+B*T}return O}}])}(Lr),Wr=function(r){function e(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return Ur(this,e),Br(this,e,[r,n||r])}return Er(e,r),zr(e,[{key:"transform",value:function(r){var e,n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=null==t?void 0:t[this.fftSize],a=null!==(e=null==o?void 0:o.real)&&void 0!==e?e:fr("imdct: real is required"),i=null!==(n=null==o?void 0:o.imag)&&void 0!==n?n:fr("imdct: imag is required"),u=this.quarterSize,l=3*u;a.fill(0),i.fill(0);for(var f=0;f<this.fftSize;f++){var c=2*f,s=r[c],h=r[this.halfSize-1-c],v=this.sinCosTable[c],y=this.sinCosTable[c+1];a[f]=-2*(h*y+s*v),i[f]=-2*(h*v-s*y)}Pr.fft(a,i);for(var p=new Float32Array(this.size),b=0;b<this.fftSize/2;b++){var d=2*b,m=this.sinCosTable[d],w=this.sinCosTable[d+1],g=a[b],k=i[b],S=g*m+k*w,A=g*w-k*m;p[l-1-d]=S,p[l+d]=S,p[u+d]=A,p[u-1-d]=-A}for(var M=this.fftSize/2;M<this.fftSize;M++){var j=2*(M-this.fftSize/2)+u,O=2*M,F=this.sinCosTable[O],T=this.sinCosTable[O+1],P=a[M],x=i[M],B=P*F+x*T,I=P*T-x*F;p[l-1-j]=B,p[j-u]=-B,p[u+j]=I,p[5*u-1-j]=I}return p}}])}(Lr),Gr=new Hr(64,.5),Nr=new Hr(v,.5),Vr=new Hr(y,1),Rr=new Wr(64,256),$r=new Wr(v,1024),Jr=new Wr(y,1024);function Kr(r,e,n){for(var t=r.length,o=new Float32Array(2*t),a=0;a<t;a++){var i=n[a],u=n[2*t-1-a],l=r[a],f=e[t-1-a];o[a]=l*u-f*i,o[2*t-1-a]=l*i+f*u}return o}function Qr(r){for(var e=0,n=0;n<r.length;n++)e=Math.max(e,Math.abs(r[n]));if(0===e)return 0;for(var t=0,o=k.length-1;t<o;){var a=t+o>>1;e<=k[a]?o=a:t=a+1}return t}function Xr(r,e,n){if(0===n||0===e)return new Int32Array(r.length);for(var t=(1<<n-1)-1,o=t/k[e],a=new Int32Array(r.length),i=0;i<r.length;i++){var u=r[i]*o;a[i]=Math.max(-t-1,Math.min(t,Math.round(u)))}return a}function Yr(r,e,n){if(0===n||0===e)return new Float32Array(r.length);for(var t=k[e]/((1<<n-1)-1),o=new Float32Array(r.length),a=0;a<r.length;a++)o[a]=r[a]*t;return o}function Zr(r){return function(r){if(Array.isArray(r))return ne(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||ee(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function re(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=ee(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function ee(r,e){if(r){if("string"==typeof r)return ne(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ne(r,e):void 0}}function ne(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function te(r,n,t,o){var a=function(r,e,n){for(var t=new Float32Array(n),o=0;o<n;o++){var a=r[o],i=e[o];if(0!==i){for(var u=0,l=0;l<i;l++)u+=a[l]*a[l];t[o]=u>0?10*Math.log10(u/i):A}else t[o]=A}return t}(n,t,o),u=function(r){var n=new Float32Array(i);n.fill(A);for(var t=2*(r.length-1),o=e/t,a=0;a<i;a++){var u=c[a],l=Math.round(u/o);l>=0&&l<r.length&&(n[a]=r[l])}return n}(r.maskingThreshold||r.globalThreshold),f=function(r,e,n){for(var t=new Float32Array(n),o=0;o<n;o++)t[o]=r[o]<=A?-1/0:r[o]-e[o];return t}(a,u,o),s=function(r,e,n){var t=r.some(function(r){return r>0});return t?function(r,e){for(var n=[],t=0;t<e;t++)r[t]>0&&n.push({index:t,smr:r[t]});if(n.sort(function(r,e){return e.smr-r.smr}),0===n.length)return l[l.length-1];for(var o=[],a=0,i=0;i<n.length;i++)a+=n[i].smr,o.push(a);var u,f=re(l);try{for(f.s();!(u=f.n()).done;){var c=u.value;if(!(c>e)){var s=n.slice(0,Math.min(n.length,c)).map(function(r){return r.index});if(Math.max.apply(Math,Zr(s).concat([0]))<c){var h=Math.min(c-1,n.length-1);if(h>=n.length-1)return c;var v=o[h],y=o[o.length-1],p=n.length-h-1;if(p>0)if((y-v)/p<.1*(v/(h+1)))return c}}}}catch(r){f.e(r)}finally{f.f()}return l[l.length-1]}(r,n):function(r,e,n){for(var t=-1,o=n-1;o>=0;o--)if(e[o]>A&&r[o]>-1/0){t=o;break}var a,i=re(l);try{for(i.s();!(a=i.n()).done;){var u=a.value;if(u>t)return u}}catch(r){i.e(r)}finally{i.f()}return l[l.length-1]}(r,e,n)}(f,a,o),h=function(r,e,n,t){var o=new Int32Array(r).fill(0),a=function(r,e){for(var n=[],t=0;t<e;t++)r[t]>-1/0&&n.push({bfu:t,priority:r[t]});for(var o=Math.floor(n.length/2)-1;o>=0;o--)ae(n,o);return{isEmpty:function(){return 0===n.length},peek:function(){return n[0]},pop:function(){return function(r){var e=r[0],n=r.pop();r.length>0&&(r[0]=n,ae(r,0));return e}(n)},updateTop:function(){return ae(n,0)}}}(e,r);for(;!a.isEmpty();){var i=a.peek(),u=o[i.bfu];if(u>=d)a.pop();else{var l=oe(i.bfu,u,n);l<=t?(t-=l,o[i.bfu]++,i.priority+=g[u],a.updateTop()):a.pop()}}return o}(s,f,t,1656-10*s);return{bfuCount:s,allocation:h}}function oe(r,e,n){var t=m[e]*n[r];return m[e+1]*n[r]-t}function ae(r,e){for(var n=e,t=r[n],o=r.length;;){var a=2*n+1,i=2*n+2,u=n,l=t.priority;if(a<o&&r[a].priority>l&&(u=a,l=r[a].priority),i<o&&r[i].priority>l&&(u=i),u===n)break;r[n]=r[u],n=u}r[n]=t}function ie(r){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ie(r)}function ue(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,fe(t.key),t)}}function le(r,e,n){return e&&ue(r.prototype,e),n&&ue(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r}function fe(r){var e=function(r,e){if("object"!=ie(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=ie(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==ie(e)?e:e+""}var ce=le(function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.transformBuffers={64:new Float32Array(64),128:new Float32Array(128),256:new Float32Array(256),512:new Float32Array(512)},this.qmfWorkBuffers={delay:{128:new Float32Array(174),256:new Float32Array(302),512:new Float32Array(558)},highBandDelay:{128:new Float32Array(167),256:new Float32Array(295)}},this.qmfDelays={lowBand:new Float32Array(b),midBand:new Float32Array(b),highBand:new Float32Array(39)},this.transientDetection={prevLowCoeffs:new Float32Array(128),prevMidCoeffs:new Float32Array(128),prevHighCoeffs:new Float32Array(256)},this.mdctBuffers={16:{real:new Float32Array(16),imag:new Float32Array(16)},64:{real:new Float32Array(64),imag:new Float32Array(64)},128:{real:new Float32Array(128),imag:new Float32Array(128)}},this.mdctOverlap=[new Float32Array(32),new Float32Array(32),new Float32Array(32)],this.imdctOverlap=[new Float32Array(256),new Float32Array(256),new Float32Array(512)],this.reversalBuffers={32:new Float32Array(32),128:new Float32Array(128),256:new Float32Array(256)},this.psychoAnalysis={flags:new Uint8Array(1024),threshold:new Float32Array(1025)},this.bfuData=new Array(i);for(var e=0;e<i;e++)this.bfuData[e]=new Float32Array(20)});function se(r,e){var n=new Float32Array(e),t=new Float32Array(e),o=Math.min(r.length,e);n.set(r.subarray(0,o)),Pr.fft(n,t);for(var a=new Float32Array(e/2),i=0;i<e/2;i++)a[i]=Math.sqrt(n[i]*n[i]+t[i]*t[i]);return a}function he(r,e,n){if(!e)return!1;var t=function(r,e){var n=function(r,e){for(var n=0,t=0,o=0;o<r.length;o++){var a=Math.abs(r[o]),i=a-Math.abs(e[o]);i>0&&(n+=i),t+=a*a}var u=Math.sqrt(t)||1e-6;return n/u}(r,e),t=ve(r),o=ve(e),a=Math.abs(t-o),i=ye(r),u=ye(e),l=Math.abs(i-u),f=function(r,e){for(var n=0,t=0,o=0;o<r.length;o++)n+=r[o]*r[o],t+=e[o]*e[o];n=Math.max(n,1e-10),t=Math.max(t,1e-10);var a=10*Math.log10(n/t);return Math.max(0,a)}(r,e);return{spectralFlux:n,flatnessChange:a,hfChange:l,energyChange:f}}(r,e),o=function(r){var e=r.spectralFlux,n=r.flatnessChange,t=r.hfChange,o=r.energyChange,a=e,i=Math.sqrt(n),u=Math.log1p(10*t)/Math.log1p(10),l=Math.min(o/30,1);return(a+i+u+l)/4}(t);return o>n}function ve(r){for(var e=0,n=0,t=0,o=0;o<r.length;o++){var a=Math.abs(r[o]);a>1e-10&&(e+=Math.log(a),n+=a,t++)}if(0===t)return 0;var i=Math.exp(e/t),u=n/t;return u>1e-10?i/u:0}function ye(r){for(var e=Math.floor(r.length/2),n=0,t=0,o=0;o<e;o++)n+=r[o]*r[o];for(var a=e;a<r.length;a++)t+=r[a]*r[a];var i=n+t;return i>0?t/i:0}function pe(r){return function(r){if(Array.isArray(r))return me(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||de(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=de(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function de(r,e){if(r){if("string"==typeof r)return me(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(r,e):void 0}}function me(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function we(r){return r>0?F*Math.log(r):A}function ge(r){return Math.exp(r*T)}function ke(r,e,n,t){var o=e/512,a=function(r){var e=new Float32Array(512);e.set(r.subarray(0,128),0);for(var n=0;n<128;n++)e[128+n]=r[255-n];for(var t=0;t<256;t++)e[256+t]=r[511-t];return e}(r),i=function(r,e,n){for(var t=e/2,o=new Float32Array(t+1),a=new Float32Array(512),i=0,u=0;u<512;u++){var l=r[u]*r[u];a[u]=l,i=Math.max(i,l)}var f=1/(i||1),c=-1/0;if(512===e){for(var s=0;s<256;s++){var h=.5*(a[2*s]+a[2*s+1])*f;o[s]=h>0?we(h):A,c=Math.max(c,o[s])}o[256]=o[255],c=Math.max(c,o[256])}else for(var v=512/e,y=0;y<=t;y++){var p=y*v,b=Math.floor(p),d=p-b,m=(b<511?a[b]*(1-d)+a[b+1]*d:a[511])*f;o[y]=m>0?we(m):A,c=Math.max(c,o[y])}for(var w=n-c,g=0;g<o.length;g++)o[g]>A&&(o[g]+=w);return o}(a,e,t),u=function(r,e,n){var t=e.flags;t.fill(0);var o=function(r,e,n){for(var t=[],o=Math.floor(249*n),a=2*(r.length-1),i=Math.floor(63*n),u=Math.floor(127*n),l=Math.floor(150*n),f=1;f<a/2-1&&f<=o;f++)if(!(r[f]<=r[f-1]||r[f]<r[f+1])){var c=Se(f,i,u,l);if(c&&Ae(r,f,c)){var s=we(ge(r[f-1])+ge(r[f])+ge(r[f+1]));t.push({index:f,spl:s}),Me(e,f,c)}}return{flags:e,tonalList:t}}(r,t,n),a=o.tonalList,i=function(r,e){for(var n=[],t=0;t<P.length-1;t++){var o=x[P[t]][0]-1,a=je(e,r,o,x[P[t+1]][0]-1,P[t]);if(a.powerDb>A){var i=Math.round(o+a.centroidOffset);1===r[i=Math.max(0,Math.min(i,r.length-1))]&&(i=Math.min(i+1,r.length-1)),n.push({index:i,spl:a.powerDb}),r[i]=2}}return{flags:r,nonTonalList:n}}(t,r),u=i.nonTonalList,l=function(r,e,n){var t,o=function(r){var e=r.index;return e<I.length&&r.spl>=x[I[e]][2]},a=function(e){e.index<r.length&&(r[e.index]=3)},i=[],u=be(e);try{for(u.s();!(t=u.n()).done;){var l=t.value;o(l)?i.push(l):a(l)}}catch(r){u.e(r)}finally{u.f()}var f,c=[],s=be(n);try{for(s.s();!(f=s.n()).done;){var h=f.value;o(h)?c.push(h):a(h)}}catch(r){s.e(r)}finally{s.f()}return{tonalList:i,nonTonalList:c}}(t,a,u);return{flags:t,tonalMaskers:l.tonalList,nonTonalMaskers:l.nonTonalList}}(i,n,o),l=u.flags,f=u.tonalMaskers,c=u.nonTonalMaskers,s=function(r,e,n,t,o){var a=new Float32Array(P.length);return function(r,e,n,t){for(var o=0;o<P.length;o++){var a=x[P[o]],i=a[1],u=ge(a[2]);u+=Oe(r,e,i,!0),u+=Oe(r,n,i,!1),t[o]=we(u)}}(r,e,n,a),function(r,e,n){for(var t=.25,o=n/2,a=B,i=0,u=0;u<=o;u++)if(u<=a[0])e[u]=r[0];else if(u>=a[a.length-1])e[u]=r[r.length-1];else{for(;i<a.length-1&&a[i+1]<u;)i++;var l=a[i],f=a[i+1],c=r[i],s=r[i+1],h=f-l;if(h>0){var v=c+(s-c)*((u-l)/h),y=Math.abs(s-c)*t;e[u]=v+y}else e[u]=c}}(a,t,o),t}(i,f,c,n.threshold,e);return{psd:i,tonalMaskers:f,nonTonalMaskers:c,globalThreshold:s,flags:l}}function Se(r,e,n,t){return r>2&&r<e?[-2,2]:r>=e&&r<n?[-3,-2,2,3]:r>=n&&r<t?[-6,-5,-4,-3,-2,2,3,4,5,6]:null}function Ae(r,e,n){var t,o=be(n);try{for(o.s();!(t=o.n()).done;){var a=e+t.value;if(a>=0&&a<r.length&&r[e]-r[a]<7)return!1}}catch(r){o.e(r)}finally{o.f()}return!0}function Me(r,e,n){r[e]=1;var t,o=be([].concat(pe(n),[-1,1]));try{for(o.s();!(t=o.n()).done;){var a=e+t.value;a>=0&&a<r.length&&a!==e&&(r[a]=3)}}catch(r){o.e(r)}finally{o.f()}}function je(r,e,n,t,o){for(var a=0,i=0,u=x[o][1],l=n;l<t&&l<e.length;l++)if(0===e[l]){var f=ge(r[l]);a+=f,i+=f*(x[I[l]][1]-u),e[l]=3}return{powerDb:we(a),centroidOffset:a>0?i/a*(t-n):0}}function Oe(r,e,n,t){var o,a=0,i=be(e);try{for(i.s();!(o=i.n()).done;){var u=o.value,l=u.index;if(!(l>=I.length)){var f=x[I[l]][1],c=n-f;if(!(c<-3||c>=8))a+=ge(Fe(u.spl,r[l],f,c,t))}}}catch(r){i.e(r)}finally{i.f()}return a}function Fe(r,e,n,t,o){var a=.4*e+6;return r+(o?-1.525-.275*n-4.5:-1.525-.175*n-.5)+(t<-1?17*(t+1)-a:t<0?a*t:t<1?-17*t:-(t-1)*(17-.15*e)-17)}function Te(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return Pe(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pe(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function xe(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("qmfAnalysisStage: bufferPool is required"),t=n.qmfDelays;return function(r){var e=Mr(r,t.lowBand,n.qmfWorkBuffers);t.lowBand=e.newDelay;var o=Mr(e.lowBand,t.midBand,n.qmfWorkBuffers);t.midBand=o.newDelay;var a=n.qmfWorkBuffers.highBandDelay[e.highBand.length];a.set(t.highBand),a.set(e.highBand,t.highBand.length);var i=a.slice(0,e.highBand.length);return t.highBand=a.slice(e.highBand.length),{bands:[o.lowBand,o.highBand,i]}}}function Be(r){var e,n,t=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("blockSelectorStage: bufferPool is required"),o=null!==(n=null==r?void 0:r.options)&&void 0!==n?n:fr("blockSelectorStage: options is required");return function(r){var e=r.bands,n=Te(e,3),a=n[0],i=n[1],u=n[2],l=se(a,256),f=se(i,256),c=se(u,512),s=he(l,t.transientDetection.prevLowCoeffs,o.transientThresholdLow),h=he(f,t.transientDetection.prevMidCoeffs,o.transientThresholdMid),v=he(c,t.transientDetection.prevHighCoeffs,o.transientThresholdHigh);return t.transientDetection.prevLowCoeffs=l,t.transientDetection.prevMidCoeffs=f,t.transientDetection.prevHighCoeffs=c,{bands:e,blockModes:[s?2:0,h?2:0,v?3:0]}}}function Ie(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("mdctStage: bufferPool is required"),t=n.mdctOverlap;return function(r){for(var e=r.bands,o=r.blockModes,a=r.originalFrame,i=new Float32Array(512),u=0;u<3;u++)for(var l=e[u],f=2===u?256:128,c=1<<o[u],s=1===c?f:32,h=1===c?2===u?Vr:Nr:Gr,b=1===c?2===u?y:v:64,d=1===c?2===u?112:48:0,m=0===u?0:1===u?128:256,w=0;w<c;w++){var g=w*s,k=n.transformBuffers[b];k.fill(0),k.set(t[u],d);for(var S=0;S<32;S++){var A=l[g+s-32+S];t[u][S]=p[S]*A,l[g+s-32+S]=A*p[31-S]}k.set(l.subarray(g,g+s),d+32);var M=h.transform(k,n.mdctBuffers);if(u>0){var j=n.reversalBuffers[M.length];j.fill(0);for(var O=0;O<M.length;O++)j[O]=M[M.length-1-O];M=j}i.set(M,m+g)}return{bands:e,coefficients:i,blockModes:o,originalFrame:a}}}function Ce(r){var e,n,t=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("quantizationStage: bufferPool is required"),o=null!==(n=null==r?void 0:r.options)&&void 0!==n?n:fr("quantizationStage: options is required");return function(r){for(var e=r.coefficients,n=r.blockModes,a=function(r,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,t=null!=n?n:[],o=[],a=0,i=0,l=0;l<3;l++){for(var c=a,v=2===l?256:128,y=l<2?f[l]:u.length,p=0===e[l]?s:h;i<y;){var b=u[i],d=p[i]-c,m=n?n[i]:new Float32Array(b);if(m.fill(0),d>=0&&d<v)for(var w=Math.min(d+b,v)-d,g=0;g<w;g++)m[g]=r[c+d+g];n||t.push(m),o.push(b),i++}a+=v}return{bfuData:t,bfuSizes:o,bfuCount:i}}(e,n,t.bfuData),i=a.bfuData,l=a.bfuSizes,c=a.bfuCount,v=te(ke(e,M,t.psychoAnalysis,o.normalizationDb),i,l,c),y=v.bfuCount,p=v.allocation,b=new Int32Array(y),d=[],w=0;w<y;w++){var g=i[w].subarray(0,l[w]),k=p[w],S=m[k];b[w]=Qr(g);var A=Xr(g,b[w],S);d.push(A)}return{nBfu:y,scaleFactorIndices:b,wordLengthIndices:p.slice(0,y),quantizedCoefficients:d,blockSizeMode:n}}}function Ee(){return cr({options:arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y,bufferPool:arguments.length>1&&void 0!==arguments[1]?arguments[1]:new ce},xe,Be,Ie,Ce)}function _e(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||function(r,e){if(r){if("string"==typeof r)return De(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(r,e):void 0}}(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function De(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function ze(){return function(r){for(var e=new Float32Array(512),n=r.nBfu,t=r.scaleFactorIndices,o=r.wordLengthIndices,a=r.quantizedCoefficients,i=r.blockSizeMode,u=0;u<n;u++){var l=m[o[u]],c=0;u>=f[0]&&(c=1),u>=f[1]&&(c=2);var v=0===i[c]?s[u]:h[u];if(l>0){var y=Yr(a[u],t[u],l);e.set(y,v)}}return[e,i]}}function qe(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("imdctStage: bufferPool is required"),t=n.imdctOverlap;return function(r){for(var e=_e(r,2),o=e[0],a=e[1],i=[],u=[o.subarray(0,128),o.subarray(128,256),o.subarray(256,512)],l=0;l<3;l++){var f=2===l?256:128,c=1<<a[l],s=1===c?f:32,h=1===c?2===l?Jr:$r:Rr,v=n.transformBuffers[512];v.fill(0);for(var y=t[l],b=y.slice(2*f-16,2*f),d=0,m=0,w=0;w<c;w++){var g=u[l].slice(m,m+s);if(l>0){for(var k=n.reversalBuffers[g.length],S=0;S<g.length;S++)k[S]=g[g.length-1-S];g=k}for(var A=h.transform(g,n.mdctBuffers),M=A.length/4,j=0;j<s;j++)v[d+j]=A[M+j];var O=Kr(b.slice(0,16),v.slice(d,d+16),p);y.set(O,d);for(var F=0;F<16;F++)b[F]=v[d+16+F];d+=s,m+=s}if(1===c)for(var T=2===l?240:112,P=0;P<T;P++)y[32+P]=v[16+P];for(var x=0;x<16;x++)y[2*f-16+x]=v[f-16+x];i.push(y.slice(0,f))}return i}}function Ue(r){var e,n=null!==(e=null==r?void 0:r.bufferPool)&&void 0!==e?e:fr("qmfSynthesisStage: bufferPool is required"),t=n.qmfDelays;return function(r){var e=n.qmfWorkBuffers.highBandDelay[r[2].length];e.set(t.highBand),e.set(r[2]);var o=e.slice(0,2*r[0].length);t.highBand=e.slice(2*r[0].length);var a=jr(r[0],r[1],t.midBand,n.qmfWorkBuffers);t.midBand=a.newDelay;var i=jr(a.output,o,t.lowBand,n.qmfWorkBuffers);return t.lowBand=i.newDelay,i.output}}function Le(){return cr({bufferPool:arguments.length>0&&void 0!==arguments[0]?arguments[0]:new ce},ze,qe,Ue)}function He(r){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},He(r)}function We(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=Re(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var t=0,o=function(){};return{s:o,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(r){throw r},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return i=r.done,r},e:function(r){u=!0,a=r},f:function(){try{i||null==n.return||n.return()}finally{if(u)throw a}}}}function Ge(r,e,n,t,o,a,i){try{var u=r[a](i),l=u.value}catch(r){return void n(r)}u.done?e(l):Promise.resolve(l).then(t,o)}function Ne(r){return function(){var e=this,n=arguments;return new Promise(function(t,o){var a=r.apply(e,n);function i(r){Ge(a,t,o,i,u,"next",r)}function u(r){Ge(a,t,o,i,u,"throw",r)}i(void 0)})}}function Ve(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var t,o,a,i,u=[],l=!0,f=!1;try{if(a=(n=n.call(r)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(t=a.call(n)).done)&&(u.push(t.value),u.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return u}}(r,e)||Re(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Re(r,e){if(r){if("string"==typeof r)return $e(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$e(r,e):void 0}}function $e(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}function Je(r){if(null!=r){var e=r["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length))return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}}}throw new TypeError(He(r)+" is not iterable")}function Ke(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return Qe(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(Qe(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,Qe(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,Qe(s,"constructor",f),Qe(f,"constructor",l),l.displayName="GeneratorFunction",Qe(f,o,"GeneratorFunction"),Qe(s),Qe(s,o,"Generator"),Qe(s,t,function(){return this}),Qe(s,"toString",function(){return"[object Generator]"}),(Ke=function(){return{w:a,m:h}})()}function Qe(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}Qe=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){Qe(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},Qe(r,e,n,t)}function Xe(r,e){for(var n=0;n<e.length;n++){var t=e[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(r,Ye(t.key),t)}}function Ye(r){var e=function(r,e){if("object"!=He(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=He(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==He(e)?e:e+""}function Ze(r){return function(){return new rn(r.apply(this,arguments))}}function rn(r){var e,n;function t(e,n){try{var a=r[e](n),i=a.value,u=i instanceof tn;Promise.resolve(u?i.v:i).then(function(n){if(u){var l="return"===e?"return":"next";if(!i.k||n.done)return t(l,n);n=r[l](n).value}o(a.done?"return":"normal",n)},function(r){t("throw",r)})}catch(r){o("throw",r)}}function o(r,o){switch(r){case"return":e.resolve({value:o,done:!0});break;case"throw":e.reject(o);break;default:e.resolve({value:o,done:!1})}(e=e.next)?t(e.key,e.arg):n=null}this._invoke=function(r,o){return new Promise(function(a,i){var u={key:r,arg:o,resolve:a,reject:i,next:null};n?n=n.next=u:(e=n=u,t(r,o))})},"function"!=typeof r.return&&(this.return=void 0)}function en(r){return new tn(r,0)}function nn(r){var e={},n=!1;function t(e,t){return n=!0,t=new Promise(function(n){n(r[e](t))}),{done:!1,value:new tn(t,1)}}return e["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},e.next=function(r){return n?(n=!1,r):t("next",r)},"function"==typeof r.throw&&(e.throw=function(r){if(n)throw n=!1,r;return t("throw",r)}),"function"==typeof r.return&&(e.return=function(r){return n?(n=!1,r):t("return",r)}),e}function tn(r,e){this.v=r,this.k=e}function on(r){var e,n,t,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,t=Symbol.iterator);o--;){if(n&&null!=(e=r[n]))return e.call(r);if(t&&null!=(e=r[t]))return new an(e.call(r));n="@@asyncIterator",t="@@iterator"}throw new TypeError("Object is not async iterable")}function an(r){function e(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var e=r.done;return Promise.resolve(r.value).then(function(r){return{value:r,done:e}})}return an=function(r){this.s=r,this.n=r.next},an.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return void 0===n?Promise.resolve({value:r,done:!0}):e(n.apply(this.s,arguments))},throw:function(r){var n=this.s.return;return void 0===n?Promise.reject(r):e(n.apply(this.s,arguments))}},new an(r)}rn.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},rn.prototype.next=function(r){return this._invoke("next",r)},rn.prototype.throw=function(r){return this._invoke("throw",r)},rn.prototype.return=function(r){return this._invoke("return",r)};var un=function(){function r(){!function(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r)}return t=r,i=null,u=[{key:"encodeStream",value:function(e){return Ze(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ke().m(function t(){var o,a,i,u;return Ke().w(function(t){for(;;)switch(t.n){case 0:if(o=n.channelCount,a=void 0===o?1:o,i=n.onProgress,u=n.encoderOptions,1!==a){t.n=2;break}return t.d(Je(nn(on(r._encodeMonoStream(e,i,u)))),1);case 1:case 3:t.n=5;break;case 2:if(2!==a){t.n=4;break}return t.d(Je(nn(on(r._encodeStereoStream(e,i,u)))),3);case 4:throw new Error("Unsupported channel count: ".concat(a));case 5:return t.a(2)}},t)})()}).apply(this,arguments)}},{key:"_encodeMonoStream",value:function(r,e,n){return Ze(Ke().m(function t(){var o,a,i,u,l,f,c,s,h,v,y;return Ke().w(function(t){for(;;)switch(t.n){case 0:o=n||new Y,a=Ee(o),i=0,u=!1,l=!1,t.p=1,c=on(sr(r));case 2:return t.n=3,en(c.next());case 3:if(!(u=!(s=t.v).done)){t.n=6;break}return h=s.value,v=a(h),t.n=4,v;case 4:e&&e(i++);case 5:u=!1,t.n=2;break;case 6:t.n=8;break;case 7:t.p=7,y=t.v,l=!0,f=y;case 8:if(t.p=8,t.p=9,!u||null==c.return){t.n=10;break}return t.n=10,en(c.return());case 10:if(t.p=10,!l){t.n=11;break}throw f;case 11:return t.f(10);case 12:return t.f(8);case 13:return t.a(2)}},t,null,[[9,,10,12],[1,7,8,13]])}))()}},{key:"_encodeStereoStream",value:function(r,e,n){return Ze(Ke().m(function t(){var o,a,i,u,l,f,c,s,h,v,y,p,b,d,m;return Ke().w(function(t){for(;;)switch(t.n){case 0:o=n||new Y,a=Ee(o),i=Ee(o),u=0,l=!1,f=!1,t.p=1,s=on(br(r));case 2:return t.n=3,en(s.next());case 3:if(!(l=!(h=t.v).done)){t.n=7;break}return v=Ve(h.value,2),y=v[0],p=v[1],b=a(y),d=i(p),t.n=4,b;case 4:return t.n=5,d;case 5:e&&e(u++);case 6:l=!1,t.n=2;break;case 7:t.n=9;break;case 8:t.p=8,m=t.v,f=!0,c=m;case 9:if(t.p=9,t.p=10,!l||null==s.return){t.n=11;break}return t.n=11,en(s.return());case 11:if(t.p=11,!f){t.n=12;break}throw c;case 12:return t.f(11);case 13:return t.f(9);case 14:return t.a(2)}},t,null,[[10,,11,13],[1,8,9,14]])}))()}},{key:"decodeStream",value:function(e){return Ze(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ke().m(function t(){var o,a,i;return Ke().w(function(t){for(;;)switch(t.n){case 0:if(o=n.channelCount,a=void 0===o?1:o,i=n.onProgress,1!==a){t.n=2;break}return t.d(Je(nn(on(r._decodeMonoStream(e,i)))),1);case 1:case 3:t.n=5;break;case 2:if(2!==a){t.n=4;break}return t.d(Je(nn(on(r._decodeStereoStream(e,i)))),3);case 4:throw new Error("Unsupported channel count: ".concat(a));case 5:return t.a(2)}},t)})()}).apply(this,arguments)}},{key:"_decodeMonoStream",value:function(r,e){return Ze(Ke().m(function n(){var t,o,a;return Ke().w(function(n){for(;;)switch(n.n){case 0:return t=Le(),o=0,a=function(){var n=Ze(Ke().m(function n(){var a,i,u,l,f,c,s,h;return Ke().w(function(n){for(;;)switch(n.n){case 0:a=!1,i=!1,n.p=1,l=on(r);case 2:return n.n=3,en(l.next());case 3:if(!(a=!(f=n.v).done)){n.n=6;break}return c=f.value,s=t(c),n.n=4,s;case 4:e&&e(o++);case 5:a=!1,n.n=2;break;case 6:n.n=8;break;case 7:n.p=7,h=n.v,i=!0,u=h;case 8:if(n.p=8,n.p=9,!a||null==l.return){n.n=10;break}return n.n=10,en(l.return());case 10:if(n.p=10,!i){n.n=11;break}throw u;case 11:return n.f(10);case 12:return n.f(8);case 13:return n.a(2)}},n,null,[[9,,10,12],[1,7,8,13]])}));return function(){return n.apply(this,arguments)}}(),n.d(Je(nn(on(vr(a())))),1);case 1:return n.a(2)}},n)}))()}},{key:"_decodeStereoStream",value:function(e,n){return Ze(Ke().m(function t(){var o,a,i,u;return Ke().w(function(t){for(;;)switch(t.n){case 0:return o=Le(),a=Le(),i=0,u=function(){var t=Ze(Ke().m(function t(){var u,l,f,c,s,h,v,y,p,b,d,m,w,g,k;return Ke().w(function(t){for(;;)switch(t.n){case 0:u=null,l=!0,f=!1,c=!1,t.p=1,h=on(e);case 2:return t.n=3,en(h.next());case 3:if(!(f=!(v=t.v).done)){t.n=8;break}if(y=v.value,!l){t.n=4;break}u=y,t.n=6;break;case 4:return p=y,b=o(u),d=a(p),t.n=5,[b,d];case 5:n&&n(i++);case 6:l=!l;case 7:f=!1,t.n=2;break;case 8:t.n=10;break;case 9:t.p=9,k=t.v,c=!0,s=k;case 10:if(t.p=10,t.p=11,!f||null==h.return){t.n=12;break}return t.n=12,en(h.return());case 12:if(t.p=12,!c){t.n=13;break}throw s;case 13:return t.f(12);case 14:return t.f(10);case 15:if(l||!u){t.n=17;break}return m=r._createDummyFrame(),w=o(u),g=a(m),t.n=16,[w,g];case 16:n&&n(i++);case 17:return t.a(2)}},t,null,[[11,,12,14],[1,9,10,15]])}));return function(){return t.apply(this,arguments)}}(),t.d(Je(nn(on(dr(u())))),1);case 1:return t.a(2)}},t)}))()}},{key:"frameBufferToFrames",value:function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;return Ke().m(function n(){var t,o,a,i,u,l,f,c,s,h,v,y,p,b,d,m;return Ke().w(function(n){for(;;)switch(n.n){case 0:if(1!==(t=r.length)){n.n=4;break}o=Ve(r,1),a=o[0],i=0;case 1:if(!(i<a.length)){n.n=3;break}for(u=new Float32Array(e),l=Math.min(i+e,a.length),f=0;f<l-i;f++)u[f]=a[i+f];return n.n=2,u;case 2:i+=e,n.n=1;break;case 3:n.n=9;break;case 4:if(2!==t){n.n=8;break}c=Ve(r,2),s=c[0],h=c[1],v=Math.max(s.length,h.length),y=0;case 5:if(!(y<v)){n.n=7;break}for(p=new Float32Array(e),b=new Float32Array(e),d=Math.min(y+e,v),m=0;m<d-y;m++)p[m]=y+m<s.length?s[y+m]:0,b[m]=y+m<h.length?h[y+m]:0;return n.n=6,[p,b];case 6:y+=e,n.n=5;break;case 7:n.n=9;break;case 8:throw new Error("Unsupported channel count: ".concat(t));case 9:return n.a(2)}},n)})()}},{key:"collectFrames",value:(c=Ne(Ke().m(function r(e){var n,t,o,a,i,u,l,f;return Ke().w(function(r){for(;;)switch(r.n){case 0:n=[],t=!1,o=!1,r.p=1,i=on(e);case 2:return r.n=3,i.next();case 3:if(!(t=!(u=r.v).done)){r.n=5;break}l=u.value,n.push(l);case 4:t=!1,r.n=2;break;case 5:r.n=7;break;case 6:r.p=6,f=r.v,o=!0,a=f;case 7:if(r.p=7,r.p=8,!t||null==i.return){r.n=9;break}return r.n=9,i.return();case 9:if(r.p=9,!o){r.n=10;break}throw a;case 10:return r.f(9);case 11:return r.f(7);case 12:return r.a(2,n)}},r,null,[[8,,9,11],[1,6,7,12]])})),function(r){return c.apply(this,arguments)})},{key:"_createDummyFrame",value:function(){return{nBfu:0,blockSizeMode:[0,0,0],scaleFactorIndices:new Int32Array(0),wordLengthIndices:new Int32Array(0),quantizedCoefficients:[]}}},{key:"createAeaBlob",value:(f=Ne(Ke().m(function r(e){var n,t,o,a,i,u,l,f,c,s,h,v,y,p,b,d,m,w,g,k,S=arguments;return Ke().w(function(r){for(;;)switch(r.n){case 0:t=(n=S.length>1&&void 0!==S[1]?S[1]:{}).title,o=void 0===t?"encoded by atrac1.js":t,a=n.channelCount,i=void 0===a?1:a,u=[],l=!1,f=!1,r.p=1,s=on(e);case 2:return r.n=3,s.next();case 3:if(!(l=!(h=r.v).done)){r.n=5;break}v=h.value,u.push(H(v));case 4:l=!1,r.n=2;break;case 5:r.n=7;break;case 6:r.p=6,k=r.v,f=!0,c=k;case 7:if(r.p=7,r.p=8,!l||null==s.return){r.n=9;break}return r.n=9,s.return();case 9:if(r.p=9,!f){r.n=10;break}throw c;case 10:return r.f(9);case 11:return r.f(7);case 12:for(y=G.createHeader(o,u.length,i),p=y.length+u.reduce(function(r,e){return r+e.length},0),(b=new Uint8Array(p)).set(y,0),d=y.length,m=0,w=u;m<w.length;m++)g=w[m],b.set(g,d),d+=g.length;return r.a(2,new Blob([b],{type:"application/octet-stream"}))}},r,null,[[8,,9,11],[1,6,7,12]])})),function(r){return f.apply(this,arguments)})},{key:"createWavBlob",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,a=Array.isArray(n)?n:[n];if(1===t)return r._createMonoWavBlob(a,o);if(2===t)return r._createStereoWavBlob(a,o);throw new Error("Unsupported channel count: ".concat(t))}},{key:"_createMonoWavBlob",value:function(e,n){var t=e.reduce(function(r,e){return r+e.length},0),o=new ArrayBuffer(44+2*t),a=new DataView(o);r._writeWavHeader(a,t,1,n);var i,u=44,l=We(e);try{for(l.s();!(i=l.n()).done;)for(var f=i.value,c=0;c<f.length;c++){var s=Math.max(-1,Math.min(1,f[c]));a.setInt16(u,s<0?s*O:s*j,!0),u+=2}}catch(r){l.e(r)}finally{l.f()}return new Blob([o],{type:"audio/wav"})}},{key:"_createStereoWavBlob",value:function(e,n){var t=e.reduce(function(r,e){var n=Ve(e,2),t=n[0],o=n[1];return r+Math.max(t.length,o.length)},0),o=new ArrayBuffer(44+2*t*2),a=new DataView(o);r._writeWavHeader(a,t,2,n);var i,u=44,l=We(e);try{for(l.s();!(i=l.n()).done;)for(var f=Ve(i.value,2),c=f[0],s=f[1],h=Math.max(c.length,s.length),v=0;v<h;v++){var y=v<c.length?c[v]:0,p=v<s.length?s[v]:0,b=Math.max(-1,Math.min(1,y)),d=Math.max(-1,Math.min(1,p));a.setInt16(u,b<0?b*O:b*j,!0),u+=2,a.setInt16(u,d<0?d*O:d*j,!0),u+=2}}catch(r){l.e(r)}finally{l.f()}return new Blob([o],{type:"audio/wav"})}},{key:"_writeWavHeader",value:function(r,e,n,t){var o=t*n*2,a=2*n,i=e*a,u=36+i,l=0,f=function(e,n){for(var t=0;t<n.length;t++)r.setUint8(e+t,n.charCodeAt(t))};f(l,"RIFF"),l+=4,r.setUint32(l,u,!0),f(l+=4,"WAVE"),f(l+=4,"fmt "),l+=4,r.setUint32(l,16,!0),l+=4,r.setUint16(l,1,!0),l+=2,r.setUint16(l,n,!0),l+=2,r.setUint32(l,t,!0),l+=4,r.setUint32(l,o,!0),l+=4,r.setUint16(l,a,!0),l+=2,r.setUint16(l,16,!0),f(l+=2,"data"),l+=4,r.setUint32(l,i,!0)}},{key:"parseAeaBlob",value:(l=Ne(Ke().m(function r(e){var n,t,i,u,l,f;return Ke().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,e.arrayBuffer();case 1:for(n=r.v,t=new Uint8Array(n.slice(0,o)),i=G.parseHeader(t),u=[],l=o;l<n.byteLength;l+=a)(f=new Uint8Array(n.slice(l,l+a))).length===a&&u.push(f);return r.a(2,{info:i,frameData:u})}},r)})),function(r){return l.apply(this,arguments)})},{key:"deserializedFrameStream",value:Ke().m(function r(e){var n,t,o,a;return Ke().w(function(r){for(;;)switch(r.n){case 0:n=We(e),r.p=1,n.s();case 2:if((t=n.n()).done){r.n=4;break}return o=t.value,r.n=3,W(o);case 3:r.n=2;break;case 4:r.n=6;break;case 5:r.p=5,a=r.v,n.e(a);case 6:return r.p=6,n.f(),r.f(6);case 7:return r.a(2)}},r,null,[[1,5,6,7]])})},{key:"assemblePcmFrames",value:function(r,e){if(1===e){var n,t=r.reduce(function(r,e){return r+e.length},0),o=new Float32Array(t),a=0,i=We(r);try{for(i.s();!(n=i.n()).done;){var u=n.value;o.set(u,a),a+=u.length}}catch(r){i.e(r)}finally{i.f()}return o}if(2===e){var l,f=r.reduce(function(r,e){var n=Ve(e,2),t=n[0],o=n[1];return r+Math.max(t.length,o.length)},0),c=new Float32Array(2*f),s=0,h=We(r);try{for(h.s();!(l=h.n()).done;)for(var v=Ve(l.value,2),y=v[0],p=v[1],b=Math.max(y.length,p.length),d=0;d<b;d++)c[2*s]=d<y.length?y[d]:0,c[2*s+1]=d<p.length?p[d]:0,s++}catch(r){h.e(r)}finally{h.f()}return c}throw new Error("Unsupported channel count: ".concat(e))}}],i&&Xe(t.prototype,i),u&&Xe(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,i,u,l,f,c}();function ln(r){return ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ln(r)}function fn(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)}return n}function cn(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fn(Object(n),!0).forEach(function(e){sn(r,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})}return r}function sn(r,e,n){return(e=function(r){var e=function(r,e){if("object"!=ln(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var t=n.call(r,e||"default");if("object"!=ln(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==ln(e)?e:e+""}(e))in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function hn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,n="function"==typeof Symbol?Symbol:{},t=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,t,o,a){var l=t&&t.prototype instanceof u?t:u,f=Object.create(l.prototype);return vn(f,"_invoke",function(n,t,o){var a,u,l,f=0,c=o||[],s=!1,h={p:0,n:0,v:r,a:v,f:v.bind(r,4),d:function(e,n){return a=e,u=0,l=r,h.n=n,i}};function v(n,t){for(u=n,l=t,e=0;!s&&f&&!o&&e<c.length;e++){var o,a=c[e],v=h.p,y=a[2];n>3?(o=y===t)&&(l=a[(u=a[4])?5:(u=3,3)],a[4]=a[5]=r):a[0]<=v&&((o=n<2&&v<a[1])?(u=0,h.v=t,h.n=a[1]):v<y&&(o=n<3||a[0]>t||t>y)&&(a[4]=n,a[5]=t,h.n=y,u=0))}if(o||n>1)return i;throw s=!0,t}return function(o,c,y){if(f>1)throw TypeError("Generator is already running");for(s&&1===c&&v(c,y),u=c,l=y;(e=u<2?r:l)||!s;){a||(u?u<3?(u>1&&(h.n=-1),v(u,l)):h.n=l:h.v=l);try{if(f=2,a){if(u||(o="next"),e=a[o]){if(!(e=e.call(a,l)))throw TypeError("iterator result is not an object");if(!e.done)return e;l=e.value,u<2&&(u=0)}else 1===u&&(e=a.return)&&e.call(a),u<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),u=1);a=r}else if((e=(s=h.n<0)?l:n.call(t,h))!==i)break}catch(e){a=r,u=1,l=e}finally{f=1}}return{value:e,done:s}}}(n,o,a),!0),f}var i={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var c=[][t]?e(e([][t]())):(vn(e={},t,function(){return this}),e),s=f.prototype=u.prototype=Object.create(c);function h(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,vn(r,o,"GeneratorFunction")),r.prototype=Object.create(s),r}return l.prototype=f,vn(s,"constructor",f),vn(f,"constructor",l),l.displayName="GeneratorFunction",vn(f,o,"GeneratorFunction"),vn(s),vn(s,o,"Generator"),vn(s,t,function(){return this}),vn(s,"toString",function(){return"[object Generator]"}),(hn=function(){return{w:a,m:h}})()}function vn(r,e,n,t){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}vn=function(r,e,n,t){if(e)o?o(r,e,{value:n,enumerable:!t,configurable:!t,writable:!t}):r[e]=n;else{var a=function(e,n){vn(r,e,function(r){return this._invoke(e,n,r)})};a("next",0),a("throw",1),a("return",2)}},vn(r,e,n,t)}function yn(r,e,n,t,o,a,i){try{var u=r[a](i),l=u.value}catch(r){return void n(r)}u.done?e(l):Promise.resolve(l).then(t,o)}function pn(r){return function(){var e=this,n=arguments;return new Promise(function(t,o){var a=r.apply(e,n);function i(r){yn(a,t,o,i,u,"next",r)}function u(r){yn(a,t,o,i,u,"throw",r)}i(void 0)})}}function bn(r,e,n){return dn.apply(this,arguments)}function dn(){return(dn=pn(hn().m(function r(e,n,t){var o,a,i,u,l,f,c;return hn().w(function(r){for(;;)switch(r.n){case 0:return t=null!=t?t:"encoded by carta1",r.p=1,o=un.frameBufferToFrames(e),a=e.length,i=new Y(n),u=un.encodeStream(o,{channelCount:a,encoderOptions:i}),r.n=2,un.collectFrames(u);case 2:return l=r.v,r.n=3,un.createAeaBlob(l,{title:t,channelCount:a});case 3:return f=r.v,r.a(2,{aeaBlob:f});case 4:throw r.p=4,c=r.v,console.error("Worker encode error:",c),c;case 5:return r.a(2)}},r,null,[[1,4]])}))).apply(this,arguments)}function mn(){return(new Y).toObject()}function wn(r){return gn.apply(this,arguments)}function gn(){return(gn=pn(hn().m(function r(n){var t,o,a,i,u,l,f,c,s;return hn().w(function(r){for(;;)switch(r.n){case 0:return t=n.header,o=n.aeaData,(a=n.info)?i=cn({sampleRate:e},a):t?(u=G.parseHeader(t),i=cn({sampleRate:e},u)):i={channelCount:2,sampleRate:e},l=un.deserializedFrameStream(o),f=un.decodeStream(l,{channelCount:i.channelCount}),r.n=1,un.collectFrames(f);case 1:return c=r.v,s=un.createWavBlob(c,i.channelCount,i.sampleRate),r.a(2,{wavBlob:s,info:i})}},r)}))).apply(this,arguments)}self.onmessage=function(){var r=pn(hn().m(function r(e){var n,t,o,a,i,u,l,f,c,s,h;return hn().w(function(r){for(;;)switch(r.n){case 0:n=e.data,t=n.jobId,o=n.type,a=n.pcmData,i=n.aea,u=n.options,l=n.title,f=n.blob,r.p=1,s=o,r.n="encode"===s?2:"decode"===s?4:"parseAea"===s?6:"getEncoderOptions"===s?8:9;break;case 2:return r.n=3,bn(a,u,l);case 3:return c=r.v,r.a(3,10);case 4:return r.n=5,wn(i);case 5:return c=r.v,r.a(3,10);case 6:return r.n=7,un.parseAeaBlob(f);case 7:return c=r.v,r.a(3,10);case 8:return c=mn(),r.a(3,10);case 9:throw new Error("Unknown worker message type: ".concat(o));case 10:self.postMessage({jobId:t,result:c}),r.n=12;break;case 11:r.p=11,h=r.v,console.error("Worker error:",h),self.postMessage({jobId:t,error:h.message});case 12:return r.a(2)}},r,null,[[1,11]])}));return function(e){return r.apply(this,arguments)}}();var kn=self;for(var Sn in r)kn[Sn]=r[Sn];r.__esModule&&Object.defineProperty(kn,"__esModule",{value:!0})})();
|
|
2
|
+
//# sourceMappingURL=carta1-worker.min.js.map
|