LiveApi / analyser.ts
mgokg's picture
Upload analyser.ts
06df230 verified
raw
history blame contribute delete
623 Bytes
/**
* @license
* SPDX-License-Identifier: Apache-2.0
*/
/**
* Analyser class for live audio visualisation.
*/
export class Analyser {
private analyser: AnalyserNode;
private bufferLength = 0;
private dataArray: Uint8Array;
constructor(node: AudioNode) {
this.analyser = node.context.createAnalyser();
this.analyser.fftSize = 32;
this.bufferLength = this.analyser.frequencyBinCount;
this.dataArray = new Uint8Array(this.bufferLength);
node.connect(this.analyser);
}
update() {
this.analyser.getByteFrequencyData(this.dataArray);
}
get data() {
return this.dataArray;
}
}