react-native-audio-api 0.4.13 → 0.5.0-rc.1
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/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +7 -6
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +25 -24
- package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +17 -41
- package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +22 -32
- package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +2 -17
- package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +14 -4
- package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +5 -8
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +13 -9
- package/common/cpp/audioapi/HostObjects/BiquadFilterNodeHostObject.h +8 -19
- package/common/cpp/audioapi/core/AudioContext.cpp +14 -4
- package/common/cpp/audioapi/core/AudioContext.h +2 -2
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +4 -2
- package/common/cpp/audioapi/core/BaseAudioContext.h +1 -1
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +5 -6
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -3
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +5 -11
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +3 -31
- package/lib/module/api.js +1 -1
- package/lib/module/api.js.map +1 -1
- package/lib/module/api.web.js +1 -2
- package/lib/module/api.web.js.map +1 -1
- package/lib/module/core/AnalyserNode.js.map +1 -1
- package/lib/module/core/AudioBuffer.js.map +1 -1
- package/lib/module/core/AudioBufferSourceNode.js +0 -6
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioParam.js.map +1 -1
- package/lib/module/core/BaseAudioContext.js +3 -2
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/core/BiquadFilterNode.js.map +1 -1
- package/lib/module/utils/index.js +6 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/web-core/AnalyserNode.js +4 -20
- package/lib/module/web-core/AnalyserNode.js.map +1 -1
- package/lib/module/web-core/AudioBuffer.js +2 -6
- package/lib/module/web-core/AudioBuffer.js.map +1 -1
- package/lib/module/web-core/AudioBufferSourceNode.js +161 -21
- package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/web-core/AudioContext.js +7 -8
- package/lib/module/web-core/AudioContext.js.map +1 -1
- package/lib/module/web-core/AudioParam.js +1 -1
- package/lib/module/web-core/AudioParam.js.map +1 -1
- package/lib/module/web-core/BiquadFilterNode.js +1 -9
- package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +2 -2
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -1
- package/lib/typescript/api.d.ts +1 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/api.web.d.ts +1 -2
- package/lib/typescript/api.web.d.ts.map +1 -1
- package/lib/typescript/core/AnalyserNode.d.ts +4 -4
- package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioBuffer.d.ts +3 -3
- package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -3
- package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioParam.d.ts +1 -1
- package/lib/typescript/core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/core/BaseAudioContext.d.ts +3 -3
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/core/BiquadFilterNode.d.ts +1 -1
- package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +12 -13
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +3 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +2 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/web-core/AnalyserNode.d.ts +4 -4
- package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBuffer.d.ts +2 -2
- package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +58 -6
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioContext.d.ts +3 -5
- package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioParam.d.ts +1 -1
- package/lib/typescript/web-core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/web-core/BaseAudioContext.d.ts +2 -2
- package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/BiquadFilterNode.d.ts +1 -1
- package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/api.ts +0 -1
- package/src/api.web.ts +0 -2
- package/src/core/AnalyserNode.ts +4 -4
- package/src/core/AudioBuffer.ts +3 -3
- package/src/core/AudioBufferSourceNode.ts +0 -9
- package/src/core/AudioParam.ts +1 -1
- package/src/core/BaseAudioContext.ts +16 -5
- package/src/core/BiquadFilterNode.ts +3 -3
- package/src/interfaces.ts +14 -16
- package/src/types.ts +3 -1
- package/src/utils/index.ts +3 -0
- package/src/web-core/AnalyserNode.tsx +8 -30
- package/src/web-core/AudioBuffer.tsx +4 -14
- package/src/web-core/AudioBufferSourceNode.tsx +357 -31
- package/src/web-core/AudioContext.tsx +19 -13
- package/src/web-core/AudioParam.tsx +2 -6
- package/src/web-core/BaseAudioContext.tsx +3 -3
- package/src/web-core/BiquadFilterNode.tsx +6 -16
- package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +4 -3
- package/common/cpp/audioapi/core/types/TimeStretchType.h +0 -7
- package/lib/module/web-core/StretcherNode.js +0 -81
- package/lib/module/web-core/StretcherNode.js.map +0 -1
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -823
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js.map +0 -1
- package/lib/typescript/web-core/StretcherNode.d.ts +0 -48
- package/lib/typescript/web-core/StretcherNode.d.ts.map +0 -1
- package/src/web-core/StretcherNode.tsx +0 -145
- package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -946
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
#include <audioapi/core/sources/AudioBuffer.h>
|
|
4
4
|
#include <audioapi/core/sources/AudioScheduledSourceNode.h>
|
|
5
|
-
#include <audioapi/core/types/TimeStretchType.h>
|
|
6
5
|
|
|
7
6
|
#include <memory>
|
|
8
7
|
#include <cstddef>
|
|
@@ -16,22 +15,19 @@ class AudioParam;
|
|
|
16
15
|
|
|
17
16
|
class AudioBufferSourceNode : public AudioScheduledSourceNode {
|
|
18
17
|
public:
|
|
19
|
-
explicit AudioBufferSourceNode(BaseAudioContext *context);
|
|
18
|
+
explicit AudioBufferSourceNode(BaseAudioContext *context, bool pitchCorrection);
|
|
20
19
|
|
|
21
20
|
[[nodiscard]] bool getLoop() const;
|
|
22
21
|
[[nodiscard]] double getLoopStart() const;
|
|
23
22
|
[[nodiscard]] double getLoopEnd() const;
|
|
24
23
|
[[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
|
|
25
24
|
[[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
|
|
26
|
-
[[nodiscard]] std::shared_ptr<AudioParam> getSemitonesParam() const;
|
|
27
25
|
[[nodiscard]] std::shared_ptr<AudioBuffer> getBuffer() const;
|
|
28
|
-
[[nodiscard]] std::string getTimeStretchType() const;
|
|
29
26
|
|
|
30
27
|
void setLoop(bool loop);
|
|
31
28
|
void setLoopStart(double loopStart);
|
|
32
29
|
void setLoopEnd(double loopEnd);
|
|
33
30
|
void setBuffer(const std::shared_ptr<AudioBuffer> &buffer);
|
|
34
|
-
void setTimeStretchType(const std::string &type);
|
|
35
31
|
|
|
36
32
|
void start(double when, double offset, double duration = -1);
|
|
37
33
|
|
|
@@ -41,38 +37,14 @@ class AudioBufferSourceNode : public AudioScheduledSourceNode {
|
|
|
41
37
|
double getStopTime() const override;
|
|
42
38
|
|
|
43
39
|
private:
|
|
44
|
-
static TimeStretchType fromString(const std::string &type) {
|
|
45
|
-
std::string lowerType = type;
|
|
46
|
-
std::transform(
|
|
47
|
-
lowerType.begin(), lowerType.end(), lowerType.begin(), ::tolower);
|
|
48
|
-
|
|
49
|
-
if (lowerType == "linear")
|
|
50
|
-
return TimeStretchType::LINEAR;
|
|
51
|
-
if (lowerType == "speech-music")
|
|
52
|
-
return TimeStretchType::SPEECH_MUSIC;
|
|
53
|
-
|
|
54
|
-
throw std::invalid_argument("Unknown time stretch type: " + type);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static std::string toString(TimeStretchType type) {
|
|
58
|
-
switch (type) {
|
|
59
|
-
case TimeStretchType::LINEAR:
|
|
60
|
-
return "linear";
|
|
61
|
-
case TimeStretchType::SPEECH_MUSIC:
|
|
62
|
-
return "speech-music";
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
throw std::invalid_argument("Unknown time stretch type");
|
|
66
|
-
}
|
|
67
|
-
|
|
68
40
|
// Looping related properties
|
|
69
41
|
bool loop_;
|
|
70
42
|
double loopStart_;
|
|
71
43
|
double loopEnd_;
|
|
72
44
|
std::mutex bufferLock_;
|
|
73
45
|
|
|
74
|
-
//
|
|
75
|
-
|
|
46
|
+
// pitch correction
|
|
47
|
+
bool pitchCorrection_;
|
|
76
48
|
|
|
77
49
|
// k-rate params
|
|
78
50
|
std::shared_ptr<AudioParam> detuneParam_;
|
package/lib/module/api.js
CHANGED
|
@@ -25,6 +25,6 @@ export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
|
|
|
25
25
|
export { default as GainNode } from "./core/GainNode.js";
|
|
26
26
|
export { default as OscillatorNode } from "./core/OscillatorNode.js";
|
|
27
27
|
export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
|
|
28
|
-
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints
|
|
28
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
|
|
29
29
|
export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
|
|
30
30
|
//# sourceMappingURL=api.js.map
|
package/lib/module/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","
|
|
1
|
+
{"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;;AAG/D;;AAIA;;AAEA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;EACrC,IAAI,CAACF,oBAAoB,EAAE;IACzB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;EACH;EAEAH,oBAAoB,CAACI,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASJ,OAAO,IAAIK,SAAS,QAAQ,qBAAkB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,wBAAqB;AAC7D,SAASN,OAAO,IAAIO,UAAU,QAAQ,sBAAmB;AACzD,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,oCAAiC;AACrF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,4BAAyB;AACrE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,oBAAiB;AACrD,SAASX,OAAO,IAAIY,cAAc,QAAQ,0BAAuB;AACjE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AAErE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
|
package/lib/module/api.web.js
CHANGED
|
@@ -13,8 +13,7 @@ export { default as BiquadFilterNode } from "./web-core/BiquadFilterNode.js";
|
|
|
13
13
|
export { default as GainNode } from "./web-core/GainNode.js";
|
|
14
14
|
export { default as OscillatorNode } from "./web-core/OscillatorNode.js";
|
|
15
15
|
export { default as StereoPannerNode } from "./web-core/StereoPannerNode.js";
|
|
16
|
-
export { default as StretcherNode } from "./web-core/StretcherNode.js";
|
|
17
16
|
export * from "./web-core/custom/index.js";
|
|
18
|
-
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints
|
|
17
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
|
|
19
18
|
export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
|
|
20
19
|
//# sourceMappingURL=api.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","
|
|
1
|
+
{"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAAwB;AAC/D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,qCAAkC;AACnF,SAASF,OAAO,IAAIG,YAAY,QAAQ,4BAAyB;AACjE,SAASH,OAAO,IAAII,oBAAoB,QAAQ,oCAAiC;AACjF,SAASJ,OAAO,IAAIK,SAAS,QAAQ,yBAAsB;AAC3D,SAASL,OAAO,IAAIM,YAAY,QAAQ,4BAAyB;AACjE,SAASN,OAAO,IAAIO,UAAU,QAAQ,0BAAuB;AAC7D,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,wCAAqC;AACzF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,gCAA6B;AACzE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,gCAA6B;AACzE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,wBAAqB;AACzD,SAASX,OAAO,IAAIY,cAAc,QAAQ,8BAA2B;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,gCAA6B;AAEzE,cAAc,4BAAmB;AAEjC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioNode","AnalyserNode","allowedFFTSize","fftSize","node","value","includes","minDecibels","maxDecibels","smoothingTimeConstant","window","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAG1C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAClD,OAAeE,cAAc,GAAa,CACxC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5D;EAED,IAAWC,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACC,IAAI,CAAmBD,OAAO;EAC7C;EAEA,IAAWA,OAAOA,CAACE,KAAa,EAAE;IAChC,IAAI,CAACJ,YAAY,CAACC,cAAc,CAACI,QAAQ,CAACD,KAAK,CAAC,EAAE;MAChD,MAAM,IAAIN,cAAc,CACtB,mBAAmBM,KAAK,6CAC1B,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBD,OAAO,GAAGE,KAAK;EAC9C;EAEA,IAAWE,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACH,IAAI,CAAmBG,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACF,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACG,WAAW,EAAE;MAC7B,MAAM,IAAIT,cAAc,CACtB,0BAA0BM,KAAK,iCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBG,WAAW,GAAGF,KAAK;EAClD;EAEA,IAAWG,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACJ,IAAI,CAAmBI,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACH,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACE,WAAW,EAAE;MAC7B,MAAM,IAAIR,cAAc,CACtB,0BAA0BM,KAAK,oCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBI,WAAW,GAAGH,KAAK;EAClD;EAEA,IAAWI,qBAAqBA,CAAA,EAAW;IACzC,OAAQ,IAAI,CAACL,IAAI,CAAmBK,qBAAqB;EAC3D;EAEA,IAAWA,qBAAqBA,CAACJ,KAAa,EAAE;IAC9C,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC1B,MAAM,IAAIN,cAAc,CACtB,oCAAoCM,KAAK,2BAC3C,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBK,qBAAqB,GAAGJ,KAAK;EAC5D;EAEA,IAAWK,MAAMA,CAAA,EAAe;IAC9B,OAAQ,IAAI,CAACN,IAAI,CAAmBM,MAAM;EAC5C;EAEA,IAAWA,MAAMA,CAACL,KAAiB,EAAE;IAClC,IAAI,CAACD,IAAI,CAAmBM,MAAM,GAAGL,KAAK;EAC7C;EAEA,IAAWM,iBAAiBA,CAAA,EAAW;IACrC,OAAQ,IAAI,CAACP,IAAI,CAAmBO,iBAAiB;EACvD;EAEOC,qBAAqBA,CAACC,
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioNode","AnalyserNode","allowedFFTSize","fftSize","node","value","includes","minDecibels","maxDecibels","smoothingTimeConstant","window","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAG1C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAClD,OAAeE,cAAc,GAAa,CACxC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5D;EAED,IAAWC,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACC,IAAI,CAAmBD,OAAO;EAC7C;EAEA,IAAWA,OAAOA,CAACE,KAAa,EAAE;IAChC,IAAI,CAACJ,YAAY,CAACC,cAAc,CAACI,QAAQ,CAACD,KAAK,CAAC,EAAE;MAChD,MAAM,IAAIN,cAAc,CACtB,mBAAmBM,KAAK,6CAC1B,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBD,OAAO,GAAGE,KAAK;EAC9C;EAEA,IAAWE,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACH,IAAI,CAAmBG,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACF,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACG,WAAW,EAAE;MAC7B,MAAM,IAAIT,cAAc,CACtB,0BAA0BM,KAAK,iCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBG,WAAW,GAAGF,KAAK;EAClD;EAEA,IAAWG,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACJ,IAAI,CAAmBI,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACH,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACE,WAAW,EAAE;MAC7B,MAAM,IAAIR,cAAc,CACtB,0BAA0BM,KAAK,oCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBI,WAAW,GAAGH,KAAK;EAClD;EAEA,IAAWI,qBAAqBA,CAAA,EAAW;IACzC,OAAQ,IAAI,CAACL,IAAI,CAAmBK,qBAAqB;EAC3D;EAEA,IAAWA,qBAAqBA,CAACJ,KAAa,EAAE;IAC9C,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC1B,MAAM,IAAIN,cAAc,CACtB,oCAAoCM,KAAK,2BAC3C,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBK,qBAAqB,GAAGJ,KAAK;EAC5D;EAEA,IAAWK,MAAMA,CAAA,EAAe;IAC9B,OAAQ,IAAI,CAACN,IAAI,CAAmBM,MAAM;EAC5C;EAEA,IAAWA,MAAMA,CAACL,KAAiB,EAAE;IAClC,IAAI,CAACD,IAAI,CAAmBM,MAAM,GAAGL,KAAK;EAC7C;EAEA,IAAWM,iBAAiBA,CAAA,EAAW;IACrC,OAAQ,IAAI,CAACP,IAAI,CAAmBO,iBAAiB;EACvD;EAEOC,qBAAqBA,CAACC,KAAmB,EAAQ;IACrD,IAAI,CAACT,IAAI,CAAmBQ,qBAAqB,CAACC,KAAK,CAAC;EAC3D;EAEOC,oBAAoBA,CAACD,KAAiB,EAAQ;IAClD,IAAI,CAACT,IAAI,CAAmBU,oBAAoB,CAACD,KAAK,CAAC;EAC1D;EAEOE,sBAAsBA,CAACF,KAAmB,EAAQ;IACtD,IAAI,CAACT,IAAI,CAAmBW,sBAAsB,CAACF,KAAK,CAAC;EAC5D;EAEOG,qBAAqBA,CAACH,KAAiB,EAAQ;IACnD,IAAI,CAACT,IAAI,CAAmBY,qBAAqB,CAACH,KAAK,CAAC;EAC3D;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
|
|
@@ -42,12 +42,6 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
42
42
|
set loopEnd(value) {
|
|
43
43
|
this.node.loopEnd = value;
|
|
44
44
|
}
|
|
45
|
-
get timeStretch() {
|
|
46
|
-
return this.node.timeStretch;
|
|
47
|
-
}
|
|
48
|
-
set timeStretch(value) {
|
|
49
|
-
this.node.timeStretch = value;
|
|
50
|
-
}
|
|
51
45
|
start(when = 0, offset = 0, duration) {
|
|
52
46
|
if (when < 0) {
|
|
53
47
|
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACM,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIR,UAAU,CAACM,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAA4BG,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIV,WAAW,CAACU,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAA4BI,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAA4BI,IAAI,GAAGC,KAAK;EACpD;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAA4BM,SAAS,GAAGD,KAAK;EACzD;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAA4BO,OAAO,GAAGF,KAAK;EACvD;EAEOG,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIb,UAAU,CAClB,8CAA8Ca,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAId,UAAU,CAClB,gDAAgDc,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDe,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACZ,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":";;AACA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAWA,CAACC,UAAuB,EAAE;IACnC,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,KAAK,GAAGD,UAAU,CAACC,KAAK;IAC7B,IAAI,CAACC,YAAY,GAAGF,UAAU,CAACE,YAAY;IAC3C,IAAI,CAACC,QAAQ,GAAGH,UAAU,CAACG,QAAQ;IACnC,IAAI,CAACC,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;EACrC;EAEA,IAAWH,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK;EAC9B;EAEA,IAAWA,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACD,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC/B;EAEOI,cAAcA,CAACJ,KAAa,EAAEK,SAAiB,EAAc;IAClE,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIV,UAAU,CAClB,mDAAmDU,SAAS,EAC9D,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACK,cAAc,CAACJ,KAAK,EAAEK,SAAS,CAAC;IAEhD,OAAO,IAAI;EACb;EAEOC,uBAAuBA,CAACN,KAAa,EAAEO,OAAe,EAAc;IACzE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIZ,UAAU,CAClB,iDAAiDY,OAAO,EAC1D,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACO,uBAAuB,CAACN,KAAK,EAAEO,OAAO,CAAC;IAEvD,OAAO,IAAI;EACb;EAEOC,4BAA4BA,CACjCR,KAAa,EACbO,OAAe,EACH;IACZ,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIZ,UAAU,CAClB,iDAAiDY,OAAO,EAC1D,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACS,4BAA4B,CAACR,KAAK,EAAEO,OAAO,CAAC;IAE5D,OAAO,IAAI;EACb;EAEOE,eAAeA,CACpBC,MAAc,EACdL,SAAiB,EACjBM,YAAoB,EACR;IACZ,IAAIN,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIV,UAAU,CAClB,mDAAmDU,SAAS,EAC9D,CAAC;IACH;IAEA,IAAIM,YAAY,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIhB,UAAU,CAClB,sDAAsDU,SAAS,EACjE,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACU,eAAe,CAACC,MAAM,EAAEL,SAAS,EAAEM,YAAY,CAAC;IAEhE,OAAO,IAAI;EACb;EAEOC,mBAAmBA,CACxBC,
|
|
1
|
+
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,8 +34,9 @@ export default class BaseAudioContext {
|
|
|
34
34
|
createBiquadFilter() {
|
|
35
35
|
return new BiquadFilterNode(this, this.context.createBiquadFilter());
|
|
36
36
|
}
|
|
37
|
-
createBufferSource() {
|
|
38
|
-
|
|
37
|
+
createBufferSource(options) {
|
|
38
|
+
const pitchCorrection = options?.pitchCorrection ?? false;
|
|
39
|
+
return new AudioBufferSourceNode(this, this.context.createBufferSource(pitchCorrection));
|
|
39
40
|
}
|
|
40
41
|
createBuffer(numOfChannels, length, sampleRate) {
|
|
41
42
|
if (numOfChannels < 1 || numOfChannels >= 32) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clamp","value","min","max","Math"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,OAAO,SAASA,KAAKA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAU;EACrE,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -17,32 +17,16 @@ export default class AnalyserNode extends AudioNode {
|
|
|
17
17
|
console.log('React Native Audio API: setting window is not supported on web');
|
|
18
18
|
}
|
|
19
19
|
getByteFrequencyData(array) {
|
|
20
|
-
|
|
21
|
-
this.node.getByteFrequencyData(data);
|
|
22
|
-
for (let i = 0; i < array.length; i++) {
|
|
23
|
-
array[i] = data[i];
|
|
24
|
-
}
|
|
20
|
+
this.node.getByteFrequencyData(array);
|
|
25
21
|
}
|
|
26
22
|
getByteTimeDomainData(array) {
|
|
27
|
-
|
|
28
|
-
this.node.getByteTimeDomainData(data);
|
|
29
|
-
for (let i = 0; i < array.length; i++) {
|
|
30
|
-
array[i] = data[i];
|
|
31
|
-
}
|
|
23
|
+
this.node.getByteTimeDomainData(array);
|
|
32
24
|
}
|
|
33
25
|
getFloatFrequencyData(array) {
|
|
34
|
-
|
|
35
|
-
this.node.getFloatFrequencyData(data);
|
|
36
|
-
for (let i = 0; i < array.length; i++) {
|
|
37
|
-
array[i] = data[i];
|
|
38
|
-
}
|
|
26
|
+
this.node.getFloatFrequencyData(array);
|
|
39
27
|
}
|
|
40
28
|
getFloatTimeDomainData(array) {
|
|
41
|
-
|
|
42
|
-
this.node.getFloatTimeDomainData(data);
|
|
43
|
-
for (let i = 0; i < array.length; i++) {
|
|
44
|
-
array[i] = data[i];
|
|
45
|
-
}
|
|
29
|
+
this.node.getFloatTimeDomainData(array);
|
|
46
30
|
}
|
|
47
31
|
}
|
|
48
32
|
//# sourceMappingURL=AnalyserNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","
|
|
1
|
+
{"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAInC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAOlDE,WAAWA,CAACC,OAAyB,EAAEC,IAA6B,EAAE;IACpE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,OAAO,GAAGD,IAAI,CAACC,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGF,IAAI,CAACE,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGH,IAAI,CAACG,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGL,IAAI,CAACK,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAiB,EAAQ;IAClD,IAAI,CAACX,IAAI,CAA6BU,oBAAoB,CAACC,KAAK,CAAC;EACpE;EAEOC,qBAAqBA,CAACD,KAAiB,EAAQ;IACnD,IAAI,CAACX,IAAI,CAA6BY,qBAAqB,CAACD,KAAK,CAAC;EACrE;EAEOE,qBAAqBA,CAACF,KAAmB,EAAQ;IACrD,IAAI,CAACX,IAAI,CAA6Ba,qBAAqB,CAACF,KAAK,CAAC;EACrE;EAEOG,sBAAsBA,CAACH,KAAmB,EAAQ;IACtD,IAAI,CAACX,IAAI,CAA6Bc,sBAAsB,CAACH,KAAK,CAAC;EACtE;AACF","ignoreList":[]}
|
|
@@ -24,11 +24,7 @@ export default class AudioBuffer {
|
|
|
24
24
|
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
25
25
|
throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
this.buffer.copyFromChannel(array, channelNumber, startInChannel);
|
|
29
|
-
for (let i = 0; i < destination.length; i++) {
|
|
30
|
-
destination[i] = array[i];
|
|
31
|
-
}
|
|
27
|
+
this.buffer.copyFromChannel(destination, channelNumber, startInChannel);
|
|
32
28
|
}
|
|
33
29
|
copyToChannel(source, channelNumber, startInChannel = 0) {
|
|
34
30
|
if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
|
|
@@ -37,7 +33,7 @@ export default class AudioBuffer {
|
|
|
37
33
|
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
38
34
|
throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
39
35
|
}
|
|
40
|
-
this.buffer.copyToChannel(
|
|
36
|
+
this.buffer.copyToChannel(source, channelNumber, startInChannel);
|
|
41
37
|
}
|
|
42
38
|
}
|
|
43
39
|
//# sourceMappingURL=AudioBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAM/B;;EAGAC,WAAWA,CAACC,MAA8B,EAAE;IAC1C,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
|
|
@@ -1,52 +1,168 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { InvalidStateError, RangeError } from "../errors/index.js";
|
|
4
4
|
import AudioParam from "./AudioParam.js";
|
|
5
5
|
import AudioBuffer from "./AudioBuffer.js";
|
|
6
|
-
import
|
|
6
|
+
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
7
|
+
import { clamp } from "../utils/index.js";
|
|
8
|
+
import { globalTag } from "./custom/LoadCustomWasm.js";
|
|
9
|
+
class IStretcherNodeAudioParam {
|
|
10
|
+
constructor(value, setter, automationRate, minValue, maxValue, defaultValue) {
|
|
11
|
+
this._value = value;
|
|
12
|
+
this.automationRate = automationRate;
|
|
13
|
+
this.minValue = minValue;
|
|
14
|
+
this.maxValue = maxValue;
|
|
15
|
+
this.defaultValue = defaultValue;
|
|
16
|
+
this._setter = setter;
|
|
17
|
+
}
|
|
18
|
+
get value() {
|
|
19
|
+
return this._value;
|
|
20
|
+
}
|
|
21
|
+
set value(value) {
|
|
22
|
+
this._value = value;
|
|
23
|
+
this._setter(value);
|
|
24
|
+
}
|
|
25
|
+
cancelAndHoldAtTime(cancelTime) {
|
|
26
|
+
this._setter(this.defaultValue, cancelTime);
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
cancelScheduledValues(cancelTime) {
|
|
30
|
+
this._setter(this.defaultValue, cancelTime);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
exponentialRampToValueAtTime(_value, _endTime) {
|
|
34
|
+
console.warn('exponentialRampToValueAtTime is not implemented for pitch correction mode');
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
linearRampToValueAtTime(_value, _endTime) {
|
|
38
|
+
console.warn('linearRampToValueAtTime is not implemented for pitch correction mode');
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
setTargetAtTime(_target, _startTime, _timeConstant) {
|
|
42
|
+
console.warn('setTargetAtTime is not implemented for pitch correction mode');
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
setValueAtTime(value, startTime) {
|
|
46
|
+
this._setter(value, startTime);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
setValueCurveAtTime(_values, _startTime, _duration) {
|
|
50
|
+
console.warn('setValueCurveAtTime is not implemented for pitch correction mode');
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
7
54
|
export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
8
|
-
|
|
55
|
+
_loop = false;
|
|
56
|
+
_loopStart = -1;
|
|
57
|
+
_loopEnd = -1;
|
|
58
|
+
_buffer = null;
|
|
59
|
+
constructor(context, node, pitchCorrection) {
|
|
9
60
|
super(context, node);
|
|
10
|
-
this.
|
|
11
|
-
|
|
61
|
+
this._pitchCorrection = pitchCorrection;
|
|
62
|
+
if (pitchCorrection) {
|
|
63
|
+
this.detune = new AudioParam(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0));
|
|
64
|
+
this.playbackRate = new AudioParam(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1));
|
|
65
|
+
} else {
|
|
66
|
+
this.detune = new AudioParam(node.detune);
|
|
67
|
+
this.playbackRate = new AudioParam(node.playbackRate);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
isStretcherNode() {
|
|
71
|
+
return this._pitchCorrection;
|
|
72
|
+
}
|
|
73
|
+
asStretcher() {
|
|
74
|
+
return this.node;
|
|
75
|
+
}
|
|
76
|
+
asBufferSource() {
|
|
77
|
+
return this.node;
|
|
78
|
+
}
|
|
79
|
+
setDetune(value, when = 0) {
|
|
80
|
+
if (!this.isStretcherNode() || !this.hasBeenStarted) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.asStretcher().schedule({
|
|
84
|
+
semitones: Math.floor(clamp(value / 100, -12, 12)),
|
|
85
|
+
output: when
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
setPlaybackRate(value, when = 0) {
|
|
89
|
+
if (!this.isStretcherNode() || !this.hasBeenStarted) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.asStretcher().schedule({
|
|
93
|
+
rate: value,
|
|
94
|
+
output: when
|
|
95
|
+
});
|
|
12
96
|
}
|
|
13
97
|
get buffer() {
|
|
14
|
-
|
|
98
|
+
if (this.isStretcherNode()) {
|
|
99
|
+
return this._buffer;
|
|
100
|
+
}
|
|
101
|
+
const buffer = this.asBufferSource().buffer;
|
|
15
102
|
if (!buffer) {
|
|
16
103
|
return null;
|
|
17
104
|
}
|
|
18
105
|
return new AudioBuffer(buffer);
|
|
19
106
|
}
|
|
20
107
|
set buffer(buffer) {
|
|
108
|
+
if (this.isStretcherNode()) {
|
|
109
|
+
this._buffer = buffer;
|
|
110
|
+
const stretcher = this.asStretcher();
|
|
111
|
+
stretcher.dropBuffers();
|
|
112
|
+
if (!buffer) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const channelArrays = [];
|
|
116
|
+
for (let i = 0; i < buffer.numberOfChannels; i++) {
|
|
117
|
+
channelArrays.push(buffer.getChannelData(i));
|
|
118
|
+
}
|
|
119
|
+
stretcher.addBuffers(channelArrays);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
21
122
|
if (!buffer) {
|
|
22
|
-
this.
|
|
123
|
+
this.asBufferSource().buffer = null;
|
|
23
124
|
return;
|
|
24
125
|
}
|
|
25
|
-
this.
|
|
126
|
+
this.asBufferSource().buffer = buffer.buffer;
|
|
26
127
|
}
|
|
27
128
|
get loop() {
|
|
28
|
-
|
|
129
|
+
if (this.isStretcherNode()) {
|
|
130
|
+
return this._loop;
|
|
131
|
+
}
|
|
132
|
+
return this.asBufferSource().loop;
|
|
29
133
|
}
|
|
30
134
|
set loop(value) {
|
|
31
|
-
this.
|
|
135
|
+
if (this.isStretcherNode()) {
|
|
136
|
+
this._loop = value;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.asBufferSource().loop = value;
|
|
32
140
|
}
|
|
33
141
|
get loopStart() {
|
|
34
|
-
|
|
142
|
+
if (this.isStretcherNode()) {
|
|
143
|
+
return this._loopStart;
|
|
144
|
+
}
|
|
145
|
+
return this.asBufferSource().loopStart;
|
|
35
146
|
}
|
|
36
147
|
set loopStart(value) {
|
|
37
|
-
this.
|
|
148
|
+
if (this.isStretcherNode()) {
|
|
149
|
+
this._loopStart = value;
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this.asBufferSource().loopStart = value;
|
|
38
153
|
}
|
|
39
154
|
get loopEnd() {
|
|
40
|
-
|
|
155
|
+
if (this.isStretcherNode()) {
|
|
156
|
+
return this._loopEnd;
|
|
157
|
+
}
|
|
158
|
+
return this.asBufferSource().loopEnd;
|
|
41
159
|
}
|
|
42
160
|
set loopEnd(value) {
|
|
43
|
-
this.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
set timeStretch(value) {
|
|
49
|
-
console.log('React Native Audio API: setting timeStretch is not supported on web');
|
|
161
|
+
if (this.isStretcherNode()) {
|
|
162
|
+
this._loopEnd = value;
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
this.asBufferSource().loopEnd = value;
|
|
50
166
|
}
|
|
51
167
|
start(when, offset, duration) {
|
|
52
168
|
if (when && when < 0) {
|
|
@@ -62,7 +178,31 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
62
178
|
throw new InvalidStateError('Cannot call start more than once');
|
|
63
179
|
}
|
|
64
180
|
this.hasBeenStarted = true;
|
|
65
|
-
this.
|
|
181
|
+
if (!this.isStretcherNode()) {
|
|
182
|
+
this.asBufferSource().start(when, offset, duration);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const startAt = !when || when < this.context.currentTime ? this.context.currentTime : when;
|
|
186
|
+
if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
|
|
187
|
+
this.asStretcher().schedule({
|
|
188
|
+
loopStart: this._loopStart,
|
|
189
|
+
loopEnd: this._loopEnd
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
this.asStretcher().start(startAt, offset, duration, this.playbackRate.value, Math.floor(clamp(this.detune.value / 100, -12, 12)));
|
|
193
|
+
}
|
|
194
|
+
stop(when = 0) {
|
|
195
|
+
if (when < 0) {
|
|
196
|
+
throw new RangeError(`when must be a finite non-negative number: ${when}`);
|
|
197
|
+
}
|
|
198
|
+
if (!this.hasBeenStarted) {
|
|
199
|
+
throw new InvalidStateError('Cannot call stop without calling start first');
|
|
200
|
+
}
|
|
201
|
+
if (!this.isStretcherNode()) {
|
|
202
|
+
this.asBufferSource().stop(when);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this.asStretcher().stop(when);
|
|
66
206
|
}
|
|
67
207
|
}
|
|
68
208
|
//# sourceMappingURL=AudioBufferSourceNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["InvalidStateError","RangeError","AudioParam","AudioBuffer","AudioScheduledSourceNode","clamp","globalTag","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","output","rate","buffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","startAt","currentTime","stop"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ import GainNode from "./GainNode.js";
|
|
|
10
10
|
import OscillatorNode from "./OscillatorNode.js";
|
|
11
11
|
import PeriodicWave from "./PeriodicWave.js";
|
|
12
12
|
import StereoPannerNode from "./StereoPannerNode.js";
|
|
13
|
-
import StretcherNode from "./StretcherNode.js";
|
|
14
13
|
import { globalWasmPromise, globalTag } from "./custom/LoadCustomWasm.js";
|
|
15
14
|
export default class AudioContext {
|
|
16
15
|
constructor(options) {
|
|
@@ -39,8 +38,13 @@ export default class AudioContext {
|
|
|
39
38
|
createBiquadFilter() {
|
|
40
39
|
return new BiquadFilterNode(this, this.context.createBiquadFilter());
|
|
41
40
|
}
|
|
42
|
-
createBufferSource() {
|
|
43
|
-
|
|
41
|
+
async createBufferSource(options) {
|
|
42
|
+
if (!options || !options.pitchCorrection) {
|
|
43
|
+
return new AudioBufferSourceNode(this, this.context.createBufferSource(), false);
|
|
44
|
+
}
|
|
45
|
+
await globalWasmPromise;
|
|
46
|
+
const wasmStretch = await window[globalTag](this.context);
|
|
47
|
+
return new AudioBufferSourceNode(this, wasmStretch, true);
|
|
44
48
|
}
|
|
45
49
|
createBuffer(numOfChannels, length, sampleRate) {
|
|
46
50
|
if (numOfChannels < 1 || numOfChannels >= 32) {
|
|
@@ -63,11 +67,6 @@ export default class AudioContext {
|
|
|
63
67
|
createAnalyser() {
|
|
64
68
|
return new AnalyserNode(this, this.context.createAnalyser());
|
|
65
69
|
}
|
|
66
|
-
async createStretcher() {
|
|
67
|
-
await globalWasmPromise;
|
|
68
|
-
const wasmStretch = await window[globalTag](this.context);
|
|
69
|
-
return new StretcherNode(this, wasmStretch);
|
|
70
|
-
}
|
|
71
70
|
async decodeAudioDataSource(source) {
|
|
72
71
|
const arrayBuffer = await fetch(source).then(response => response.arrayBuffer());
|
|
73
72
|
return new AudioBuffer(await this.context.decodeAudioData(arrayBuffer));
|