# AudioAnalyser

This class can be used to analyse audio data.

## 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();

## Constructor

### new AudioAnalyser ( audio : Audio, fftSize : number )

Constructs a new audio analyzer.

audio | The audio to analyze.
fftSize | The window size in samples that is used when performing a Fast Fourier Transform (FFT) to get frequency domain data. Default is `2048`.

## Properties

### .analyser : AnalyserNode

The global audio listener.

### .data : Uint8Array

Holds the analyzed data.

## Methods

### .getAverageFrequency () : number

Returns the average of the frequencies returned by AudioAnalyser#getFrequencyData.

Returns: The average frequency.

### .getFrequencyData () : Uint8Array

Returns an array with frequency data of the audio.

Each item in the array represents the decibel value for a specific frequency. The frequencies are spread linearly from 0 to 1/2 of the sample rate. For example, for 48000 sample rate, the last item of the array will represent the decibel value for 24000 Hz.

Returns: The frequency data.

## Source

src/audio/AudioAnalyser.js