UNPKG

@pompeii-labs/audio

Version:
45 lines (34 loc) 1.92 kB
import { P as PCMData, A as AudioFormat$1 } from './index-o4B-ThOL.js'; export { a as AudioEncoding } from './index-o4B-ThOL.js'; /** * Decodes a WAV audio file from raw bytes into PCM (Pulse-Code Modulation) data. * WAV files consist of a header followed by chunks of data. The main chunks are: * - 'RIFF' chunk: Contains the file identifier and size * - 'fmt ' chunk: Contains format information (sample rate, channels, etc.) * - 'data' chunk: Contains the actual audio samples * * @param bytes - Raw bytes of the WAV file as a Uint8Array * @returns PCMData object containing decoded audio data, or null if the file is not a valid WAV */ declare function decodeWAV(bytes: Uint8Array): PCMData | null; interface PCMFormat { bitDepth: 8 | 16 | 24 | 32; signed: boolean; littleEndian: boolean; float: boolean; } declare function mulawToPcm16(mulawData: Buffer): Int16Array; declare function pcm16ToMulaw(pcmData: Int16Array): Uint8Array; declare function bufferToInt16Array(buffer: Buffer): Int16Array; declare function encodePcm(audio: Int16Array, encoding: AudioFormat$1['encoding']): Buffer; declare function decodeToPcm(audio: Buffer, encoding: AudioFormat$1['encoding']): Int16Array; interface AudioFormat { format: string; mimeType: string; description: string; } declare function identifyAudioFormat(bytes: Uint8Array): AudioFormat | null; declare function generateFadeOutSamples(lastSampleValue: number, fadeDurationMs: number, sampleRate: number): Uint8Array; declare function int16ArrayToBuffer(int16Array: Int16Array): Buffer; declare function resamplePcm(pcm: Int16Array, originalSampleRate: number, targetSampleRate: number): Int16Array; export { AudioFormat$1 as AudioFormat, PCMData, type PCMFormat, bufferToInt16Array, decodeToPcm, decodeWAV, encodePcm, generateFadeOutSamples, identifyAudioFormat, int16ArrayToBuffer, mulawToPcm16, pcm16ToMulaw, resamplePcm };