La Web Audio API ragiona come una pedaliera per chitarra: hai delle sorgenti, dei nodi di elaborazione e una destinazione, e li colleghi con connect.

// sorgente -> filtro -> volume -> casse
osc.connect(filter);
filter.connect(gain);
gain.connect(ctx.destination);

Il segnale scorre da sinistra a destra lungo le connessioni. Un nodo può alimentarne più di uno (splitti il segnale) e più nodi possono confluire nello stesso (li mixi).

Questo modello dichiarativo è potente: costruisci una catena una volta, poi ti limiti a cambiare i parametri (frequenza del filtro, volume) nel tempo. Capito il grafo, tutto il resto della Web Audio API sono solo nodi diversi da incastrare.