Archivio

Archive for the ‘Computer e Internet’ Category

Nero AAC Codec

30 marzo 2020 1 commento
Logo AAC

AAC (Advanced Audio Coding) è un formato di compressione audio con perdita di informazione nato nel 1997 con l’obiettivo di sostituire MP3, risalente al 1993, fornendo un migliore rapporto qualità/bitrate e superando alcune limitazioni intrinseche del vecchio formato.

La diffusione su larga scala di AAC ha richiesto anni ed è stata molto meno rapida rispetto a quella del formato MP3 – si può dire che sia tuttora in corso – probabilmente per una serie di motivi: innanzi tutto prima dell’MP3 non esisteva nulla di simile, per cui chiaramente in mancanza di alternative, MP3 ha avuto vittoria facile; inoltre la qualità e il rapporto di compressione di MP3 rimangono tutto sommato adeguati per l’ascolto musicale; infine – ma forse è il motivo più importante – è richiesta una licenza di brevetto per tutti i produttori o sviluppatori di codec AAC. Questo fatto ha tagliato le gambe ai progetti open source, che si ritrovano tuttora impossibilitati a distribuire versioni pronte all’uso dei loro codec, potendone rilasciare solo ed esclusivamente il codice sorgente. In questo modo, viene lasciato all’utente finale l’onere di generare i file eseguibili a partire dai sorgenti, cosa improponibile per utenti che non siano informatici particolarmente intraprendenti.

Tra i codec storicamente più diffusi vi sono l’Apple AAC Codec, incorporato nel programma iTunes, e il Nero AAC Codec, scaricabile gratuitamente da VideoHelp. Quest’ultimo è un codificatore di buona qualità, stabile e abbastanza semplice da utilizzare; l’unico aspetto negativo è che il suo sviluppo è stato abbandonato dal 2010, per cui non sono assolutamente da attendersi evoluzioni rispetto all’attuale versione 1.5.4.0 del 18 febbraio 2010. Persino sul sito ufficiale di Nero non ve n’è più traccia ormai da alcuni anni.

Volendo utilizzare questo codificatore per comprimere musica in alta qualità in sostituzione della codifica MP3 ad elevato bitrate (tipicamente 320 kbps), è possibile configurarlo in modo da ottenere la massima qualità di uscita con il minimo bitrate possibile.

L’eseguibile neroaacenc ammette una serie di parametri da riga di comando, i più importanti sono i seguenti tre: -if, -of e -q. I primi due sono obbligatori e servono a definire rispettivamente il file sorgente in formato WAV e il file di destinazione, a cui conviene dare estensione m4a in modo da non confondersi con gli mp4 audio/video; l’ultimo parametro serve invece a definire la qualità della codifica, e ammette un valore decimale compreso tra 0 e 1 (ad es. 0.25, 0.6, 0.75, ecc.), dove 0 rappresenta la qualità minima e 1 quella massima; questo parametro è opzionale e assume il valore predefinito di 0.5. La qualità determina anche il bitrate medio e di conseguenza la dimensione finale dei file prodotti. A titolo indicativo, il bitrate medio che tipicamente si ottiene con la massima qualità è circa 400 kbps, mentre con l’impostazione predefinita di 0.5 si ha un bitrate intorno ai 170 kpbs.

Uno dei modi per ridurre la quantità di informazione sonora da memorizzare è applicare un filtro passa basso al segnale in ingresso, questo consente di cancellare parte dei toni più acuti – tipicamente sopra i 16 kHz – in tutti quei casi in cui essi sono mascherati da suoni più forti presenti alle frequenze inferiori. Questa tecnica è largamente utilizzata sia da AAC che da MP3 e le modalità di filtraggio sono tutt’altro che banali proprio allo scopo di scartare solo ciò che più probabilmente non è udibile.

