Diferencia entre revisiones de «Javascript music»

De musiki
Sin resumen de edición
Sin resumen de edición
Línea 5: Línea 5:
===Mixables===
===Mixables===
Son funciones que toman en tiempo segundos y devuelven en samples de audio.
Son funciones que toman en tiempo segundos y devuelven en samples de audio.
===buildSampler===
  <nowiki>var mixable = function(time) { return Math.sin(TWO_PI * A_4 * time); } </nowiki>
  <nowiki>var mixable = function(time) { return Math.sin(TWO_PI * A_4 * time); } </nowiki>
====buildSampler====
TinyRave llama a esta mixable 44,100 veces por segundo. Uso:
<nowiki>var buildSample = function(time){
  return Math.sin(TWO_PI * A_4 * time);
}</nowiki>
====buildTrack====
Mixable que se ejecuta una sola vez. Puede definirse dentro:
<nowiki>
this.every(interval, callback)
this.until(duration, callback)
this.after(delay, callback)
this.play(mixable)</nowiki>
Para definir ganancia y bpm:
<nowiki>this.setMasterGain(gain)
this.setBPM(bpm)</nowiki>
Uso:
<nowiki>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);
  });
}</nowiki>
====  
====  
=====
=====

Revisión del 05:12 27 nov 2019

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); }); }

==

=

Referencias

[[1]]