andante

0.1.0 • Public • Published

andante

This is work in progress. Do not use ... yet

Yet another music scheduler. Given an array of events with value, position and duration (both in seconds), schedule the events to play:

var ctx = new AudioContext();
var andante = require('andante')(ctx);
 
var events = "c d e f g".split(' ').map(function(note, index) {
  return { value: note, position: index * 0.5, duration: 0.5 };
});
andante.schedule(events, function(event, position, duration) {
  // play instrument
});

This is the scheduler of ScoreJS and works easy with soundfont-player)

var ctx = new AudioContext();
var Score = require('scorejs');
var andante = require('andante')(ctx);
var soundfont = require('soundfont-player')(ctx);
 
var melody = Score('a b c d | e f g a4');
var reverse = melody.reverse().transpose('M3');
var score = Score.merge(melody, reverse).repeat(5).toTempo(90);
 
var piano = soundfont.instruent('acoustic_grand_piano');
 
andante.schedule(score, function(event, position, duration){
  piano.play(event.value, position, duration);
}

Running the example

Clone this repo, start a server:

npm i -g http-server
http-server

And visit http://localhost:8080/example

License

MIT License

/andante/

    Package Sidebar

    Install

    npm i andante

    Weekly Downloads

    3

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • danigb