You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

audio-buffer

Package Overview
Dependencies
0
Maintainers
5
Versions
34
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

audio-buffer

AudioBuffer class for node/browser


Version published
Maintainers
5
Created

Package description

What is audio-buffer?

The audio-buffer npm package provides a simple and efficient way to handle audio data in the form of buffers. It allows you to create, manipulate, and process audio buffers, which are essential for various audio processing tasks such as audio synthesis, effects, and analysis.

What are audio-buffer's main functionalities?

Creating an Audio Buffer

This feature allows you to create a new audio buffer with a specified number of channels and samples per channel. In this example, a stereo buffer with 44100 samples per channel is created.

const AudioBuffer = require('audio-buffer');
const buffer = new AudioBuffer(2, 44100); // 2 channels, 44100 samples per channel

Filling an Audio Buffer with Data

This feature allows you to fill an audio buffer with data. In this example, each channel of the buffer is filled with a sine wave.

const AudioBuffer = require('audio-buffer');
const buffer = new AudioBuffer(2, 44100);
for (let channel = 0; channel < buffer.numberOfChannels; channel++) {
  const data = buffer.getChannelData(channel);
  for (let i = 0; i < data.length; i++) {
    data[i] = Math.sin(2 * Math.PI * i / 44100); // Example: filling with a sine wave
  }
}

Copying Audio Buffer Data

This feature allows you to copy data from one audio buffer to another. In this example, data from buffer1 is copied to buffer2.

const AudioBuffer = require('audio-buffer');
const buffer1 = new AudioBuffer(2, 44100);
const buffer2 = new AudioBuffer(2, 44100);
buffer2.copyToChannel(buffer1.getChannelData(0), 0);
buffer2.copyToChannel(buffer1.getChannelData(1), 1);

Resampling an Audio Buffer

This feature allows you to resample an audio buffer to a different sample rate. In this example, the buffer is resampled from 44100 samples per channel to 22050 samples per channel.

const AudioBuffer = require('audio-buffer');
const resample = require('audio-buffer-resample');
const buffer = new AudioBuffer(2, 44100);
const resampledBuffer = resample(buffer, 22050); // Resample to 22050 samples per channel

Other packages similar to audio-buffer

Readme

Source

audio-buffer test stable

AudioBuffer - basic audio data container class. Useful instead of Buffer in audio streams, @audiojs components, in webworkers, nodejs, other environments without audio context.

Implementation is compatible with Web Audio API AudioBuffer, can be used as ponyfill.

Usage

npm install audio-buffer

new AudioBuffer(options)

Create audio buffer from options.

  • options.length — number of samples, minimum is 1.
  • options.sampleRate — default sample rate is 44100.
  • options.numberOfChannels — default number of channels is 1.

buffer.duration

Duration of the underlying audio data, in seconds.

buffer.length

Number of samples per channel.

buffer.sampleRate

Default sample rate is 44100.

buffer.numberOfChannels

Default number of channels is 1.

buffer.getChannelData(channel)

Get array containing the data for the channel (not copied).

buffer.copyFromChannel(destination, channelNumber, startInChannel=0)

Place data from channel to destination Float32Array.

buffer.copyToChannel(source, channelNumber, startInChannel=0)

Place data from source Float32Array to the channel.

Similar

  • ndsamples — audio-wrapper for ndarrays. A somewhat alternative approach to wrap audio data, based on ndarrays, used by some modules in livejs.
  • 1, 2, 3, 4 — other AudioBuffer implementations.
  • audiodata alternative data holder from @mohayonao.

🕉

Keywords

FAQs

Package last updated on 28 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc