UNPKG

x-law

Version:

A-Law and mu-Law codecs for JavaScript/TypeScript

42 lines (37 loc) 1.33 kB
/** * @module x-law/utils * Utility functions for common audio processing tasks. */ type BitDepth = 8 | 16 | 24 | 32 | 48; type Channels = 1 | 2; /** * A-Law codec for audio processing. */ declare namespace alaw { function decodeSample(sample: number): number; function encodeSample(sample: number): number; function decode(samples: Buffer): Int16Array; function encode(samples: Int16Array): Uint8Array; function encodeBuffer(buffer: Buffer): Buffer; function decodeBuffer(buffer: Buffer): Buffer; } /** * μ-Law codec for audio processing. */ declare namespace mulaw { function decodeSample(sample: number): number; function encodeSample(sample: number): number; function decode(samples: Uint8Array): Int16Array; function encode(samples: Int16Array): Uint8Array; function encodeBuffer(buffer: Buffer): Buffer; function decodeBuffer(buffer: Buffer): Buffer; } /** * Utility functions for common audio processing tasks. */ declare namespace utils { function calculateLoudness(buffer: Buffer, bitDepth: BitDepth): number; function createWavHeader(dataSize: number, sampleRate: number, channels: Channels, bitDepth: BitDepth): Buffer; function resample(samples: number[], inputSampleRate: number, targetSampleRate: number, bitDepth: BitDepth): number[]; } export { alaw, mulaw, utils };