Novelty Palliates Malaise

    baudio

    2.1.4 • Public • Published

    baudio

    generate audio streams with functions

    oscilloscope

    videos

    the science and mathematics of music

    making algorithmic music with baudio

    example

    var baudio = require('baudio');
     
    var n = 0;
    var b = baudio(function (t) {
        var x = Math.sin(* 262 + Math.sin(n));
        n += Math.sin(t);
        return x;
    });
    b.play();

    methods

    var baudio = require('baudio')

    var b = baudio(opts={}, fn)

    Return a readable stream of raw audio data based on the function fn(t,i).

    fn(t,i) is given the time in seconds t and the step counter i. fn(t,i) should return an amplitude value between -1 and 1, inclusive. Values outside that range will be clipped.

    The opts.rate is the rate of the output stream in Hz, default 44000.

    b.play(opts)

    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.

    b.record(file, opts)

    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.

    usage

    usage: baudio FILE {-o OUTFILE} OPTIONS
    
      Play a javascript music FILE. FILE should export a method signature of:
    
        return function (t) {
            return Math.sin(2 * Math.PI * t * 441);
        };
      
      where the return value is between -1 and 1, inclusive. Values outside of the
      domain -1 through 1 will be clipped.
      
      If -o is given, output will be written to OUTFILE instead. OUTFILE can be any
      media file that sox supports for output: .mp3, .wav, .ogg, whatever.
      
      You can also use "-" for -o to write to stdout.
    
      Extra OPTIONS include:
    
        -d, --duration   How long the song should play as a human-parseable string.
    
        -t, --offset     Jump to this time offset as a human-parseable string.
    
        -f, --fade       Length of a trailing fade as a human-parseable string.
     
        -r, --rate       Bitrate to use. Default: 44k.
     
      Example usage:
    
        Play a song:
    
          baudio beepboop.js
    
        Play a song for 30 seconds:
    
          baudio beepboop.js -d 30s
    
        Record 3 minutes of audio to beepboop.mp3 starting at 20 seconds:
    
          baudio beepboop.js -d 3m -t 20s -o beepboop.mp3
    
    

    install

    With npm, to get the library do:

    npm install baudio
    

    and to get the command, do:

    npm install -g baudio
    

    license

    MIT

    Install

    npm i baudio

    DownloadsWeekly Downloads

    166

    Version

    2.1.4

    License

    MIT

    Unpacked Size

    12 kB

    Total Files

    9

    Last publish

    Collaborators

    • substack