La frequenza e l’intensità con cui questo filtro interviene è strettamente legata al bitrate desiderato (ovvero alla qualità), per cui tanto più si alzerà il parametro della qualità, tanto meno il filtro entrerà in azione. Nel caso di Nero AAC Codec, c’è una soglia precisa oltre la quale tale filtro viene disattivato e quindi viene preservato lo spettro completo del segnale originale. La riga di comando da utilizzare è la seguente:

neroaacenc -q 0.740002 -if input.wav -of output.m4a

Il bitrate medio dei file prodotti sarà intorno ai 290 kbps, che è comunque inferiore ai 320 kbps degli MP3 compressi a qualità massima. Per avere un’idea della qualità dei file risultanti, oltre ovviamente ad ascoltarli, è possibile confrontare lo spettrogramma di un file codificato in questa maniera con quello del relativo file non compresso. Per questa prova scegliamo il primo movimento della Nona sinfonia di Beethoven diretta da Karajan nel 1983 e pubblicata su CD l’anno seguente (Deutsche Grammophon 410 987-2).

Forma d'onda originale
Forma d’onda originale del 1º mov. della 9ª sinfonia di Beethoven diretta da Karajan nel 1983

Di seguito sono riportati in sequenza animata gli spettrogrammi del segnale originale e di quello compresso con Nero AAC Codec utilizzando il parametro -q sopraindicato:

Comparazione tra spettrogramma WAV (originale) e AAC prodotto con neroaacenc -q 0.740002
Comparazione tra spettrogramma WAV (originale) e AAC prodotto con neroaacenc -q 0.740002

Come si può notare, gli spettri sono praticamente identici, è difficile individuare differenze significative, a parte un taglio degli acuti oltre i 20.500 Hz che comunque di norma sarebbero già fuori dall’udibile. È interessante confrontare questo risultato con quello che invece si può ottenere utilizzando il formato MP3, per questo si riporta di seguito un’analoga sequenza animata dove però al posto dello spettrogramma del segnale compresso con AAC, viene preso in considerazione quello del corrispondente MP3 codificato a 320 kbps utilizzando LAME --preset insane che è l’opzione che garantisce la massima qualità possibile:

Comparazione tra spettrogramma WAV (originale) e MP3 prodotto con lame --preset insane
Comparazione tra spettrogramma WAV (originale) e MP3 prodotto con lame --preset insane

Come si nota a occhio, la codifica MP3, nonostante il bitrate maggiore, presenta un taglio più marcato alle alte frequenze e in generale lo spettrogramma è un po’ più alterato rispetto a quello della codifica AC3, soprattutto nella banda superiore ai 16 kHz. Questo non significa necessariamente che all’ascolto si possano notare delle differenze, anzi quasi certamente non è così considerando pure che la quasi totalità delle frequenze sotto i 20 kHz risulta preservata, ma dimostra che il segnale è stato alterato rispetto alla sua forma originaria.

Dunque, poiché la codifica AAC con un bitrate medio di circa 290 kbps produce un segnale molto simile a quello originario e visibilmente più fedele rispetto alla codifica MP3 migliore possibile (320 kbps), il passaggio al nuovo formato risulta senz’altro raccomandabile ove non vi siano altri impedimenti dovuti, ad esempio, all’incompatibilità con i dispositivi di utilizzo abituale.

Configurare Exact Audio Copy in modo che utilizzi Nero AAC Codec con le impostazioni sopraindicate è cosa abbastanza semplice, si tratta di impostare la stringa di parametri seguente:

%ishigh%-q 0.740002%ishigh% -if %source% -of %dest%

Configurazione di Nero AAC Codec in Exact Audio Copy

Approfondimenti

Un’altra prova interessante è quella di ridurre il parametro -q scendendo al di sotto del valore magico 0.740002 (ad esempio 0.740001). Quello che accade è che si attiva il filtro passa basso, per cui si ottiene uno spettrogramma del tipo seguente, dove si vedono due frequenze di taglio, una sui 16 kHz e un’altra più netta intorno ai 18 kHz:

