generate audio streams with functions
the science and mathematics of music
making algorithmic music with baudio
var baudio = require('baudio');
var n = 0;
var b = baudio(function (t) {
var x = Math.sin(t * 262 + Math.sin(n));
n += Math.sin(t);
return x;
});
b.play();
var baudio = require('baudio')
Return a readable stream of raw audio data based on the channel functions
provided. Passing fn
is a short-hand for b.push(fn)
.
The opts.rate
is the rate of the output stream in Hz, default 44000.
Push a new track onto the channel at index ix
with the function fn(t, i)
for
the time in seconds t
and a counter i
.
Push a new audio channel of type
, optionally initializing the channel with a
function fn(t, i)
.
type
defaults to 'float'
which expects inputs in the range [-1,1]
and
clips higher and lower values.
type
can also be a power of 2 number of bits to use for each sample which
expects an integer output value in [0,Math.pow(2,type)-1]
.
Play the audio demo with the play command.
You can also call b.pipe()
to handle the output stream yourself.
opts
are passed directly through to sox.
Save the audio stream to file
using the
sox command.
You can also call b.pipe()
to handle the output stream yourself.
opts
are passed directly through to sox.
With npm do:
npm install baudio
MIT