# mattdiamond/recorderjs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mattdiamond-recorderjs).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,237 stars · 1,453 forks · JavaScript

## Links

- GitHub: https://github.com/mattdiamond/Recorderjs
- awesome-repositories: https://awesome-repositories.com/repository/mattdiamond-recorderjs.md

## Description

Recorderjs is a Web Audio API recording library and buffer capture tool used for capturing real-time audio output from processing nodes. It functions as a client-side audio capture utility that records sound directly within a web browser.

The project provides a WAV file exporter that converts captured audio buffers into downloadable binary large objects. This allows audio data to be saved as standard Waveform Audio File Format files for local storage or playback.

The library manages audio streams using floating-point arrays to maintain data fidelity and supports the export of raw stereo buffers. It handles the interleaving of multi-channel audio samples and the generation of structured binary headers required for WAV files.

## Tags

### Graphics & Multimedia

- [Client-Side Audio Recording](https://awesome-repositories.com/f/graphics-multimedia/client-side-audio-recording.md) — Provides a complete utility for recording sound directly within the web browser for local use.
- [Raw Audio Captures](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-capture-and-playback/raw-audio-captures.md) — Records real-time audio streams into raw PCM buffers for manual processing and playback.
- [Web Audio Node Captures](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-capture-and-playback/raw-audio-captures/web-audio-node-captures.md) — Integrates with the Web Audio API to record output from specific processing nodes into memory. ([source](https://github.com/mattdiamond/recorderjs#readme))
- [WAV Containerization](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/raw-audio-streamers/pcm-audio-parsers/pcm-serialization/wav-containerization.md) — Wraps raw PCM audio data into the WAV container format by generating the required binary headers.
- [Floating-Point Processing](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/floating-point-processing.md) — Uses floating-point numbers to represent audio data, ensuring high fidelity during the capture process.
- [Web Audio Libraries](https://awesome-repositories.com/f/graphics-multimedia/audio-music/web-audio-libraries.md) — Provides a library for capturing and exporting audio output from Web Audio API nodes.
- [Audio Recording](https://awesome-repositories.com/f/graphics-multimedia/audio-recording.md) — Captures real-time audio streams from processing nodes and saves them as standard audio files. ([source](https://github.com/mattdiamond/recorderjs#readme))
- [WAV File Converters](https://awesome-repositories.com/f/graphics-multimedia/wav-file-converters.md) — Converts captured audio buffers into standard WAV format blobs for playback and storage. ([source](https://github.com/mattdiamond/recorderjs#readme))

### Development Tools & Productivity

- [Audio Node Capture Buffers](https://awesome-repositories.com/f/development-tools-productivity/text-buffer-manipulations/buffer-based-storage/input-state-buffers/stream-capture-buffers/audio-node-capture-buffers.md) — Implements mechanisms to redirect Web Audio API node output into custom buffers for real-time recording.

### Operating Systems & Systems Programming

- [Audio Buffers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/buffer-and-cache-management/binary-buffer-managers/trace-buffer-managers/audio-buffers.md) — Manages captured audio streams as floating-point arrays in memory for custom processing and playback.

### Part of an Awesome List

- [Web Audio Buffer Exporters](https://awesome-repositories.com/f/awesome-lists/devtools/audio-file-handling/audio-exporters/web-audio-buffer-exporters.md) — Exports recorded audio as floating-point arrays compatible with Web Audio API AudioBuffers. ([source](https://github.com/mattdiamond/recorderjs#readme))

### User Interface & Experience

- [Browser-Based File Exports](https://awesome-repositories.com/f/user-interface-experience/browser-based-file-exports.md) — Provides the ability to generate and download recorded audio files directly from the browser using Blobs.
