wp

webaudio-peaks

Small library to extract peaks from either a TypedArray of audio samples or a webaudio AudioBuffer into an Int8Array, Int16Array, or Int32Array.

Showing:

Popularity

Downloads/wk

107

GitHub Stars

34

Maintenance

Last Commit

2mos ago

Contributors

1

Package

Dependencies

0

License

MIT

Type Definitions

Built-In

Tree-Shakeable

No?

Categories

Readme

webaudio-peaks

Small library to extract peaks from an array of audio samples or a webaudio AudioBuffer.

npm

Installation

npm install webaudio-peaks --save

Basic Usage

var extractPeaks = require("webaudio-peaks");

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
//decode an ArrayBuffer into an AudioBuffer
audioCtx.decodeAudioData(audioData, function (decodedData) {
  //calculate peaks from an AudioBuffer
  var peaks = extractPeaks(decodedData, 10000, true);
});

extractPeaks(source, samplesPerPixel, isMono, cueIn, cueOut, bits)

function to extract peaks from a TypedArray, or AudioBuffer

Params

  • source TypedArray|AudioBuffer - A source of audio samples.
  • samplesPerPixel number - Number of samples used to calculate a single peak.
  • isMono boolean - Combine all channels into one array of peaks or not.
  • cueIn number - Sample to begin at. The offset is inclusive.
  • cueOut number - Sample to end at. The offset is exclusive.
  • bits (8|16|32) - Resolution of calculated peaks.

Returns: object

{
  length: `number`; //Number of calculated peaks,
  //Computed peak data, length ==  #channels or 1 if isMono == true
  //Each entry of type `Int{bits}Array`
  data: `Array`;
  bits: `(8|16|32)`; //Resolution of calculated peaks.
}

License

MIT License

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial