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.