Javascript music

De musiki

JavaScript Music

Flocking

TinyRave

TinyRave es una plataforma que permite la interacción de código JavaScript y su ejecución sonora en el browser. Utiliza una de las dos funciones (buildSampler or buildTrack) para ejecutar el track en el browser.

Mixables

Son funciones que toman en tiempo segundos y devuelven en samples de audio.

var mixable = function(time) { return Math.sin(TWO_PI * A_4 * time); } 

buildSampler

TinyRave llama a esta mixable 44,100 veces por segundo. Uso:

var buildSample = function(time){
  return Math.sin(TWO_PI * A_4 * time);
}

buildTrack

Mixable que se ejecuta una sola vez. Puede definirse dentro:

this.every(interval, callback)
this.until(duration, callback)
this.after(delay, callback)
this.play(mixable)

Para definir ganancia y bpm:

this.setMasterGain(gain)
this.setBPM(bpm)

Uso:

var buildTrack = function(){
  this.every(1, function(){
    // Cada segundo ...
    var o = new Oscillator;
    var e = new Envelope;
    var mixable = e.process(o);
    // Add mixable to the global mixer
    this.play(mixable);
  });
}

Librerías

  • Adapter.js (by default). Permite la comunicación.
  • StdLib.coffee (by default). Eventos de frecuencias.
  • Instruments.coffee (opcional). Oscilador, filtros. Abstracciones de mayor nivel.

Para importar:

require('v1/instruments')
  • Midi.coffee (opcional). Para midi.

Para importar:

require('v1/midi')

==

=

Referencias

[[1]]