JavaScript AC-3 (ATSC A/52) decoder for the Aurora.js audio framework.
yarn add ac3.js
import {AC3SimpleDecoder} from 'ac3.js';
import fs from 'fs';
// This example loads an AC-3 audio file and writes the PCM data to file.
// The output file is in PCM signed 16-bit interleaved format.
// Initialize input and output stream
const inputStream = fs.createReadStream('example.ac3');
const outputStream = fs.createWriteStream('example.pcm');
// Initialize simple decoder
const simpleDecoder = new AC3SimpleDecoder(inputStream);
// Write PCM data to output stream (data is an Uint8Array)
simpleDecoder.on('data', (data) => {
outputStream.write(data);
});
import {AC3Decoder, AC3Demuxer} from 'ac3.js';
import AV from 'av';
// This example loads an AC-3 audio file and plays it.
// - In Node.js this should play the audio using the speaker module.
// - In the browser this should play the audio using the Web Audio API.
// Register demuxer and decoder
AV.Demuxer.register(AC3Demuxer);
AV.Decoder.register('ac3', AC3Decoder);
// Initialize player
const player = AV.Player.fromURL('https://example.org/example.ac3');
player.on('format', (format) => console.log('format', format));
player.on('duration', (duration) => console.log('duration', duration));
player.on('progress', (progress) => console.log('progress', progress));
player.on('ready', () => console.log('ready'));
player.on('end', () => console.log('end'));
player.on('error', (error) => console.error(error));
// Start the player
player.play();
For detailed information on how to use Aurora.js, check out the documentation.
AC3.js is available under the terms of the MIT license.
-
syncframe
-
syncinfo
-
bsi
-
audblk
-
auxdata
-
errorcheck
-
- Input Bit Stream
- Synchronization
- Error Detection
- Unpack BSI
- Unpack Side Information
- Decode Exponents
- Bit Allocation
- Process Mantissas
- Decoupling
- Rematrixing
- Inverse Transform
- Window, Overlap/Add
- Downmixing
- PCM Output Buffer
- Output PCM
- Support all downmixing modes
- Support Enhanced AC-3 (E-AC-3)
- Error detection
- Unit tests