react-native-audio-api 0.4.1 → 0.4.2

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.
Files changed (68) hide show
  1. package/android/src/main/cpp/core/AudioPlayer.cpp +4 -4
  2. package/android/src/main/cpp/core/AudioPlayer.h +4 -4
  3. package/common/cpp/HostObjects/AnalyserNodeHostObject.h +19 -6
  4. package/common/cpp/HostObjects/AudioAPIInstallerHostObject.h +1 -1
  5. package/common/cpp/HostObjects/AudioBufferHostObject.h +6 -5
  6. package/common/cpp/HostObjects/AudioParamHostObject.h +2 -1
  7. package/common/cpp/HostObjects/BaseAudioContextHostObject.h +4 -3
  8. package/common/cpp/core/AnalyserNode.cpp +56 -34
  9. package/common/cpp/core/AnalyserNode.h +51 -19
  10. package/common/cpp/core/AudioArray.cpp +14 -14
  11. package/common/cpp/core/AudioArray.h +16 -15
  12. package/common/cpp/core/AudioBuffer.cpp +12 -9
  13. package/common/cpp/core/AudioBuffer.h +9 -8
  14. package/common/cpp/core/AudioBufferSourceNode.cpp +25 -20
  15. package/common/cpp/core/AudioBufferSourceNode.h +1 -0
  16. package/common/cpp/core/AudioBus.cpp +22 -26
  17. package/common/cpp/core/AudioBus.h +24 -24
  18. package/common/cpp/core/AudioContext.cpp +1 -1
  19. package/common/cpp/core/AudioContext.h +1 -1
  20. package/common/cpp/core/AudioDecoder.h +2 -2
  21. package/common/cpp/core/AudioDestinationNode.cpp +1 -1
  22. package/common/cpp/core/AudioDestinationNode.h +2 -1
  23. package/common/cpp/core/AudioNode.cpp +7 -5
  24. package/common/cpp/core/AudioNode.h +9 -10
  25. package/common/cpp/core/AudioNodeManager.cpp +1 -3
  26. package/common/cpp/core/AudioNodeManager.h +1 -1
  27. package/common/cpp/core/AudioParam.cpp +6 -3
  28. package/common/cpp/core/AudioParam.h +2 -1
  29. package/common/cpp/core/AudioScheduledSourceNode.cpp +1 -1
  30. package/common/cpp/core/AudioScheduledSourceNode.h +1 -0
  31. package/common/cpp/core/BaseAudioContext.cpp +7 -3
  32. package/common/cpp/core/BaseAudioContext.h +6 -4
  33. package/common/cpp/core/BiquadFilterNode.cpp +13 -14
  34. package/common/cpp/core/Constants.h +25 -12
  35. package/common/cpp/core/GainNode.cpp +1 -1
  36. package/common/cpp/core/OscillatorNode.cpp +4 -3
  37. package/common/cpp/core/PeriodicWave.cpp +7 -6
  38. package/common/cpp/core/PeriodicWave.h +4 -4
  39. package/common/cpp/core/StereoPannerNode.cpp +4 -4
  40. package/common/cpp/utils/AudioUtils.cpp +2 -2
  41. package/common/cpp/utils/AudioUtils.h +2 -2
  42. package/common/cpp/utils/Locker.h +2 -2
  43. package/ios/core/AudioPlayer.h +3 -3
  44. package/ios/core/AudioPlayer.m +2 -2
  45. package/ios/core/IOSAudioPlayer.h +2 -2
  46. package/ios/core/IOSAudioPlayer.mm +2 -2
  47. package/lib/module/core/AnalyserNode.js +6 -0
  48. package/lib/module/core/AnalyserNode.js.map +1 -1
  49. package/lib/module/index.js +6 -0
  50. package/lib/module/index.js.map +1 -1
  51. package/lib/module/index.native.js +1 -1
  52. package/lib/module/index.native.js.map +1 -1
  53. package/lib/typescript/core/AnalyserNode.d.ts +3 -0
  54. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  55. package/lib/typescript/core/types.d.ts +1 -0
  56. package/lib/typescript/core/types.d.ts.map +1 -1
  57. package/lib/typescript/index.d.ts +3 -1
  58. package/lib/typescript/index.d.ts.map +1 -1
  59. package/lib/typescript/index.native.d.ts +1 -1
  60. package/lib/typescript/index.native.d.ts.map +1 -1
  61. package/lib/typescript/interfaces.d.ts +2 -1
  62. package/lib/typescript/interfaces.d.ts.map +1 -1
  63. package/package.json +1 -1
  64. package/src/core/AnalyserNode.ts +9 -0
  65. package/src/core/types.ts +2 -0
  66. package/src/index.native.ts +1 -0
  67. package/src/index.ts +15 -1
  68. package/src/interfaces.ts +2 -0
