Waveform Samples Generator
This is a thin wrapper around audiowaveform to parse audio files and generate sample data.
If you want more features or generate them on your own, just use the original audiowaveform and waveform-data.js.
Installation
- REQUIRED: Follow this guide to install audiowaveform binary into your system.
- Install this module:
npm install @lodestream/waveform-samples-generator
- Use it like this:
const { parseFile } = require("@lodestream/waveform-samples-generator");
const start = async () => {
const samples = await parseFile({
// filePath: "./audio.mp3",
url: "https://cdn.jsdelivr.net/gh/lodestreams/waveform-samples-generator@2254b8235c0cd82a482fb2bf7b7404c8fb0df560/docs/test.mp3"
sampleRate: 10
});
// See /src/@types/waveform-data/index.d.ts for detailed schema of `samples`
console.log(JSON.stringify(samples.max));
};
start();
If your want to draw waveforms out of it, use samples.max
, it's an array of points.
Play with this repo
Print out samples (array):
ts-node --files src/scripts/parser.manual.ts
# [2,2,2,3,2,2,3,2,3,2,3,3,3,5,4,4,4,2,...
Play the waveform! Watch it dancing!
ts-node --files src/scripts/player.manual.ts