Come funziona l’MP3? La risposta breve
L’MP3 è un codec lossy. Il codificatore taglia l’audio in frame da 1.152 campioni, divide ogni frame in bande di frequenza e usa un modello dell’udito umano per individuare i suoni coperti da suoni più forti. Li memorizza con pochi bit o nessuno e comprime il resto con la codifica Huffman. Il player ricostruisce il suono a partire da quei dati. L’audio CD viaggia a 1.411 kbps (44.100 × 16 bit × 2 canali), quindi un MP3 a 128 kbps è circa 11 volte più piccolo.
Cosa succede quando crei un MP3?
Quando un file WAV o M4A viene convertito in MP3, il codificatore esegue vari passaggi in sequenza. L’input è audio PCM grezzo — campioni non compressi che rappresentano la pressione dell’aria nel tempo. L’output è un flusso di frame compressi, ciascuno che copre qualche millisecondo di audio.
La pipeline funziona così:
- Windowing: l’audio viene suddiviso in frame sovrapposti di 1.152 campioni (circa 26 ms a 44,1 kHz)
- Analisi in frequenza: ogni frame passa attraverso un banco di filtri polifase a 32 bande e poi una Modified Discrete Cosine Transform (MDCT), che trasformano i campioni nel tempo in valori di frequenza
- Analisi psicoacustica: il codificatore calcola quali frequenze sono mascherate (non udibili) in questo frame
- Quantizzazione: le frequenze mascherate vengono rimosse o ricevono meno bit; le frequenze udibili ricevono più bit
- Codifica Huffman: i dati quantizzati vengono compressi senza perdite tramite codifica entropica
- Assemblaggio del bitstream: header del frame, informazioni laterali e dati audio codificati vengono impacchettati nell’output
Il risultato: un WAV stereo a 44,1 kHz, 16 bit a 1.411 kbps diventa un MP3 a 320 kbps — quasi l’80% più piccolo — pur suonando praticamente identico.
Il modello psicoacustico
Il modello psicoacustico è il cuore della compressione MP3. È un modello matematico del funzionamento dell’udito umano e determina cosa il codificatore può rimuovere senza conseguenze. Il modello sfrutta tre tipi di mascheramento:
Mascheramento simultaneo (in frequenza)
Un suono forte a una certa frequenza rende inudibili i suoni più deboli nelle vicinanze. Ad esempio, un forte colpo di piatto a 8 kHz maschera un armonico di chitarra debole a 9 kHz. Il codificatore rileva queste frequenze mascherate e assegna loro meno bit (o zero bit). Non le sentiresti comunque.
Mascheramento temporale
Il mascheramento funziona anche nel tempo. Un suono forte maschera i suoni più deboli che si verificano poco prima (pre-mascheramento, circa 5 ms) e poco dopo (post-mascheramento, circa 50–100 ms). Il codificatore usa questo per ridurre i dati durante le transizioni tra passaggi forti e silenziosi.
Soglia assoluta dell’udito
Le orecchie umane non sono ugualmente sensibili a tutte le frequenze. Sentiamo meglio tra 1–5 kHz e siamo molto meno sensibili sotto i 100 Hz e sopra i 16 kHz. Il codificatore rimuove qualsiasi audio al di sotto della soglia assoluta dell’udito — suoni così deboli che nessun essere umano riesce a sentirli indipendentemente dagli altri suoni.
Punto chiave: l’MP3 non si limita a "buttare via dati". Usa un sofisticato modello dell’udito umano per identificare e rimuovere solo l’audio che non riesci a percepire. Ecco perché, nei test in cieco, per la maggior parte degli ascoltatori un MP3 a 320 kbps è indistinguibile dall’originale.
Come il bitrate influisce sulla qualità
Il bitrate è il numero di kilobit che il codificatore può usare al secondo. Più bit significano meno compromessi:
| Bitrate | Cosa viene rimosso | Risultato udibile |
|---|---|---|
| 320 kbps | Solo contenuto davvero inudibile | Trasparente — indistinguibile dall’originale |
| 256 kbps | Inudibile + contenuto al limite | Trasparente per la maggior parte degli ascoltatori |
| 192 kbps | Parte del contenuto parzialmente udibile | Buona qualità; artefatti rari su apparecchi consumer |
| 128 kbps | Compromessi percepibili | Accettabile per un ascolto casuale; le orecchie allenate notano la perdita |
| 64 kbps | Tagli aggressivi su tutte le frequenze | Artefatti evidenti; adatto solo per la voce |
La relazione non è lineare. Passare da 128 a 192 kbps è un enorme salto di qualità. Passare da 256 a 320 kbps è appena percepibile. Questo perché il modello psicoacustico dà priorità al contenuto più udibile — gli ultimi bit risparmiati ai bitrate alti sono i meno percepibili. Per scegliere il bitrate dei tuoi file, consulta la nostra guida alle migliori impostazioni di qualità MP3 per musica, podcast e audiolibri.
Una breve storia dell’MP3
L’MP3 — ufficialmente MPEG-1 Audio Layer III — è stato sviluppato presso il Fraunhofer Institute in Germania, principalmente da Karlheinz Brandenburg. Lo standard è stato pubblicato come ISO 11172-3 nel 1993.
Il formato ha attraversato diverse tappe fondamentali:
- 1993: viene pubblicato lo standard ISO 11172-3. L’MP3 esiste come standard ma non ha ancora buoni codificatori
- 1995: Fraunhofer sceglie l’estensione .mp3 e rilascia WinPlay3, uno dei primi player MP3 in tempo reale per Windows
- 1998: il progetto LAME nasce come "LAME Ain't an MP3 Encoder" — una patch per migliorare il codificatore di riferimento
- 1999: viene lanciato Napster. L’MP3 diventa il formato musicale dominante nel mondo
- 2003: viene lanciato l’iTunes Store, che vende file AAC (il successore designato dell’MP3)
- 2017: tutti i brevetti MP3 scadono. Il formato è completamente libero da usare senza licenze
Nonostante AAC e Opus siano tecnicamente superiori, l’MP3 rimane il formato audio più ampiamente supportato in circolazione. Ogni dispositivo, ogni player, ogni sistema operativo supporta l’MP3.
Perché LAME è il miglior codificatore MP3
LAME (LAME Ain't an MP3 Encoder) è un codificatore MP3 open source continuamente perfezionato dal 1998. È il codificatore usato all’interno di FFmpeg come libmp3lame, ed è quello che CleverUtils usa per ogni conversione MP3.
Cosa rende LAME speciale:
- 25+ anni di ottimizzazione. Il modello psicoacustico, la quantizzazione e la regolazione del VBR sono stati perfezionati attraverso migliaia di test d’ascolto e miglioramenti del codice.
- Livelli di qualità VBR. I preset VBR da V0 a V9 di LAME allocano dinamicamente il bitrate per ogni frame. Da V0 (il più alto, ~245 kbps medi) a V9 (il più basso, ~65 kbps medi) coprono ogni obiettivo di qualità.
- Joint stereo automatico. LAME analizza ogni frame e passa automaticamente tra la codifica stereo mid/side e quella stereo completa, scegliendo la più efficiente. Ecco perché la modalità predefinita produce risultati ottimali.
- Info per la riproduzione senza interruzioni. LAME scrive nell’MP3 le informazioni su ritardo del codificatore e padding, consentendo transizioni fluide tra le tracce sui player compatibili.
Il nostro backend: CleverUtils usa FFmpeg con libmp3lame. Quando selezioni VBR, il comando usa -q:a con V0, V2, V4 o V6. Quando selezioni CBR, usa -b:a con 128k, 192k, 256k o 320k. Entrambi passano attraverso l’intera pipeline psicoacustica di LAME. La nostra guida VBR vs CBR spiega quale delle due modalità si adatta meglio ai tuoi file.
Perdita generazionale: perché ri-codificare è una cattiva idea
Ogni volta che codifichi audio in un formato lossy, il codificatore prende decisioni su cosa scartare. Se prendi un MP3 e lo codifichi di nuovo in MP3, il secondo codificatore scarta ulteriori dati — inclusi dati che il primo codificatore aveva ritenuto abbastanza importanti da conservare.
Questo si chiama perdita generazionale ed è cumulativo:
- 1a codifica: qualità originale (contenuto inudibile rimosso)
- 2a codifica: lieve degrado (viene rimosso contenuto al limite che era stato conservato al primo passaggio)
- Dopo diverse codifiche: artefatti percepibili nei passaggi complessi
- Dopo molte codifiche: modulazione chiaramente udibile, perdita di frequenze, collasso dell’immagine stereo
La regola pratica: codifica sempre dalla sorgente lossless originale (WAV, FLAC o ALAC). Se hai bisogno di un bitrate diverso, torna all’originale e codifica di nuovo — non ri-codificare mai un MP3 esistente. Questo vale anche per le sorgenti M4A (AAC): converti una volta in MP3, non convertire di nuovo il risultato.
Errore comune: Convertire un MP3 a 128 kbps in 320 kbps non migliora la qualità. I dati mancanti dalla codifica a 128 kbps sono andati perduti per sempre. Ottieni solo un file più grande con la stessa qualità (o leggermente peggiore) a causa di un secondo passaggio di codifica.
Dentro un file MP3: frame, header e tag
| Parte | Dimensione | Contenuto |
|---|---|---|
| Tag ID3v2 | Variabile, all’inizio | Titolo, artista, album, copertina, testi |
| Header Xing / LAME | Primo frame | Numero di frame e di byte per la ricerca nei file VBR; ritardo del codificatore e padding per la riproduzione senza interruzioni |
| Header del frame | 4 byte per frame | Sync word, versione MPEG, bitrate, frequenza di campionamento, modalità dei canali |
| Informazioni laterali | 17 byte (mono) o 32 byte (stereo) | Come i bit del frame sono ripartiti tra granuli e canali |
| Dati principali | Resto del frame | Valori di frequenza con codifica Huffman |
| Tag ID3v1 | 128 byte, alla fine | Titolo, artista, album, anno e genere (formato legacy) |
Un frame a 128 kbps e 44,1 kHz occupa circa 418 byte: 144 × 128.000 ÷ 44.100 = 417,96.