baudio

generate audio streams with functions

  • 所有者: substack/baudio
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

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(t * 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

主要指标

概览
名称与所有者substack/baudio
主编程语言JavaScript
编程语言JavaScript (语言数: 1)
平台
许可证Other
所有者活动
创建于2012-08-16 10:07:45
推送于2020-03-28 05:20:51
最后一次提交2020-03-27 19:20:30
发布数20
最新版本名称2.1.4 (发布于 2020-03-27 19:20:30)
第一版名称0.0.0 (发布于 2012-08-16 04:22:29)
用户参与
星数551
关注者数23
派生数52
提交数68
已启用问题?
问题数19
打开的问题数8
拉请求数0
打开的拉请求数6
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?