Skip to main content

AudioAnalyser

Create a AudioAnalyser object, which uses an AnalyserNode to analyse audio data.

This uses the Web Audio API.

Code Example

// create an AudioListener and add it to the camera const listener = new
THREE.AudioListener(); camera.add( listener ); // create an Audio source const
sound = new THREE.Audio( listener ); // load a sound and set it as the Audio
object's buffer const audioLoader = new THREE.AudioLoader(); audioLoader.load(
'sounds/ambient.ogg', function( buffer ) { sound.setBuffer( buffer );
sound.setLoop(true); sound.setVolume(0.5); sound.play(); }); // create an
AudioAnalyser, passing in the sound and desired fftSize const analyser = new
THREE.AudioAnalyser( sound, 32 ); // get the average frequency of the sound
const data = analyser.getAverageFrequency();

Examples

[example:webaudio_sandbox webaudio / sandbox ]
[example:webaudio_visualizer webaudio / visualizer ]

Constructor

AudioAnalyser

function AudioAnalyser( ): void;  

Create a new AudioAnalyser.

Properties

analyser

analyser: AnalyserNode;  

An AnalyserNode used to analyze audio.

fftSize

fftSize: Integer;  

A non-zero power of two up to 2048, representing the size of the FFT (Fast Fourier Transform) to be used to determine the frequency domain. See this page for details.

data

data: Uint8Array;  

A Uint8Array with size determined by analyser.frequencyBinCount used to hold analysis data.

Methods

getFrequencyData

function getFrequencyData( ): Uint8Array;  

Uses the Web Audio's getByteFrequencyData method. See that page.

getAverageFrequency

function getAverageFrequency( ): Number;  

Get the average of the frequencies returned by the getFrequencyData method.

Source

src/audio/AudioAnalyser.js