Waveformer
Calculates peaks of audio without drawing it to canvas or creating audio.
How it works
Based on Article from CSS Tricks
Installation
$ npm i waveformer
Usage
Only works in environment where AudioContext
and fetch
are defined, but you can provide your own through options (not tested in node.js, please use node-waveform or waveform-node)
import waveformer from 'waveformer'
const points = await waveformer(100, 'https://api.allorigins.win/raw?url=https://www.myinstants.com/media/sounds/epic.mp3')
options object:
waveformer(peaksNumber<Number>, url<String>, options<Object>)
options = {
audioContext: AudioContext class,
fetch: fetch async function,
audioChannel: Number, // channel from which we should get data, default: 0
}
Glory to micro-packages (687 bytes minified)!
P.S: To person who published package at this name but then unpublished it. Blame yourself only, haha!