waveformer

Calculates peaks of audio without drawing it to canvas or creating audio

Usage no npm install needed!

<script type="module">
  import waveformer from 'https://cdn.skypack.dev/waveformer';
</script>

README

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! 😝