Comparazione tra spettrogramma WAV (originale) e AAC prodotto con neroaacenc -q 0.740001
Comparazione tra spettrogramma WAV (originale) e AAC prodotto con neroaacenc -q 0.740001

È evidente come non ci sia confronto con la situazione precedente; ancora una volta, però, questo non significa che vi sarà una differenza apprezzabile all’ascolto, tuttavia si può con certezza dire che il segnale risultante è abbastanza diverso da quello originale.

In conclusione, se lo scopo è quello di produrre dei file compressi di alta qualità, allora conviene utilizzare il valore 0.740002 qui suggerito (oppure 0.75 per semplicità), o eventualmente valori anche superiori; se invece lo scopo è di risparmiare spazio e quindi ridurre il bitrate, allora può essere il caso di sperimentare valori di -q intorno al valore predefinito e valutare poi “a orecchio” la qualità del risultato, tenendo a mente che, di norma, la codifica AAC è più efficiente rispetto a quella MP3, per cui, a parità di bitrate, il risultato dovrebbe essere migliore. A questo proposito, ecco un ultimo confronto tra tre spettrogrammi: il primo è quello del segnale originale (WAV), il secondo è relativo alla codifica AAC con -q 0.740002 e il terzo alla codifica MP3 eseguita sempre con LAME ma con parametro --preset 320, che, a dispetto di quanto richiesto, ha prodotto in realtà un file con bitrate molto simile a quello del file AAC:

Comparazione tra spettrogramma WAV, AAC neroaacenc -q 0.740002 e MP3 lame --preset 320
Comparazione tra spettrogramma WAV, AAC neroaacenc -q 0.740002 e MP3 lame --preset 320

Un articolo che prende in esame i formati MP3 e AAC è MP3 and AAC explained di Karlheinz Brandenburg; per la verità è un articolo piuttosto datato ma può comunque aiutare a comprendere i principi che sono alla base della compressione audio lossy.

Tablet uguale Netbook?

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Hard Disk Verbatim e settori danneggiati

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Estrazione audio da CD musicali (DAE)

29 luglio 2010 2 commenti

CD Copiare un CD musicale nel PC, magari sottoforma di file MP3, è un’operazione divenuta piuttosto comune da una decina di anni a questa parte, e ancor di più nell’ultimo quinquennio, da quando i lettori MP3 portatili sono diventati i riproduttori più pratici ed economici di sempre. Molti però purtroppo hanno preso e continuano a prendere quest’operazione sottogamba, probabilmente pensando che tutto sommato si stanno copiando dei dati da un supporto digitale ad un altro con la convinzione che, trattandosi appunto di supporti digitali, o va tutto liscio oppure verrà fuori un messaggio di errore di lettura. Nulla di più sbagliato, o meglio, questa regola vale quando si copiano dati da CD-ROM (come pure da DVD, siano essi video o dati), ma non quando si ha a che fare con i CD Audio; il motivo è presto spiegato: i dati vengono memorizzati sui CD lungo una spirale suddivisa in molti brevi tratti chiamati settori. Ogni settore contiene 2352 byte di dati; nel caso di un CD-ROM, 2048 di questi vengono utilizzati per memorizzare i dati e i restanti 304 byte costituiscono informazioni per il rilevamento e la correzione di eventuali errori di lettura che renderebbero altrimenti inutilizzabili i dati; in questo modo, se il CD-ROM risulta graffiato, probabilmente parte dei 2048 byte di dati risulterà illeggibile ma grazie ai 304 byte di ridondanza il lettore sarà in grado di correggere un certo numero di errori presenti nei dati. Nel CD Audio, invece, tutti i 2352 byte sono costituiti da musica poiché si ritenne, all’epoca dell’introduzione del CD, che piccoli errori di lettura non avrebbero pregiudicato apprezzabilmente l’ascolto e che fosse conveniente sfruttare al meglio la superficie del disco rendendola tutta disponibile per la musica (in realtà sono presenti altri due strati di correzione d’errore, ma non sufficienti a garantire una lettura accurata in ogni situazione).

