sux

A wrapper around sox


Keywords
sox, audio, sound
License
MIT
Install
npm install sux@0.1.5

Documentation

sux

A wrapper around SoX

What is SoX?

SoX is the Swiss Army knife of sound processing programs.

And what is sux?

sux is a NodeJS wrapper around SoX with support for streams

Installation

npm i sux

Usage

var Sux = require('sux'),
	fs  = require('fs'),
	sux = new Sux({
		// ouput bitdepth
		depth:16,
		// output samplerate
		rate: 44100,
		// amount of output channels
		channels: 2,
		// output file type
		type:'wav',
		// output needs to be a file path or a stream
		output:fs.createWriteStream('./out.wav'),
		// input file (a file has higher priority then a stream)
		// input: './test.mp3',
		// if using a input stream define here what file type is streamed in
		input: {
			// input source, can be a file or a stream
			source: fs.createReadStream('./in.wav'),
			// input type
			type:'wav',
			// amount of input channels
			channels:1,
			// sample rate
			rate:22050
		}
	});
// starts SoX with given options
sux.start();

API

Sux

.soxPath

path to sox. default: Windows: suxDir + '/win_libs/sox.exe' Other: 'sox'

.argMap

arguments map, translates 'type' to '-t' etc.

new Sux(opt)

Sux constructor

opt = {  
	type: file type f.x. "mp3"
	rate:samplerate  
	channels:amount of channels  
	depth: bitdepth  
	int: signedness (needs to be "signed" or "unsigned", for RAW),  
	bitrate: bitrate (for MP3's)  
	output: filename, '-' or stream
	input: {  
		type: file type f.x. "mp3"  
		rate:samplerate  
		channels:amount of channels  
		depth: bitdepth  
		int: signedness (needs to be "signed" or "unsigned", for RAW),  
		bitrate: bitrate (for MP3's)  
		source:filename, '-' or stream  
	},filename or '-'
}  

.start()

starts the sox process and opens the streams (if there are any)

.out()

sox output stream

.in()

sox input stream

.err()

sox error stream

.soxPath

path to sox

Events

error

emits when sox outputs an error

warning

emits when sox outputs a warning