@@ -8,6 +8,7 @@
8
8
  #include <limits>
9
9
  #include <memory>
10
10
  #include <thread>
11
+ #include <cstddef>
11
12
 
12
13
  #include "AudioNode.h"
13
14
 
@@ -25,7 +25,7 @@ std::string BaseAudioContext::getState() {
25
25
  return BaseAudioContext::toString(state_);
26
26
  }
27
27
 
28
- int BaseAudioContext::getSampleRate() const {
28
+ float BaseAudioContext::getSampleRate() const {
29
29
  return sampleRate_;
30
30
  }
31
31
 
@@ -63,8 +63,8 @@ std::shared_ptr<AudioBufferSourceNode> BaseAudioContext::createBufferSource() {
63
63
 
64
64
  std::shared_ptr<AudioBuffer> BaseAudioContext::createBuffer(
65
65
  int numberOfChannels,
66
- int length,
67
- int sampleRate) {
66
+ size_t length,
67
+ float sampleRate) {
68
68
  return std::make_shared<AudioBuffer>(numberOfChannels, length, sampleRate);
69
69
  }
70
70
 
@@ -99,6 +99,10 @@ bool BaseAudioContext::isClosed() const {
99
99
  return state_ == ContextState::CLOSED;
100
100
  }
101
101
 
102
+ float BaseAudioContext::getNyquistFrequency() const {
103
+ return sampleRate_ / 2.0f;
104
+ }
105
+
102
106
  std::string BaseAudioContext::toString(ContextState state) {
103
107
  switch (state) {
104
108
  case ContextState::SUSPENDED:
@@ -5,6 +5,7 @@
5
5
  #include <string>
6
6
  #include <utility>
7
7
  #include <vector>
8
+ #include <cstddef>
8
9
 
9
10
  #include "ContextState.h"
10
11
  #include "OscillatorType.h"
@@ -30,7 +31,7 @@ class BaseAudioContext {
30
31
  virtual ~BaseAudioContext() = default;
31
32
 
32
33
  std::string getState();
33
- [[nodiscard]] int getSampleRate() const;
34
+ [[nodiscard]] float getSampleRate() const;
34
35
  [[nodiscard]] double getCurrentTime() const;
35
36
  [[nodiscard]] std::size_t getCurrentSampleFrame() const;
36
37
  std::shared_ptr<AudioDestinationNode> getDestination();
@@ -41,19 +42,20 @@ class BaseAudioContext {
41
42
  std::shared_ptr<BiquadFilterNode> createBiquadFilter();
42
43
  std::shared_ptr<AudioBufferSourceNode> createBufferSource();
43
44
  static std::shared_ptr<AudioBuffer>
44
- createBuffer(int numberOfChannels, int length, int sampleRate);
45
+ createBuffer(int numberOfChannels, size_t length, float sampleRate);
45
46
  std::shared_ptr<PeriodicWave> createPeriodicWave(
46
47
  float *real,
47
48
  float *imag,
48
49
  bool disableNormalization,
49
50
  int length);
50
51
  std::shared_ptr<AnalyserNode> createAnalyser();
51
-
52
52
  std::shared_ptr<AudioBuffer> decodeAudioDataSource(const std::string &path);
53
+
53
54
  std::shared_ptr<PeriodicWave> getBasicWaveForm(OscillatorType type);
54
55
  AudioNodeManager *getNodeManager();
55
56
  [[nodiscard]] bool isRunning() const;
56
57
  [[nodiscard]] bool isClosed() const;
58
+ [[nodiscard]] float getNyquistFrequency() const;
57
59
 
58
60
  protected:
59
61
  static std::string toString(ContextState state);
@@ -62,7 +64,7 @@ class BaseAudioContext {
62
64
  std::shared_ptr<AudioDecoder> audioDecoder_ {};
63
65
 
64
66
  // init in AudioContext or OfflineContext constructor
65
- int sampleRate_ {};
67
+ float sampleRate_ {};
66
68
  ContextState state_ = ContextState::RUNNING;
67
69
  std::shared_ptr<AudioNodeManager> nodeManager_;
68
70
 
@@ -11,9 +11,9 @@ namespace audioapi {
11
11
  BiquadFilterNode::BiquadFilterNode(BaseAudioContext *context)
12
12
  : AudioNode(context) {
13
13
  frequencyParam_ = std::make_shared<AudioParam>(
14
- 350.0, MIN_FILTER_FREQUENCY, MAX_FILTER_FREQUENCY);
14
+ 350.0, MIN_FILTER_FREQUENCY, context->getNyquistFrequency());
15
15
  detuneParam_ = std::make_shared<AudioParam>(0.0, -MAX_DETUNE, MAX_DETUNE);
16
- QParam_ = std::make_shared<AudioParam>(1.0, -MAX_FILTER_Q, MAX_FILTER_Q);
16
+ QParam_ = std::make_shared<AudioParam>(1.0, MIN_FILTER_Q, MAX_FILTER_Q);
17
17
  gainParam_ =
18
18
  std::make_shared<AudioParam>(0.0, MIN_FILTER_GAIN, MAX_FILTER_GAIN);
19
19
  type_ = BiquadFilterType::LOWPASS;
@@ -67,8 +67,7 @@ void BiquadFilterNode::getFrequencyResponse(
67
67
  float a2 = a2_;
68
68
 
69
69
  for (size_t i = 0; i < frequencyArraySize; i++) {
70
- auto omega =
71
- static_cast<float>(M_PI) * frequencyArray[i] / NYQUIST_FREQUENCY;
70
+ auto omega = PI * frequencyArray[i] / context_->getNyquistFrequency();
72
71
  auto z = std::complex<float>(cos(omega), sin(omega));
73
72
  auto response = ((b0 * z + b1) * z + b2) / ((z + a1) * z + a2);
74
73
  magResponseOutput[i] = static_cast<float>(abs(response));
@@ -113,7 +112,7 @@ void BiquadFilterNode::setLowpassCoefficients(float frequency, float Q) {
113
112
  Q = std::max(0.0f, Q);
114
113
  float g = std::pow(10.0f, 0.05f * Q);
115
114
 
116
- float theta = M_PI * frequency;
115
+ float theta = PI * frequency;
117
116
  float alpha = std::sin(theta) / (2 * g);
118
117
  float cosW = std::cos(theta);
119
118
  float beta = (1 - cosW) / 2;
@@ -136,7 +135,7 @@ void BiquadFilterNode::setHighpassCoefficients(float frequency, float Q) {
136
135
  Q = std::max(0.0f, Q);
137
136
  float g = std::pow(10.0f, 0.05f * Q);
138
137
 
139
- float theta = M_PI * frequency;
138
+ float theta = PI * frequency;
140
139
  float alpha = std::sin(theta) / (2 * g);
141
140
  float cosW = std::cos(theta);
142
141
  float beta = (1 - cosW) / 2;
@@ -159,7 +158,7 @@ void BiquadFilterNode::setBandpassCoefficients(float frequency, float Q) {
159
158
  return;
160
159
  }
161
160
 
162
- float w0 = M_PI * frequency;
161
+ float w0 = PI * frequency;
163
162
  float alpha = std::sin(w0) / (2 * Q);
164
163
  float k = std::cos(w0);
165
164
 
@@ -181,7 +180,7 @@ void BiquadFilterNode::setLowshelfCoefficients(float frequency, float gain) {
181
180
  return;
182
181
  }
183
182
 
184
- float w0 = M_PI * frequency;
183
+ float w0 = PI * frequency;
185
184
  float alpha =
186
185
  0.5f * std::sin(w0) * std::sqrt((A + 1 / A) * (1 / 1.0f - 1) + 2);
187
186
  float k = std::cos(w0);
@@ -210,7 +209,7 @@ void BiquadFilterNode::setHighshelfCoefficients(float frequency, float gain) {
210
209
  return;
211
210
  }
212
211
 
213
- float w0 = M_PI * frequency;
212
+ float w0 = PI * frequency;
214
213
  float alpha =
215
214
  0.5f * std::sin(w0) * std::sqrt((A + 1 / A) * (1 / 1.0f - 1) + 2);
216
215
  float k = std::cos(w0);
@@ -243,7 +242,7 @@ void BiquadFilterNode::setPeakingCoefficients(
243
242
  return;
244
243
  }
245
244
 
246
- float w0 = M_PI * frequency;
245
+ float w0 = PI * frequency;
247
246
  float alpha = std::sin(w0) / (2 * Q);
248
247
  float k = std::cos(w0);
249
248
 
@@ -270,7 +269,7 @@ void BiquadFilterNode::setNotchCoefficients(float frequency, float Q) {
270
269
  return;
271
270
  }
272
271
 
273
- float w0 = M_PI * frequency;
272
+ float w0 = PI * frequency;
274
273
  float alpha = std::sin(w0) / (2 * Q);
275
274
  float k = std::cos(w0);
276
275
 
@@ -291,7 +290,7 @@ void BiquadFilterNode::setAllpassCoefficients(float frequency, float Q) {
291
290
  return;
292
291
  }
293
292
 
294
- float w0 = M_PI * frequency;
293
+ float w0 = PI * frequency;
295
294
  float alpha = std::sin(w0) / (2 * Q);
296
295
  float k = std::cos(w0);
297
296
 
@@ -302,8 +301,8 @@ void BiquadFilterNode::setAllpassCoefficients(float frequency, float Q) {
302
301
  void BiquadFilterNode::applyFilter() {
303
302
  double currentTime = context_->getCurrentTime();
304
303
 
305
- float normalizedFrequency =
306
- frequencyParam_->getValueAtTime(currentTime) / NYQUIST_FREQUENCY;
304
+ float normalizedFrequency = frequencyParam_->getValueAtTime(currentTime) /
305
+ context_->getNyquistFrequency();
307
306
  float detuneValue = detuneParam_->getValueAtTime(currentTime);
308
307
 
309
308
  if (detuneValue != 0.0) {
@@ -6,26 +6,39 @@
6
6
  // https://webaudio.github.io/web-audio-api/
7
7
 
8
8
  namespace audioapi {
9
- constexpr int DEFAULT_SAMPLE_RATE = 48000;
9
+ // context
10
10
  constexpr int RENDER_QUANTUM_SIZE = 128;
11
11
  constexpr int CHANNEL_COUNT = 2;
12
12
 
13
+ // general
13
14
  constexpr float MOST_POSITIVE_SINGLE_FLOAT = static_cast<float>(std::numeric_limits<float>::max());
14
15
  constexpr float MOST_NEGATIVE_SINGLE_FLOAT = static_cast<float>(std::numeric_limits<float>::lowest());
16
+ constexpr float PI = static_cast<float>(M_PI);
15
17
 
16
- constexpr float NYQUIST_FREQUENCY = DEFAULT_SAMPLE_RATE / 2.0;
17
- static float MAX_DETUNE = 1200 * std::log2(MOST_POSITIVE_SINGLE_FLOAT);
18
- constexpr float MAX_GAIN = MOST_POSITIVE_SINGLE_FLOAT;
18
+ // pan
19
19
  constexpr float MAX_PAN = 1.0;
20
- constexpr float MAX_FILTER_Q = MOST_POSITIVE_SINGLE_FLOAT;
21
- constexpr float MAX_FILTER_FREQUENCY = NYQUIST_FREQUENCY;
20
+ constexpr float MIN_PAN = -1.0;
21
+
22
+ // gain
23
+ constexpr float MAX_GAIN = MOST_POSITIVE_SINGLE_FLOAT;
24
+ constexpr float MIN_GAIN = -MAX_GAIN;
25
+
26
+ // biquad filter
22
27
  constexpr float MIN_FILTER_FREQUENCY = 0.0;
23
28
  static float MAX_FILTER_GAIN = 40 * std::log10(MOST_POSITIVE_SINGLE_FLOAT);
24
- constexpr float MIN_FILTER_GAIN = -MAX_GAIN;
29
+ static float MIN_FILTER_GAIN = -MAX_GAIN;
30
+ constexpr float MAX_FILTER_Q = MOST_POSITIVE_SINGLE_FLOAT;
31
+ constexpr float MIN_FILTER_Q = -MAX_FILTER_Q;
32
+
33
+ //detune
34
+ static float MAX_DETUNE = 1200 * std::log2(MOST_POSITIVE_SINGLE_FLOAT);
35
+ static float MIN_DETUNE = -MAX_DETUNE;
25
36
 
26
- constexpr int MAX_FFT_SIZE = 32768;
27
- constexpr int DEFAULT_FFT_SIZE = 2048;
28
- constexpr double DEFAULT_MAX_DECIBELS = -30;
29
- constexpr double DEFAULT_MIN_DECIBELS = -100;
30
- const double DEFAULT_SMOOTHING_TIME_CONSTANT = 0.8;
37
+ // analyser node
38
+ constexpr size_t MAX_FFT_SIZE = 32768;
39
+ constexpr size_t MIN_FFT_SIZE = 32;
40
+ constexpr size_t DEFAULT_FFT_SIZE = 2048;
41
+ constexpr float DEFAULT_MAX_DECIBELS = -30;
42
+ constexpr float DEFAULT_MIN_DECIBELS = -100;
43
+ const float DEFAULT_SMOOTHING_TIME_CONSTANT = 0.8;
31
44
  } // namespace audioapi
@@ -6,7 +6,7 @@
6
6
  namespace audioapi {
7
7
 
8
8
  GainNode::GainNode(BaseAudioContext *context) : AudioNode(context) {
9
- gainParam_ = std::make_shared<AudioParam>(1.0, -MAX_GAIN, MAX_GAIN);
9
+ gainParam_ = std::make_shared<AudioParam>(1.0, MIN_GAIN, MAX_GAIN);
10
10
  isInitialized_ = true;
11
11
  }
12
12
 
@@ -8,7 +8,7 @@ namespace audioapi {
8
8
  OscillatorNode::OscillatorNode(BaseAudioContext *context)
9
9
  : AudioScheduledSourceNode(context) {
10
10
  frequencyParam_ = std::make_shared<AudioParam>(
11
- 444.0, -NYQUIST_FREQUENCY, NYQUIST_FREQUENCY);
11
+ 444.0, -context_->getNyquistFrequency(), context_->getNyquistFrequency());
12
12
  detuneParam_ = std::make_shared<AudioParam>(0.0, -MAX_DETUNE, MAX_DETUNE);
13
13
  type_ = OscillatorType::SINE;
14
14
  periodicWave_ = context_->getBasicWaveForm(type_);
@@ -49,8 +49,9 @@ void OscillatorNode::processNode(AudioBus *processingBus, int framesToProcess) {
49
49
  return;
50
50
  }
51
51
 
52
- double deltaTime = 1.0 / context_->getSampleRate();
53
- double time = context_->getCurrentTime() + startOffset * deltaTime;
52
+ auto deltaTime = 1.0 / context_->getSampleRate();
53
+ auto time =
54
+ context_->getCurrentTime() + static_cast<double>(startOffset) * deltaTime;
54
55
 
55
56
  for (size_t i = startOffset; i < offsetLength; i += 1) {
56
57
  auto detuneRatio =
@@ -27,6 +27,7 @@
27
27
  */
28
28
 
29
29
  #include "PeriodicWave.h"
30
+ #include "Constants.h"
30
31
 
31
32
  constexpr unsigned NumberOfOctaveBands = 3;
32
33
  constexpr float CentsPerRange = 1200.0f / NumberOfOctaveBands;
@@ -34,10 +35,10 @@ constexpr float interpolate2Point = 0.3;
34
35
  constexpr float interpolate3Point = 0.16;
35
36
 
36
37
  namespace audioapi {
37
- PeriodicWave::PeriodicWave(int sampleRate, bool disableNormalization)
38
+ PeriodicWave::PeriodicWave(float sampleRate, bool disableNormalization)
38
39
  : sampleRate_(sampleRate), disableNormalization_(disableNormalization) {
39
- numberOfRanges_ = lround(
40
- NumberOfOctaveBands * log2f(static_cast<float>(getPeriodicWaveSize())));
40
+ numberOfRanges_ = static_cast<int>(round(
41
+ NumberOfOctaveBands * log2f(static_cast<float>(getPeriodicWaveSize()))));
41
42
  auto nyquistFrequency = sampleRate_ / 2;
42
43
  lowestFundamentalFrequency_ = static_cast<float>(nyquistFrequency) /
43
44
  static_cast<float>(getMaxNumberOfPartials());
@@ -47,7 +48,7 @@ PeriodicWave::PeriodicWave(int sampleRate, bool disableNormalization)
47
48
  }
48
49
 
49
50
  PeriodicWave::PeriodicWave(
50
- int sampleRate,
51
+ float sampleRate,
51
52
  audioapi::OscillatorType type,
52
53
  bool disableNormalization)
53
54
  : PeriodicWave(sampleRate, disableNormalization) {
@@ -55,7 +56,7 @@ PeriodicWave::PeriodicWave(
55
56
  }
56
57
 
57
58
  PeriodicWave::PeriodicWave(
58
- int sampleRate,
59
+ float sampleRate,
59
60
  float *real,
60
61
  float *imaginary,
61
62
  int length,
@@ -147,7 +148,7 @@ void PeriodicWave::generateBasicWaveForm(OscillatorType type) {
147
148
  // Coefficient for sin()
148
149
  float b;
149
150
 
150
- auto piFactor = static_cast<float>(1.0f / (i * M_PI));
151
+ auto piFactor = 1.0f / (PI * static_cast<float>(i));
151
152
 
152
153
  switch (type) {
153
154
  case OscillatorType::SINE:
@@ -40,11 +40,11 @@ namespace audioapi {
40
40
  class PeriodicWave {
41
41
  public:
42
42
  explicit PeriodicWave(
43
- int sampleRate,
43
+ float sampleRate,
44
44
  OscillatorType type,
45
45
  bool disableNormalization);
46
46
  explicit PeriodicWave(
47
- int sampleRate,
47
+ float sampleRate,
48
48
  float *real,
49
49
  float *imaginary,
50
50
  int length,
@@ -57,7 +57,7 @@ class PeriodicWave {
57
57
  getSample(float fundamentalFrequency, float phase, float phaseIncrement);
58
58
 
59
59
  private:
60
- explicit PeriodicWave(int sampleRate, bool disableNormalization);
60
+ explicit PeriodicWave(float sampleRate, bool disableNormalization);
61
61
 
62
62
  // Partial is any frequency component of a sound.
63
63
  // Both harmonics(fundamentalFrequency * k) and overtones are partials.
@@ -102,7 +102,7 @@ class PeriodicWave {
102
102
  const float *higherWaveData) const;
103
103
 
104
104
  // determines the time resolution of the waveform.
105
- int sampleRate_;
105
+ float sampleRate_;
106
106
  // determines number of frequency segments (or bands) the signal is divided.
107
107
  int numberOfRanges_;
108
108
  // the lowest frequency (in hertz) where playback will include all of the
@@ -11,7 +11,7 @@ namespace audioapi {
11
11
  StereoPannerNode::StereoPannerNode(BaseAudioContext *context)
12
12
  : AudioNode(context) {
13
13
  channelCountMode_ = ChannelCountMode::CLAMPED_MAX;
14
- panParam_ = std::make_shared<AudioParam>(0.0, -MAX_PAN, MAX_PAN);
14
+ panParam_ = std::make_shared<AudioParam>(0.0, MIN_PAN, MAX_PAN);
15
15
  isInitialized_ = true;
16
16
  }
17
17
 
@@ -36,10 +36,10 @@ void StereoPannerNode::processNode(
36
36
 
37
37
  for (int i = 0; i < framesToProcess; i += 1) {
38
38
  float pan = panParam_->getValueAtTime(time);
39
- float x = (pan <= 0 ? pan + 1 : pan) * M_PI / 2;
39
+ float x = (pan <= 0 ? pan + 1 : pan) * PI / 2;
40
40
 
41
- float gainL = static_cast<float>(cos(x));
42
- float gainR = static_cast<float>(sin(x));
41
+ auto gainL = static_cast<float>(cos(x));
42
+ auto gainR = static_cast<float>(sin(x));
43
43
 
44
44
  float inputL = (*left)[i];
45
45
  float inputR = (*right)[i];
@@ -1,11 +1,11 @@
1
1
  #include "AudioUtils.h"
2
2
 
3
3
  namespace audioapi::AudioUtils {
4
- size_t timeToSampleFrame(double time, int sampleRate) {
4
+ size_t timeToSampleFrame(double time, float sampleRate) {
5
5
  return static_cast<size_t>(time * sampleRate);
6
6
  }
7
7
 
8
- double sampleFrameToTime(int sampleFrame, int sampleRate) {
8
+ double sampleFrameToTime(int sampleFrame, float sampleRate) {
9
9
  return static_cast<double>(sampleFrame) / sampleRate;
10
10
  }
11
11
 
@@ -6,8 +6,8 @@
6
6
 
7
7
  namespace audioapi::AudioUtils {
8
8
 
9
- size_t timeToSampleFrame(double time, int sampleRate);
10
- double sampleFrameToTime(int sampleFrame, int sampleRate);
9
+ size_t timeToSampleFrame(double time, float sampleRate);
10
+ double sampleFrameToTime(int sampleFrame, float sampleRate);
11
11
 
12
12
  float linearInterpolate(const float *source, size_t firstIndex, size_t secondIndex, float factor);
13
13
 
@@ -7,7 +7,7 @@ namespace audioapi {
7
7
  // Small easy interface to manage locking
8
8
  class Locker {
9
9
  public:
10
- Locker() : lockPtr_(0) {}
10
+ Locker() : lockPtr_(nullptr) {}
11
11
  explicit Locker(std::mutex &lockPtr) : lockPtr_(&lockPtr) {
12
12
  lock();
13
13
  }
@@ -17,7 +17,7 @@ class Locker {
17
17
  }
18
18
 
19
19
  explicit operator bool() const {
20
- return !!lockPtr_;
20
+ return lockPtr_ != nullptr;
21
21
  }
22
22
 
23
23
  void lock() {
@@ -12,13 +12,13 @@ typedef void (^RenderAudioBlock)(AudioBufferList *outputBuffer, int numFrames);
12
12
  @property (nonatomic, strong) AVAudioFormat *format;
13
13
  @property (nonatomic, strong) AVAudioSourceNode *sourceNode;
14
14
  @property (nonatomic, copy) RenderAudioBlock renderAudio;
15
- @property (nonatomic, assign) int sampleRate;
15
+ @property (nonatomic, assign) float sampleRate;
16
16
 
17
17
  - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio;
18
18
 
19
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(int)sampleRate;
19
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(float)sampleRate;
20
20
 
21
- - (int)getSampleRate;
21
+ - (float)getSampleRate;
22
22
 
23
23
  - (void)start;
24
24
 
@@ -49,7 +49,7 @@
49
49
  return self;
50
50
  }
51
51
 
52
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(int)sampleRate
52
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(float)sampleRate
53
53
  {
54
54
  if (self = [super init]) {
55
55
  self.renderAudio = [renderAudio copy];
@@ -96,7 +96,7 @@
96
96
  return self;
97
97
  }
98
98
 
99
- - (int)getSampleRate
99
+ - (float)getSampleRate
100
100
  {
101
101
  return self.sampleRate;
102
102
  }
@@ -24,10 +24,10 @@ class IOSAudioPlayer {
24
24
  const std::function<void(AudioBus *, int)> &renderAudio);
25
25
  IOSAudioPlayer(
26
26
  const std::function<void(AudioBus *, int)> &renderAudio,
27
- int sampleRate);
27
+ float sampleRate);
28
28
  ~IOSAudioPlayer();
29
29
 
30
- int getSampleRate() const;
30
+ float getSampleRate() const;
31
31
 
32
32
  void start();
33
33
  void stop();
@@ -37,7 +37,7 @@ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(AudioBus *, int)> &rende
37
37
  audioBus_ = new AudioBus([audioPlayer_ getSampleRate], RENDER_QUANTUM_SIZE, CHANNEL_COUNT);
38
38
  }
39
39
 
40
- IOSAudioPlayer::IOSAudioPlayer(const std::function<void(AudioBus *, int)> &renderAudio, int sampleRate)
40
+ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(AudioBus *, int)> &renderAudio, float sampleRate)
41
41
  : renderAudio_(renderAudio), audioBus_(0)
42
42
  {
43
43
  RenderAudioBlock renderAudioBlock = ^(AudioBufferList *outputData, int numFrames) {
@@ -86,7 +86,7 @@ void IOSAudioPlayer::stop()
86
86
  return [audioPlayer_ stop];
87
87
  }
88
88
 
89
- int IOSAudioPlayer::getSampleRate() const
89
+ float IOSAudioPlayer::getSampleRate() const
90
90
  {
91
91
  return [audioPlayer_ getSampleRate];
92
92
  }
@@ -40,6 +40,12 @@ export default class AnalyserNode extends AudioNode {
40
40
  }
41
41
  this.node.smoothingTimeConstant = value;
42
42
  }
43
+ get window() {
44
+ return this.node.window;
45
+ }
46
+ set window(value) {
47
+ this.node.window = value;
48
+ }
43
49
  get frequencyBinCount() {
44
50
  return this.node.frequencyBinCount;
45
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["IndexSizeError","AudioNode","AnalyserNode","allowedFFTSize","fftSize","node","value","includes","minDecibels","maxDecibels","smoothingTimeConstant","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,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,iBAAiBA,CAAA,EAAW;IACrC,OAAQ,IAAI,CAACN,IAAI,CAAmBM,iBAAiB;EACvD;EAEOC,qBAAqBA,CAACC,KAAe,EAAQ;IACjD,IAAI,CAACR,IAAI,CAAmBO,qBAAqB,CAACC,KAAK,CAAC;EAC3D;EAEOC,oBAAoBA,CAACD,KAAe,EAAQ;IAChD,IAAI,CAACR,IAAI,CAAmBS,oBAAoB,CAACD,KAAK,CAAC;EAC1D;EAEOE,sBAAsBA,CAACF,KAAe,EAAQ;IAClD,IAAI,CAACR,IAAI,CAAmBU,sBAAsB,CAACF,KAAK,CAAC;EAC5D;EAEOG,qBAAqBA,CAACH,KAAe,EAAQ;IACjD,IAAI,CAACR,IAAI,CAAmBW,qBAAqB,CAACH,KAAK,CAAC;EAC3D;AACF","ignoreList":[]}
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,KAAe,EAAQ;IACjD,IAAI,CAACT,IAAI,CAAmBQ,qBAAqB,CAACC,KAAK,CAAC;EAC3D;EAEOC,oBAAoBA,CAACD,KAAe,EAAQ;IAChD,IAAI,CAACT,IAAI,CAAmBU,oBAAoB,CAACD,KAAK,CAAC;EAC1D;EAEOE,sBAAsBA,CAACF,KAAe,EAAQ;IAClD,IAAI,CAACT,IAAI,CAAmBW,sBAAsB,CAACF,KAAK,CAAC;EAC5D;EAEOG,qBAAqBA,CAACH,KAAe,EAAQ;IACjD,IAAI,CAACT,IAAI,CAAmBY,qBAAqB,CAACH,KAAK,CAAC;EAC3D;AACF","ignoreList":[]}
@@ -70,6 +70,12 @@ export class AnalyserNode extends AudioNode {
70
70
  this.maxDecibels = node.maxDecibels;
71
71
  this.smoothingTimeConstant = node.smoothingTimeConstant;
72
72
  }
73
+ get window() {
74
+ return 'blackman';
75
+ }
76
+ set window(value) {
77
+ console.log('React Native Audio API: setting window is not supported on web');
78
+ }
73
79
  getByteFrequencyData(array) {
74
80
  this.node.getByteFrequencyData(new Uint8Array(array));
75
81
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","value","loopStart","loopEnd","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","window","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -17,5 +17,5 @@ export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
17
17
  export { default as GainNode } from "./core/GainNode.js";
18
18
  export { default as OscillatorNode } from "./core/OscillatorNode.js";
19
19
  export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
20
- export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState } from "./core/types.js";
20
+ export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType } from "./core/types.js";
21
21
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["installModule","global","__AudioAPIInstaller","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState"],"sourceRoot":"../../src","sources":["index.native.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAE/C,IAAIC,MAAM,CAACC,mBAAmB,IAAI,IAAI,EAAE;EACtCF,aAAa,CAAC,CAAC;AACjB;AAEA,SAASG,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;AACrE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,QACP,iBAAc","ignoreList":[]}
1
+ {"version":3,"names":["installModule","global","__AudioAPIInstaller","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType"],"sourceRoot":"../../src","sources":["index.native.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAE/C,IAAIC,MAAM,CAACC,mBAAmB,IAAI,IAAI,EAAE;EACtCF,aAAa,CAAC,CAAC;AACjB;AAEA,SAASG,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;AACrE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,QACL,iBAAc","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { WindowType } from './types';
1
2
  import AudioNode from './AudioNode';
2
3
  export default class AnalyserNode extends AudioNode {
3
4
  private static allowedFFTSize;
@@ -9,6 +10,8 @@ export default class AnalyserNode extends AudioNode {
9
10
  set maxDecibels(value: number);
10
11
  get smoothingTimeConstant(): number;
11
12
  set smoothingTimeConstant(value: number);
13
+ get window(): WindowType;
14
+ set window(value: WindowType);
12
15
  get frequencyBinCount(): number;
13
16
  getFloatFrequencyData(array: number[]): void;
14
17
  getByteFrequencyData(array: number[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyserNode.d.ts","sourceRoot":"","sources":["../../../src/core/AnalyserNode.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAE3B;IAEF,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAQ/B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAQnC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAQnC;IAED,IAAW,qBAAqB,IAAI,MAAM,CAEzC;IAED,IAAW,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAQ7C;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAEM,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI5C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI3C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI7C,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;CAGpD"}
1
+ {"version":3,"file":"AnalyserNode.d.ts","sourceRoot":"","sources":["../../../src/core/AnalyserNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAE3B;IAEF,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAQ/B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAQnC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAQnC;IAED,IAAW,qBAAqB,IAAI,MAAM,CAEzC;IAED,IAAW,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAQ7C;IAED,IAAW,MAAM,IAAI,UAAU,CAE9B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,UAAU,EAElC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAEM,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI5C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI3C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI7C,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;CAGpD"}
@@ -6,4 +6,5 @@ export type OscillatorType = 'sine' | 'square' | 'sawtooth' | 'triangle' | 'cust
6
6
  export interface PeriodicWaveConstraints {
7
7
  disableNormalization: boolean;
8
8
  }
9
+ export type WindowType = 'blackman' | 'hann';
9
10
  //# sourceMappingURL=types.d.ts.map