Per suonare un file audio nel browser lo carichi, lo decodifichi in un buffer e lo riproduci con un AudioBufferSourceNode.

const res = await fetch("/samples/break.wav");
const buffer = await ctx.decodeAudioData(await res.arrayBuffer());

function suona(rate = 1) {
  const src = ctx.createBufferSource();
  src.buffer = buffer;
  src.playbackRate.value = rate; // 2 = doppia velocità e ottava sopra
  src.loop = true;
  src.connect(ctx.destination);
  src.start();
  return src; // per fermarlo poi con src.stop()
}

Nota una peculiarità: un AudioBufferSourceNode è usa e getta: dopo start() non si può riavviare, ne crei uno nuovo ogni volta. In cambio è leggerissimo.

playbackRate cambia velocità e intonazione insieme (come in Sonic Pi con rate), loop fa ripetere il campione, start(time) lo schedula preciso. Da qui costruisci sampler, loop station e drum machine basate su file veri.