1.0.0 • Published 1 month ago

@silyze/async-audio-format-pcm v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

Async Audio Format PCM

Raw PCM audio format (pcm16le) for @silyze/async-audio-stream.
Zero processing, zero latency — ideal for pipelines that already work with 16-bit little-endian PCM.


Install

npm install @silyze/async-audio-format-pcm

Usage

import PcmFormat from "@silyze/async-audio-format-pcm";

// Use for raw PCM audio at 16 kHz:
const format = new PcmFormat(16000);

console.log(format.name); // "pcm16le"
console.log(format.pcmSampleRate); // 16000

Both encode() and decode() are pass-throughs. No conversion is applied.


API

class PcmFormat extends AudioFormat {
  constructor(sampleRate: number);

  readonly name: string; // "pcm16le"
  readonly pcmSampleRate: number;

  encode(input: AsyncReadStream<Buffer>): AsyncReadStream<Buffer>;
  decode(input: AsyncReadStream<Buffer>): AsyncReadStream<Buffer>;
}

Format Details

  • Encoding: 16-bit signed little-endian PCM
  • Channels: Mono (1 channel)
  • Sample Rate: User-defined at instantiation
  • Streaming: Fully async (via @mojsoski/async-stream)