Diferencia entre revisiones de «Javascript music»
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. | ||
<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]]