Forse non tutti sanno che… i browser odierni sono equipaggiati di strumenti sofisticati per il processing dell’audio, come Web Audio API.
Francesco Sacchi ne mostra l’utilizzo realizzando come breve esempio un diapason a 440Hz (qui l’esempio funzionante):
// creiamo il contesto audio const audioContext = new AudioContext(); // creiamo un oscillatore che genererà il suono e lo colleghiamo all'output var osc = audioContext.createOscillator(); osc.connect( audioContext.destination ); // impostiamo la frequenza per il diapason osc.frequency.value = 440.0; // iniziamo subito a "oscillare" e terminiamo tra 1 secondo osc.start( 0 ); osc.stop( audioContext.currentTime + 1 );
L’ audio API, oltre a garantire la schedulazione precisa di suoni e sorgenti audio, fornisce molti altri strumenti sotto forma di nodi che possono essere collegati tra loro.
Tra i nodi disponibili troviamo ad esempio Gain, Delay, Panner oltre a molti altri filtri ed utilità.
Un vantaggio di avere uno strumento del genere è la possibilità di combinare le diverse API a disposizione nei modi più creativi: visualizzazione canvas, registrazione audio, webcam, gestire differenti input, API e Socket
L’unico limite è l’immaginazione.