# reversebuffer

> Give a reversed Audio Buffer from a forward playing buffer

Latest version **3.0.1** (published 2015-06-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install reversebuffer
pnpm add reversebuffer
yarn add reversebuffer
bun add reversebuffer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.1 |
| Published | 2015-06-02 |
| First published | 2015-05-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Yap Hong Kheng |
| Maintainers | hongkheng, notthetup |
| Keywords | webaudio, reverse, playback, mp3, audio, audiobuffer |

## Links

- npm: https://www.npmjs.com/package/reversebuffer
- Repository: https://github.com/Sonoport/reversebuffer
- Homepage: https://github.com/Sonoport/reversebuffer#readme
- Issues: https://github.com/Sonoport/reversebuffer/issues
- npm.io page: https://npm.io/package/reversebuffer

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads
- [datasets-fi-postalcodes](https://npm.io/package/datasets-fi-postalcodes.md) — 1.1K weekly downloads

## Recent versions

- 3.0.1 (latest) — 2015-06-02
- 3.0.0 — 2015-05-29
- 2.0.0 — 2015-05-23

## README

# reversebuffer

Returns a reverse buffer of [AudioBuffer](http://webaudio.github.io/web-audio-api/#the-audiobuffer-interface) from an original AudioBuffer.

A reverse buffer mimics a "backward" playback of an audio source when it is being played forward normally.

This tiny library uses Web Audio API.

## Usage:

```
var reversebuffer = require("reversebuffer");

var audioContext = new AudioContext();

// Make an AudioBuffer or get decode it from a file.
var bufferSource = audioContext.createBuffer();

// In turn returns a reversed AudioBuffer
var revBuffer = reversebuffer({
	buffer: bufferSource,
	context: audioContext
});

```

### Use with [WebAudioLoader](https://github.com/Sonoport/webaudioloader)

[WebAudioLoader](https://github.com/Sonoport/webaudioloader) deals with loading an audiofile over an url or FileObject and returns an AudioBuffer.

```
var WebAudioLoader = require("webaudioloader");
var reversebuffer = require("reversebuffer");

var audioContext = new AudioContext();

var originalBuffer = null;

var wal = new WebAudioLoader({
	context: audioContext,
	cache: true,
	onprogress: function (evt){
		console.log("loading soundfiles", evt);
	}
});

// Load a dummy audiofile

wal.load("http://yourdomain.com/youraudiofilename.mp3", {
	onload: function(err, buffer){
		if(!err){
			originalBuffer = buffer;
		}
	}
});

var reverseBuffer = reversebuffer({
	buffer: originalBuffer,
	context: audioContext
});

```

## Install

1. npm

	``` npm install --save-dev reversebuffer```

2. Using browserify

	```var reversebuffer = require("reversebuffer");```

3. Standalone (global object, AMD) [builds are here](https://github.com/Sonoport/reversebuffer/tree/master/dist)

## API

```var revBuffer = reversebuffer(options);```

* option object have this arguments
	- `buffer`: AudioBuffer - buffer source to be reversed
	- `context`: AudioContext - an AudioContext to use for decoding the audio
* returns an AudioBuffer which is reversed.

```var revBuffer = reversebuffer(audioBuffer);```

* `buffer`: AudioBuffer - buffer source to be reversed
* returns an AudioBuffer which is reversed.

## License

MIT

---
_Source: https://npm.io/package/reversebuffer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
