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.