Dunque leggendo un CD Audio così come si farebbe con un CD-ROM, non si può avere la certezza che i dati letti siano corrispondenti a quelli originariamente incisi, soprattutto nei casi in cui il disco risulti graffiato. Questa situazione non si verifica di rado e altrettanto frequentemente può capitare di notare fastidiosi disturbi ascoltando gli MP3 derivati da CD, disturbi inesistenti nel disco originale. Ciò accade perché, come già detto, il lettore CD non può accertarsi che le informazioni lette dal CD Audio siano state correttamente interpretate. Fino ad alcuni anni fa quasi tutti i programmi di estrazione audio utilizzabili per copiare la musica dal CD nel computer leggevano la musica con la stessa tecnica usata per leggere i dati e questo spiega le anomalie talvolta riscontrabili nei file risultanti; un metodo per ridurre l’incidenza degli errori consisteva nell’impostare una bassa velocità di lettura (non più di 8x). Data la situazione, diversi sviluppatori audiofili si sono posti il problema di trovare un modo sicuro di estrarre l’audio dai CD musicali; ne sono nate diverse applicazioni; una delle più conosciute è Exact Audio Copy. La tecnica adottata da questi programmi consiste in genere nel dividere il disco in piccole porzioni di musica della durata di pochi secondi e nel leggerle due volte di seguito. Il risultato delle due letture viene quindi confrontato e se i dati sono identici, si procede con la porzione successiva, procedendo così fino alla fine del disco. Qualora invece le due letture non risultassero uguali, il programma richiede al lettore CD numerose volte la porzione difettosa e ne memorizza la lettura fin quando non determina l’esistenza di una maggioranza di letture uguali, che poi assume come lettura corretta. In presenza di errori incorreggibili (dovuti a graffi che dovrebbero essere anche particolamente evidenti), è piuttosto raro che un lettore possa restituire più volte di seguito letture identicamente errate, e quindi non resta che segnalare all’utente la posizione dell’errore (cosa impossibile senza effettuare letture ripetute). Il vantaggio dell’uso di questi programmi è quindi evidente: è finalmente possibile estrarre l’audio da CD malridotti e avere una garanzia di lettura corretta o, nei casi meno fortunati, almeno l’indicazione della posizione degli errori in modo da poter ascoltare le porzioni incriminate e giudicare accettabile o meno la presenza degli errori di lettura. Lo svantaggio è essenzialmente solo uno: il tempo richiesto per l’estrazione, che può risultare triplicato nel migliore dei casi, fino a durare un’ora o più nel caso di dischi molto graffiati. Con le moderne unità CD/DVD, estrarre l’audio da un disco in discrete condizioni non richiede più di 10-15 minuti.

Ogni lettore CD ha una certa tolleranza rispetto agli errori di lettura; a parità di disco (graffiato) ci sono unità che si arrendono facilmente e altre che invece riescono più spesso a portare a termine un’estrazione senza errori. Da sempre Plextor produce ottime unità ottiche e con esse si ottengono i risultati migliori, ma è possibile ottenere estrazioni di tutto rispetto anche con molti altri lettori; anzi, proprio la disponibilità di software per l’estrazione accurata permette di adottare una qualsiasi unità CD anonima avendo comunque una qualche garanzia di qualità del risultato finale.

La mia esperienza personale riguarda cinque lettori, per i quali fornirò dettagli tecnici per l’estrazione audio.

  • ASUS CD-S500/A 3.1H
  • LG HL-DT-ST CD-RW GCE-8523B 1.03
  • LG HL-DT-ST DVDRAM GSA-4163B A105
  • Pioneer DVD-RW DVR-115D 1.18
  • Lite-On JLMS DVD-ROM LTD-166S DS08

