Create a AudioAnalyser object, which uses an AnalyserNode to analyse audio data.
This uses the Web Audio API.
// create an AudioListener and add it to the camera
const listener = new v3d.AudioListener();
camera.add(listener);
// create an Audio source
const sound = new v3d.Audio(listener);
// load a sound and set it as the Audio object's buffer
const audioLoader = new v3d.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 v3d.AudioAnalyser(sound, 32);
// get the average frequency of the sound
const data = analyser.getAverageFrequency();
Create a new AudioAnalyser.
An AnalyserNode used to analyze audio.
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.
A Uint8Array with size determined by analyser.frequencyBinCount used to hold analysis data.
Uses the Web Audio's getByteFrequencyData method.
Get the average of the frequencies returned by the getFrequencyData method.
For more info on how to obtain the source code of this module see this page.