Un brano stereo a 44,1 kHz e 16 bit richiede circa 1.411 kbit al secondo. Un buon file compresso ne usa un decimo o meno e, nella maggior parte delle situazioni d'ascolto, suona quasi indistinguibile. Il trucco non sta nel comprimere meglio i dati, ma nel decidere quali dati buttare. È il campo della psicoacustica, lo studio di come l'orecchio e il cervello percepiscono il suono.
L'orecchio non sente tutto
L'udito ha limiti precisi che i codec sfruttano in modo sistematico.
Soglia di udibilità
La sensibilità dell'orecchio cambia con la frequenza: è massima nella zona tra circa 2 e 5 kHz e cala molto ai bassi profondi e agli acuti estremi. Un suono debole a 15 kHz può risultare inudibile, mentre lo stesso livello a 3 kHz si sente chiaramente.
Mascheramento in frequenza
Un suono forte rende inudibili i suoni più deboli che si trovano a frequenze vicine. Se un violino suona forte a 1.000 Hz, una componente debole a 1.100 Hz scompare alla percezione. L'orecchio analizza il suono per bande critiche, intervalli di frequenza in cui i suoni interferiscono tra loro.
Mascheramento temporale
Anche nel tempo succede qualcosa di simile: dopo un suono forte, per alcune decine di millisecondi, i suoni deboli sono meno percepibili. Esiste anche un breve effetto prima dell'evento forte, molto più corto.
Come lavora un codificatore
In modo semplificato, ogni codec lossy moderno esegue questi passaggi:
- Divide il segnale in finestre brevi, di qualche millisecondo.
- Lo trasforma nel dominio della frequenza, tipicamente con una trasformata chiamata MDCT, ottenendo una rappresentazione per bande.
- Applica un modello psicoacustico che stima, banda per banda, quanto rumore può essere aggiunto senza che si senta.
- Quantizza i coefficienti con precisione variabile: molta dove l'orecchio è sensibile, pochissima dove il segnale è mascherato.
- Comprime il risultato con una codifica senza perdite.
La perdita avviene al punto 4: l'errore di quantizzazione viene "nascosto" sotto la soglia di mascheramento. Più il bitrate è basso, più errore si deve introdurre e più è difficile nasconderlo.
Gli artefatti tipici
Quando il bitrate non basta, il rumore emerge in modi riconoscibili:
- Pre-eco: prima di un suono impulsivo, come un colpo di batteria o un clic, si sente un breve fruscio. Nasce perché l'errore si distribuisce su tutta la finestra, anche prima dell'attacco. I codec moderni lo riducono passando a finestre più corte sui transienti.
- Effetto "sott'acqua" o metallico: bande di frequenza che appaiono e scompaiono da una finestra all'altra.
- Acuti tagliati: per risparmiare, il codificatore elimina le frequenze più alte.
- Immagine stereo instabile: con la codifica congiunta dei canali, lo spazio stereo può restringersi o muoversi.
MP3, AAC e Opus
| Codec | Caratteristiche | Uso tipico |
|---|---|---|
| MP3 | Compatibilità universale, efficienza inferiore ai successori | Archivi esistenti, dispositivi datati |
| AAC | Più efficiente dell'MP3 allo stesso bitrate, molto diffuso | Video, streaming, smartphone |
| Opus | Standard aperto, eccellente da voce a musica, bassa latenza | Chiamate, videoconferenze, web |
L'MP3 (MPEG-1 Audio Layer III) ha reso possibile la musica digitale diffusa, ma oggi è superato in efficienza. L'AAC è il suo successore nel mondo MPEG ed è il formato audio predefinito di molti contenitori video. Opus è uno standard IETF, aperto e senza royalty, che combina una modalità ottimizzata per il parlato e una per la musica; è progettato per una latenza molto bassa e per questo è diffuso nella comunicazione in tempo reale.
Regole pratiche
- Non ricomprimere un file lossy: convertire un MP3 in AAC aggiunge nuovi artefatti a quelli già presenti. Parti sempre da un originale non compresso o lossless.
- Fai l'ultima codifica una volta sola: se una piattaforma ricodifica i file caricati, fornisci la qualità più alta accettata.
- Lascia margine ai picchi: la decodifica può produrre campioni leggermente più alti dell'originale; un master troppo vicino a 0 dBFS rischia di distorcere dopo la compressione.
- Ascolta i punti critici: applausi, piatti, voci sibilanti e strumenti a percussione rivelano subito i limiti del bitrate.
Nel mio lavoro, prima di scegliere le impostazioni di un progetto, codifico pochi secondi dei passaggi più difficili a bitrate diversi e li confronto in cuffia. È un test di pochi minuti che evita scelte fatte solo sui numeri.
In sintesi
- I codec lossy eliminano le informazioni che l'orecchio non percepisce, grazie al mascheramento.
- Il segnale viene trasformato in frequenza e quantizzato con precisione variabile per banda.
- A bitrate bassi compaiono pre-eco, suono metallico e acuti tagliati.
- AAC e Opus sono più efficienti dell'MP3; Opus eccelle anche nel tempo reale.
- Non ricomprimere mai file già lossy: parti sempre dall'originale.