//cdn.cookie-script.com/s/c1ef2c586fe4ca437b3e1d4d7a75b29b.js Come evitare che AudioClip identici riprodotti nello stesso istante distorcano il volume finale in Unity - Creare Videogiochi
Skip to content Skip to sidebar Skip to footer

Come evitare che AudioClip identici riprodotti nello stesso istante distorcano il volume finale in Unity

Durante lo sviluppo di un applicativo o un videogioco in Unity può capitare di incorrere in un classico problema dovuto alle forme d’onda dei suoni stessi: eseguendo due o più suoni identici nello stesso istante si ottiene un fastidioso effetto di aumento del volume incontrollato. C’è da dire che questo effetto è del tutto corretto in ambito sonoro anche se ovviamente, come impatto sulla giocabilità ed esperienza utente, crea non pochi problemi.

Per risolvere, o comunque aggirare e mitigare, il problema esistono 4 possibili approcci.

1. Non eseguire suoni identici nello stesso istante

Potrà sembrare la soluzione più ovvia ma per evitare il fastidioso problema è possibile implementare, a livello di struttura/codice, un sistema che eviti la riproduzione dello stesso suono contemporaneamente. Ad esempio è possibile riconoscere se un clip sta già suonando quindi escludere tutti gli altri identici che devono essere riprodotti. Oppure è possibile fare in modo che il generatore del suono sia unico e non differente per ogni suono. Infine se si sa per certo quali oggetti riprodurranno lo stesso suono contemporaneamente è possibile disabilitare tutte le fonti audio associate lasciandone una soltanto.

2. Dividere il volume di ciascuno clip per il numero di clip riprodotti

Riproducendo 4 suoni identici nello stesso istante la forma d’onda risultante risulta 4 volte più ampia e quindi con un volume 4 volte più alto. Per questo motivo si può intervenire sul volume di ciascun suono e dividerlo per il numero di clip riprodotti; in questo caso si dovrebbe ridurre ciascun suono di 3/4 del volume.

3. Aggiungere una variazione alla forma d’onda dei clip riprodotti contemporanei

Se il problema è dato dalla sovrapposizione di forme d’onda identiche, è possibile introdurre una perturbazione/variazione delle forma d’onda modificando di poco i valori di Pitch e Volume di ogni singolo clip audio. Questo presuppone quindi che il singolo clip sia riprodotto attraverso un AudioSource dedicato, in quanto solo così è possibile definire pitch e volume a livello specifico.

4. Aggiungere al mixer di riproduzione un effetto di compressione

L’ultima soluzione prevede di operare sul mixer associato agli AudioSource con lo stesso suono. In questo caso è possibile aggiungere un effetto di compressione (Compressor). Il compressore di Unity è di fatto un Limiter che permette di gestire i picchi di volume oltre i 0db.

Conclusioni

Il consiglio è quello di provare ad implementare le strade possibili e individuare quale è più adatta a risolvere il proprio problema. Non si esclude che tutte le soluzioni proposte possano essere implementare contemporaneamente al fine di ridurre al minimo, se non eliminare, l’indesiderato effetto.

Leave a comment