Skip to content

getWaveformPeaks

getWaveformPeaks(audioBuffer, options?): object

Defined in: packages/pleco-xa/src/scripts/analysis/WaveformData.ts:64

Extracts waveform peaks suitable for visualization

any

Web Audio API AudioBuffer

Extraction options

object

Waveform data for visualization

data: Float32Array<any>

duration: any = audioBuffer.duration

length: any = data.length

metadata: object

method: string = opts.type

originalLength: any = channelData.length

samplesPerPeak: number

peaks: Float32Array<any>

sampleRate: any = audioBuffer.sampleRate

import { getWaveformPeaks } from './analysis/WaveformData.ts';
const peaks = getWaveformPeaks(audioBuffer, {
width: 1000,
type: 'peaks',
normalize: true
});
// Use with canvas
const canvas = document.getElementById('waveform');
const ctx = canvas.getContext('2d');
peaks.data.forEach((peak, i) => {
const x = (i / peaks.length) * canvas.width;
const y = canvas.height / 2;
const height = peak * canvas.height / 2;
ctx.fillRect(x, y - height, 1, height * 2);
});