Lettore CD ASUS CD-S500/A
Marca ASUS
Modello CD-S500/A
Firmware 3.1H
Accurate Stream
Caches audio data No
Read offset correction +1858
Overread into Lead-In & Lead-Out No
Ottima unità, in grado di leggere dischi con i quali molti altri drive si arrendono a causa di graffi e altre anomalie non visibili a occhio nudo. Possibilità di ridurre la velocità di lettura in qualsiasi momento tenendo premuto il pulsante frontale Play/Traccia successiva durante il funzionamento. Purtroppo non sono riuscito a configurarla per funzionare con AccurateRip.

Masterizzatore CD LG HL-DT-ST CD-RW GC3-8523B
Marca LG (HL-DT-ST)
Modello CD-RW GCE-8523B
Firmware 1.03
Accurate Stream
Caches audio data
Read offset correction +6
Overread into Lead-In & Lead-Out
Ottima unità in grado di leggere accuratamente dischi graffiati non leggibili con altri drive. Può tuttavia risultare molto lenta a causa del caching (la velocità di lettura crolla se il CD è graffiato), e molto rumorosa in presenza di CD non perfettamente bilanciati.

Masterizzatore DVD LG HL-DT-ST DVDRAM GSA-4163B
Marca LG (HL-DT-ST)
Modello DVDRAM GSA-4163B
Firmware A105
Accurate Stream
Caches audio data No
Read offset correction +667
Overread into Lead-In & Lead-Out No
Unità molto buona ed estremamente veloce. L’estrazione di un disco esente da graffi richiede meno di 10 minuti. Buona l’affidabilità ma nel caso di dischi danneggiati è molto difficile che il drive riduca automaticamente la velocità, col risultato che si possono riscontrare degli errori di lettura probabilmente evitabili leggendo a velocità inferiore.

Masterizzatore DVD Pioneer DVD-RW DVR-115D
Marca Pioneer
Modello DVD-RW DVR-115D
Firmware 1.18
Accurate Stream
Caches audio data
Read offset correction +48
Overread into Lead-In & Lead-Out No
Discreta tolleranza ai graffi, velocità scarsa a causa del caching. Talvolta capita di ottenere file differenti estraendo la stessa traccia dello stesso CD in due momenti diversi, anche usando programmi come Exact Audio Copy. Unità dunque non consigliabile per l’estrazione audio. Unica salvezza la possibilità di configurarlo con AccurateRip.

Lettore DVD Lite-On JLMS DVD-ROM LTD-166S
Marca Lite-On (JLMS)
Modello DVD-ROM LTD-166S
Firmware DS08
Accurate Stream
Caches audio data
Read offset correction +12
Overread into Lead-In & Lead-Out No
Scarsa tolleranza ai graffi, velocità scarsa a causa del caching. Unità non consigliabile per l’estrazione audio.

Nelle impostazioni dei drive di Exact Audio Copy è possibile attivare anche l’uso delle C2 error information; sebbene ciò produca un sensibile aumento della velocità di lettura, è consigliabile tenere disattivata quest’opzione in quanto non verrebbero più effettuate due letture in sequenza a meno che il lettore non riporti un errore C2 e purtroppo il sistema di rilevamento di questi errori è tutt’altro che infallibile.

Altra opzione di Exact Audio Copy riguarda la Gap Detection. Generalmente il Detection Method A funziona perfettamente ma alcune unità potrebbero non supportarlo o impiegare molto tempo per riconoscere i gap. In questi casi conviene provare gli altri metodi. Per quanto riguarda la Detection accuracy, ovviamente la imposteremo su Secure.

dae digital audio extraction jitter graffiato cdda cd musicali

Prestazioni dei pendrive USB

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Videocamera Samsung VP-MX20 e deinterlacciamento

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Cloud computing

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Pre-emphasis nei CD audio

26 ottobre 2007 8 commenti

La pre-emphasis per i CD audio è una particolare equalizzazione che gli ingegneri del suono possono scegliere di adottare in sede di masterizzazione. Questa equalizzazione prevede, in breve, un’enfatizzazione dei toni acuti, che viene poi compensata in riproduzione; il lettore CD infatti può riconoscere che è stato adottato questo meccanismo grazie ad un’informazione appositamente inserita nel disco (un flag chiamato PRE, invisibile all’utente) e procede quindi a un’equalizzazione compensativa, detta de-emphasis.

