| sidebar_position | 1 |
|---|
import AudioNodePropsTable from "@site/src/components/AudioNodePropsTable" import { Optional, ReadOnly } from '@site/src/components/Badges';
The AnalyserNode interface represents a node providing two core functionalities: extracting time-domain data and frequency-domain data from audio signals.
It is an AudioNode that passes the audio data unchanged from input to output, but allows to take passed data and process it.
A time-domain graph illustrates how a signal evolves over time, displaying changes in amplitude or intensity as time progresses. In contrast, a frequency-domain graph reveals how the signal's energy or power is distributed across different frequency bands, highlighting the presence and strength of various frequency components over a specified range.
constructor(context: BaseAudioContext, options?: AnalyserOptions)Inherits all properties from AudioNodeOptions
| Parameter | Type | Default | |
|---|---|---|---|
fftSize |
number |
2048 | Number representing size of fast fourier transform |
minDecibels |
number |
-100 | Initial minimum power in dB for FFT analysis |
maxDecibels |
number |
-30 | Initial maximum power in dB for FFT analysis |
smoothingTimeConstant |
number |
0.8 | Initial smoothing constant for the FFT analysis |
Or by using BaseAudioContext factory method:
BaseAudioContext.createAnalyser() that creates node with default values.
It inherits all properties from AudioNode.
| Name | Type | Description | |
|---|---|---|---|
fftSize |
number |
Integer value representing size of Fast Fourier Transform used to determine frequency domain. In general it is size of returning time-domain data. | |
minDecibels |
number |
Float value representing the minimum value for the range of results from getByteFrequencyData(). |
|
maxDecibels |
number |
Float value representing the maximum value for the range of results from getByteFrequencyData(). |
|
smoothingTimeConstant |
number |
Float value representing averaging constant with the last analysis frame. In general the higher value the smoother is the transition between values over time. | |
window |
WindowType |
Enumerated value that specifies the type of window function applied when extracting frequency data. | |
frequencyBinCount |
number |
Integer value representing amount of the data obtained in frequency domain, half of the fftSize property. |
:::caution
On Web, the value of window is permanently 'blackman', and it cannot be set like on the Android or iOS.
:::
It inherits all methods from AudioNode.
Copies current frequency data into given array. Each value in the array represents the decibel value for a specific frequency.
| Parameter | Type | Description |
|---|---|---|
array |
Float32Array |
The array to which frequency data will be copied. |
Copies current frequency data into given array. Each value in the array is within the range 0 to 255.
| Parameter | Type | Description |
|---|---|---|
array |
Uint8Array |
The array to which frequency data will be copied. |
Copies current time-domain data into given array. Each value in the array is the magnitude of the signal at a particular time.
| Parameter | Type | Description |
|---|---|---|
array |
Float32Array |
The array to which time-domain data will be copied. |
Copies current time-domain data into given array. Each value in the array is within the range 0 to 255, where value of 127 indicates silence.
| Parameter | Type | Description |
|---|---|---|
array |
Uint8Array |
The array to which time-domain data will be copied. |
- Must be a power of 2 between 32 and 32768.
- Throws
IndexSizeErrorif set value is not power of 2, or is outside the allowed range.
- 0 dB(decibel) is the loudest possible sound, -10 dB is a 10th of that.
- When getting data from
getByteFrequencyData(), any frequency with amplitude lower thenminDecibelswill be returned as 0. - Throws
IndexSizeErrorif set value is greater than or equal tomaxDecibels.
- 0 dB(decibel) is the loudest possible sound, -10 dB is a 10th of that.
- When getting data from
getByteFrequencyData(), any frequency with amplitude higher thenmaxDecibelswill be returned as 255. - Throws
IndexSizeErrorif set value is less then or equal tominDecibels.
- Nominal range is 0 to 1.
- 0 means no averaging, 1 means "overlap the previous and current buffer quite a lot while computing the value".
- Throws
IndexSizeErrorif set value is outside the allowed range.
- Default value is
'blackman'
