Skip to content

audiojs/aac-decode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aac-decode

Decode AAC/M4A audio to PCM float samples. FAAD2 compiled to WASM — works in Node.js and browsers, no native dependencies.

Install

npm i @audio/aac-decode

Usage

import decode from '@audio/aac-decode'

// M4A or raw ADTS — auto-detected
let { channelData, sampleRate } = await decode(uint8array)
// channelData: Float32Array[] (one per channel)
// sampleRate: number

Streaming

import { decoder } from '@audio/aac-decode'

let dec = await decoder()
let { channelData, sampleRate } = dec.decode(chunk)
dec.free()

API

decode(src: Uint8Array | ArrayBuffer): Promise<AudioData>

Whole-file decode. Auto-detects M4A (MP4 container) vs raw ADTS.

decoder(): Promise<AACDecoder>

Creates a decoder instance for manual control.

  • dec.decode(data) — decode chunk, returns { channelData, sampleRate }
  • dec.flush() — flush remaining (returns empty for AAC)
  • dec.free() — release WASM memory

AudioData

{ channelData: Float32Array[], sampleRate: number }

Formats

  • M4A / MP4 with AAC audio
  • Raw ADTS streams (.aac)
  • LC, HE-AAC v1/v2 (SBR, PS)

License

GPL-2.0 (FAAD2) — krishnized

About

M4A/AAC WASM decoder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors