Non servono file audio per fare una batteria: la sintetizzi con oscillatori e rumore. Una cassa è un'onda che scende di frequenza e volume in fretta.
function kick(time) {
const osc = ctx.createOscillator();
const gain = ctx.createGain();
osc.connect(gain).connect(ctx.destination);
osc.frequency.setValueAtTime(150, time);
osc.frequency.exponentialRampToValueAtTime(50, time + 0.1);
gain.gain.setValueAtTime(1, time);
gain.gain.exponentialRampToValueAtTime(0.001, time + 0.15);
osc.start(time);
osc.stop(time + 0.15);
}
Il segreto della cassa è la pitch envelope: la frequenza crolla da 150 a 50 Hz in un lampo, e l'orecchio la legge come un "tonf". Un charleston, invece, è rumore bianco filtrato passa-alto con un inviluppo cortissimo.
Sintetizzare la batteria dà controllo totale sul timbro, e pesa zero byte in download.