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

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i andante

      Weekly Downloads

      3

      Version

      0.1.0

      License

      MIT

      Last publish

      Collaborators

      • danigb