Chi ha avuto a che fare con i nastri magnetici sa bene che esisteva una tecnica simile adottata proprio per i nastri, il Dolby Noise Reduction, che, per ridurre il rumore di fondo tipico delle registrazioni su nastro, prevedeva di amplificare i toni acuti del segnale in registrazione; per riprodurre queste registrazioni su nastro occorreva quindi attivare il circuito Dolby NR che operava in riproduzione attenuando i toni acuti nella stessa misura in cui erano stati amplificati in registrazione; l’attenuazione degli acuti in realtà aveva come effetto, in riproduzione, anche l’attenuazione di buona parte del rumore di fondo intrinseco del nastro, il che era proprio l’obiettivo che si prefiggeva il sistema Dolby NR.

Perché adottare la pre-enfasi nei CD? Probabilmente l’obiettivo era quello di ridurre l’effetto delle non linearità dei primi convertitori digitale-analogico alle alte frequenze, i quali non sempre erano in grado di ricostruire fedelmente il segnale audio a partire dai campioni digitali. Oggi la situazione è molto cambiata, sono disponibili dei DAC con prestazioni nemmeno paragonabili a quelle di trent’anni fa. Fatto sta che la maggior parte dei CD in commercio non fa uso di questa tecnica; personalmente possiedo qualche decina di CD audio di musica classica con pre-enfasi, specialmente della BIS, ma anche qualcosa della Naxos e Harmonia Mundi. Tra i dischi DG, Decca e Philips non ho mai trovato traccia di pre-emphasis. Si tratta comunque di una caratteristica che a mio avviso non migliora in modo percettibile la qualità sonora, a differenza del sistema Dolby NR per i nastri.

La pre-emphasis può procurare qualche difficoltà di riproduzione, e questo mi ha spinto a trattare la questione qui. Innanzi tutto ho constatato che un mio lettore CD portatile economico non è in grado di operare la compensazione, sicché il CD suona con gli acuti enfatizzati, analogamente a quanto succedeva quando si riproduceva un nastro registrato con il Dolby NR su un lettore che non disponeva del circuito Dolby NR. Ma lo svantaggio più pesante riguarda oggigiorno il salvataggio di questi CD nei computer (e di conseguenza nei lettori digitali portatili): con la maggior parte dei programmi di estrazione audio, infatti, si ottengono file audio (eventualmente MP3 o comunque compressi) non compensati.

Un modo semplice per verificare se in un CD sia stata effettivamente adottata la pre-emphasis consiste nel farsi generare un file CUE del CD utilizzando un programma di estrazione audio come Exact Audio Copy. Se nel file è presente l’indicazione FLAGS PRE in corrispondenza di una o più tracce, significa che ad esse è stata applicata la pre-enfasi.

Dopo qualche giorno di ricerche ho notato che uno dei programmi in grado di estrarre l’audio dai CD operando al volo la decodifica è iTunes della Apple. Si può specificare di comprimere l’audio estratto in MP3 e altri formati, oppure di salvarlo in formato WAV non compresso (per poi magari affidare le operazioni di compressione a codec diversi da quello di Apple); in ogni caso la compensazione viene effettuata in modo automatico e completamente trasparente all’utente: non viene notificato nulla, né esistono opzioni da configurare.
Esistono anche filtri, come ad esempio il Q10 della Waves, in grado di operare, tra le altre cose, la de-emphasis, ma si tratta spesso di software non gratuiti, diversamente da iTunes, e che richiedono la presenza di un programma di elaborazione audio installato.

Grafico tratto dal sito: www.picosound.de

FLAGS PRE

Viti

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».

Disturbi dalla scheda audio

Quest’articolo è stato trasferito sul nuovo blog «Programitalia».