View Full Version : Comparativa codec lossy
dav1deser
10-02-2012, 23:32
Introduzione
Ciao a tutti, visto che spesso si discute sulla qualità dei codec audio di tipo lossy (MP3, AAC, Ogg vorbis etc...) ho pensato di proporvi una comparativa che andasse un po' al di fuori degli schemi, in particolare la mia vuol essere una comparativa del tutto oggettiva e indipendente dall'impianto audio, dall'orecchio o da altre variabili poco controllabili.
Procedimento
Per avere dei dati oggettivi ovviamente non c'è nessuno che ascolta i file, la base di tutto sta nel comparare lo spettro audio di un file FLAC con lo spettro della stessa canzone codificata con differenti codec lossy e a differenti bitrate. Per fare ciò mi sono avvalso di due software gratuiti: Foobar2000 (v1.1.7 per le conversioni) e Audacity (1.3.13 beta, per gli spettri).
I codec lossy che ho analizzato sono stati: MP3 (Lame a 320kb/s CBR; V0; V1; V2; V3; V4; V5; V6; V7; V8; V9, per chi non lo sapesse questi ultimi sono VBR con qualità decrescente al crescere del numero dopo la V); AAC (con codec Apple in modalità TVBR con fattore qualità a partire da 15 fino a 120 con step di 15, inoltre ho utilizzato anche fattre di qualità pari a 100 e a 127) e Ogg vorbis (con fattore di qualità Q a partire da -1 fino a 10 con step di 1).
Il FLAC di partenza è stato convertito in tutti questi formati tramite il già citato Foobar2000 e i file ottenuti sono stati analizzati tramite Audacity, in particolare ho utilizzato la funzione "Mostra Spettro" (Algoritmo: Spettro; Dimensione: 16384; Funzione: Rettangolare finestra; Asse: Frequenza lineare), gli spettri sono stati quindi esportati in semplici file TXT.
I file degli spettri si presentano come 2 colonne: Frequenza (Hz) e Livello (dB). Poichè il range di frequenze dello spettro dipende dal file audio, ho aggiunto alle tracce un suono a frequenza pari a 22KHz, questo suono è stato aggiunto prima dell'inizio effettivo della canzone ed è stato selezionato prima di eseguire l'analisi dello spettro. In questo modo il range d'analisi delle frequenze è diventato indipendente dal file audio analizzato. Mi sono quindi focalizzato sulla colonna dB: in primo luogo ho creato un foglio di calcolo con OpenOffice dove ho incollato le colonne dB del FLAC di partenza seguito dalle colonne dB dei file compressi (per comodità focalizzandomi su un solo codec alla volta). Poichè nello spettro l'assenza di audio a una data frequenza non coincide col valore 0dB, ma è un valore negativo nell'ordine dei -90dB, e anche la presenza di audio da orgine a un valore negativo, ho sommato tutte le colonne con il valore di dB più basso. Successivamente ho analizzato le colonne dei file lossy paragonandole al FLAC per ottenere una differenza percentuale fra i dB del FLAC e quelli dei file compressi, in particolare ho creato delle nuove colonne i cui valori corrispondevano a "(dB_MAX - dB_MIN)/db_FLAC" dove dB_MAX è il valore di dB più alto ad una data frequenza fra lo spettro del FLAC e lo spettro del lossy, similmente dB_MIN è il valore più basso ad una data frequenza fra lo spettro del FLAC e lo spettro del lossy, dB_FLAC invece è il valore di dB dello spettro del FLAC alla data frequenza.
Esempio1: alla frequenza di 10kHz il FLAC ha un'intensità di 30dB il lossy di 10dB, db_MAX sarà 30, db_MIN sarà 10, db_FLAC sarà 30.
Esempio2: alla frequenza di 10kHz il FLAC ha un'intensità di 30dB il lossy di 40dB, db_MAX sarà 40, db_MIN sarà 30, db_FLAC sarà 30.
In questo modo si ottiene che la differenza percentuale fra i due spettri sarà sempre un numero positivo, il che è fondamentale per il successivo passaggio: il calcolo della media di questa differenza percentuale (che successivamente chiamerò "Errore") sull'interò intervallo di frequenze. In definitiva si ottengono i valori medi di errore di ogni codec lossy per ogni bitrate esaminato. Avendo usato alcuni codec con bitrate variabile ho anche calcolato il bitrate effettivo basandomi sulla dimensione del file e sulla durata della traccia audio. Si possono quindi creare grafici in cui mostrare l'andamento dell'errore in funzione del bitrate e del codec selezionato.
Risultati
I risultati riportati di seguito sono stati ottenuti utilizzando la procedura appena descritta applicata a 4 diverse canzoni (è un lavoro un po' lungo e voglio ricevere i vostri feedback prima di continuare con altre canzoni). In particolare ho utilizzato: Made Of Stone (Evanescence); What You Want (Evanescence); Sinèad (Within Temptation); A Way Away (Indica). Essendo le prime due canzoni molto simili (stesso gruppo, stesso album, stesso genere) risultati simili potevano essere abbastanza scontati, così ho scelto di usare altre 2 canzoni che fossero sufficientemente diverse fra le prime due e fra di loro.
MP3:
http://img35.imageshack.us/img35/5359/newmp3.jpg (http://imageshack.us/photo/my-images/35/newmp3.jpg/)
Utilizzando una scala semi-logaritmica è possibile notare un'ottima linearità dei valori di errore al variare del bitrate utilizzato.
OGG:
http://img12.imageshack.us/img12/3559/newogg.jpg (http://imageshack.us/photo/my-images/12/newogg.jpg/)
Risultato analogo per il codec OGG Vorbis, anche se mostra una dispersione dei dati a valori di bitrate elevati.
AAC:
http://img705.imageshack.us/img705/3992/newaat.jpg (http://imageshack.us/photo/my-images/705/newaat.jpg/)
Per gli AAC il discorso si fa più complicato, la linearità è del tutto assente, tuttavia in grafico sono presenti i dati di tutte e 4 le canzoni, quindi questo non è un caso isolato. Si possono identificare 2 regioni: bitrate minori di 250kb/s l'andamento è abbastanza normale e simile agli OGG e agli MP3; bitrate maggiori di 250kb/s il valore di errore è fortemente dipendente dalla specifica traccia audio, inoltre questo diventa del tutto indipendente dal bitrate utilizzato. Personalmente sono due le possibili spiegazioni che ho trovato per il comportamento dell'ultima regione, la prima è che il codec AAC sviluppato da Nero sia stato ottimizzato per bitrate attorno ai 300kb/s e che valori superiori siano stati resi accessibili più per ragioni di "marketing" che di reale utilità, la seconda ipotesi è che il codec a bitrate così alti vada a lavorare su fattori non tenuti in considerazione dalla mia procedura, mantenendo di fatto invariato lo spettro perchè ritenuto sufficientemente fedele all'originale.
Conclusioni
Per meglio valutare la bonta di un codec rispetto all'altro è necessario mostrare i risultati all'interno di uno stesso grafico:
http://img600.imageshack.us/img600/4689/allg.jpg (http://imageshack.us/photo/my-images/600/allg.jpg/)
Il primo e più scontato commento che si può fare riguarda l'MP3: chiaramente questo è un codec sconsigliabile in quanto genera un errore medio sempre superiore a quello generato dagli altri 2 codec. AAC e OGG invece si contendono lo scettro di miglior codec (limitatamente ai 3 analizzati) a seconda del bitrate utilizzato a causa dell'andamento peculiare del primo: per bitrate medio-bassi (inferiori a 250kb/s) il codec OGG Vorbis tende a mantenersi più simile all'originale; per bitrate medio-alti (fra i 250 e i 350) il codec AAC si dimostra generalmente migliore (ma sembra sconsigliabile superare i 300kb/s con questo codec in quanto i miglioramenti, relativamente alla mia procedura di calcolo, risultano nulli); per bitrate estremamente alti (>450kb/s) il codec OGG Vorbis è un chiaro vincitore.
Note e P.S
Mi rendo conto che questo metodo di calcolo dell'errore non è perfetto, in particolare la mia idea iniziale era quella di comparare frequenza e intensità istante per istante (o comunque con una frequenza di campionamento ragionevole) in modo da poter considerare le differenze fra originale e compresso sotto ogni punto di vista, tuttavia con i software a me noti questo non era possibile (se conoscete software che mi consentono ciò consigli sono ben accetti, quantomeno si può valutare meglio la bontà di questo mio approcio semplificato).
Critiche costruttive sono più che ben accette, critiche fatte tanto per fare no e non verranno tenute in considerazione.
Se avrò da voi un feedback positivo analizzerò altre canzoni in modo da avere un campione più ampio, e se siete interessati, anche altri codec (MPC e WMA per dirne altri due abbastanza diffusi).
Se siete interessati posso anche inviarvi i fogli di calcolo che ho usato pronti per ricevere in input gli spettri delle vostre canzoni e con tutte le formule già impostate per fare automaticamente i calcoli sui vostri dati.
Per il momento credo sia tutto.
magisterarus
10-02-2012, 23:51
Comparativa molto interessante, complimenti!
Sarebbe utile confrontare anche i risultati degli AAC con codec Apple.
dav1deser
10-02-2012, 23:58
Grazie, per gli AAC Apple si può provare (non so perchè non ci avevo nemmeno pensato...), ho già visto che con Foobar2000 (e l'encoder di itunes) si può fare, spero solo che audacity non abbia difficoltà a leggere i file.
magisterarus
11-02-2012, 00:16
Grazie, per gli AAC Apple si può provare (non so perchè non ci avevo nemmeno pensato...), ho già visto che con Foobar2000 (e l'encoder di itunes) si può fare, spero solo che audacity non abbia difficoltà a leggere i file.
Esattamente. Tuttavia iTunes non è necessario. Bastano QuickTime ed il frontend qtaacenc utilizzabile tramite foobar2000.
dav1deser
11-02-2012, 00:23
So che iTunes non è necessario, difatti adesso stavo facendo una prova, però usando iTunesEncode.exe
dav1deser
11-02-2012, 00:36
Ok ho provato con qtaacenc e quicktime e ha funzionato, Audacity non ha dato problemi. Quindi poi aggiungerò anche l'AAC di Apple.
dav1deser
11-02-2012, 12:05
(Il seguente post è stato aggiunto al primo)
AAC: Apple vs Nero
Questa è una piccola comparativa incentrata sul codec AAC, essendo stato sviluppato in due differenti versioni, da Apple e da Nero, è lecito chiedersi che differenze ci siano fra queste due versioni. Per ora mi sono limitato ad analizzare una sola canzone utilizzando i due codec AAC in modalità CBR, con bitrate minimo di 32kb/s e a crescere a step di 32kb/s (fino ad un massimo di 320kb/s per il codec Apple, e fino ad un massimo di 512kb/s per il codec Nero).
Questo è il risultato
http://img72.imageshack.us/img72/4295/avsn.jpg
L'andamento peculiare del codec AAC di Nero si riscontra anche con l'AAC Apple. Per bitrate inferiori ai 100kb/s il codec Nero risulta superiore, mentre se si guarda il range da 100 a 200kb/s i risultati sono del tutto analoghi. Nel range 200-300kb/s i risultati sono altalenanti, mentre per bitrate maggiori la qualità torna ad essere alla pari, mostrando per entrambe le versioni di codec una totale assenza di miglioramento per bitrate superiori.
magisterarus
11-02-2012, 14:01
Puoi testare il codec Apple anche in modalità True VBR alla massima qualità? (--tvbr 127 --highest - %d).
Ho letto - e verificato attraverso foobar - che il VBR Apple è molto più "elastico" ed efficiente rispetto al Nero, con picchi nel bitrate che possono superare gli 800 kb/s.
dav1deser
11-02-2012, 14:02
Ok più tardi farò qualche prova.
dav1deser
11-02-2012, 15:23
(Il seguente post è stato aggiunto al primo)
AAC parte 2
Come si comportano invece i codec Apple e Nero quando si passa alla modalità VBR? Per rispondere a questa domanda ho analizzato una canzone sfruttando la modalità VBR del codec nero impostando un fattore di qualità compreso tra 0.1 e 1 con step di 0.1, per il codec Apple ho utilizzato la modalità TVBR impostando un fattore di qualità compreso tra 15 e 120 a step di 15 e utilizzando anche il massimo fattore di qualità pari a 127.
Questo è il risultato:
http://img607.imageshack.us/img607/8482/atvvsnv.jpg
Si può notare come per bitrate inferiori a 200kb/s o superiori a 300kb/s i risultati siano praticamente coincidenti, mentre per valori intermedi il codec Apple è in grado di garantire una qualità superiore.
Per completezza ho riportato anche i confronti fra CBR e VBR (TVBR per Apple) per entrambi i codec.
Nero:
http://img11.imageshack.us/img11/9022/ncvsnv.jpg
Stranamente la modalità CBR sembra garantire la stessa qualità del VBR, o persino superiore nel range 200-300kb/s
Apple:
http://img259.imageshack.us/img259/6183/acvsatv.jpg
In questo caso invece la modalità TVBR garantisce un qualità pari o superiore a quella del CBR.
Quindi la modalità migliore per gli AAC Nero è il CBR, mentre per gli AAC Apple è il TVBR, il confronto fra questi due è mostrato di seguito:
http://img402.imageshack.us/img402/8413/atvvsnc.jpg
L'Apple TVBR si dimostra superiore nel range 200-300kb/s, per tutti gli altri valori di bitrate le differenze sono pressochè nulle.
(Questo
sembra interessante
appena la leggo ti dico :stordita:
magisterarus
11-02-2012, 16:12
Ottimo lavoro.
Se non li hai già eliminati, sarebbe interessante - a completamento della disamina - un raffronto tra il "peso" dello stesso file nelle varie codifiche analizzate.
Interessante, dav1deser... Le rilevazioni oggettive sono sempre utili. Se non altro dovrebbero servire a temperare la "soggettività" di quelle soggettive... :D
Interessante analisi. Vorrei chiedere una cosa: come si comporta la tua analisi se un algoritmo inserisse un minimo di attenuazione uniforme su tutte le frequenze? Questo dubbio mi è venuto leggendo l'equazione (dB_MAX - dB_MIN)/db_FLAC.
Interessante, dav1deser... Le rilevazioni oggettive sono sempre utili. Se non altro dovrebbero servire a temperare la "soggettività" di quelle soggettive... :D
In realtà, secondo me, quello che sarebbe veramente interessante sapere è quanto l'orecchio umano è mediamente in grado di percepire le differenze.
Che ci siano (le differenze) è scontato, il lossy si basa proprio nell'eliminare dati per rendere un file leggero eliminando quello che comunque non saremmo in grado di percepire.
Inviato da reckca
[...]quanto l'orecchio umano è mediamente in grado di percepire le differenze.[...]
A questo punto andrebbe anche fatta un'analisi della qualità di percezione di un 20enne contro quella di un 50enne, quella di uno abituato al traffico cittadino contro quella di un eremita.
Direi che la soggettività non si potrà mai eliminare. :p
A questo punto andrebbe anche fatta un'analisi della qualità di percezione di un 20enne contro quella di un 50enne, quella di uno abituato al traffico cittadino contro quella di un eremita.
Direi che la soggettività non si potrà mai eliminare. :p
Siamo daccordo, ma a meno che tu non sei superpippo, è comunque possibile stabilire quello che ho detto.
Poi ci sarà il ventenne (che sarai presumibilmente tu) che avrà una percezione migliore, un cinquantenne (che sono io) che la avrà peggiore, ma i 10 hz ed i 30K normalmente nessuno li percepisce, quindi se il taglio viene fatto lì, gli strumenti se ne accorgono e tu no.
Altrimenti è un cretino chi ha ideato i file lossy.
Altrimenti è un cretino chi ha ideato i file lossy.
Chi ha ideato (o meglio, chi ci fa i soldi sopra) i lossy non è un cretino: è uno molto furbo. Perché c'è un'intera generazione di persone che credono che ascoltare mp3 sia ascoltare musica. E gli mp3 te li vendono a 1 euro l'uno... siamo ai limiti della circonvenzione d'incapace! E dov'è c'è un piano diabolico, c'è quasi sempre un'ideologia. Nello specifico, l'ideologia è: "ah, ma tanto si tratta di suoni inudibili per l'orecchio umano a meno che non sia bionico!"... quando ho sentito per la prima volta questa fregnaccia il riferimento era a mp3 (o m4a) a 128 kbps!... poi lo si diceva di quelli a 256... ma per favore!
Io, come minimo sindacale al posto dei loseless, uso AAC codificati con Nero a 350/400 kbps - , e gli mp3, pure a 320, mi fanno schifo: eppure non sono giovane (35 anni), non sono "audiofilo" e non ho l'orecchio bionico.
Rainy nights
12-02-2012, 03:54
Santa m***a che lavoro :eek:
Complimentissimi, me lo leggo con calma (tanto non ho sonno :sofico: )
Chi ha ideato (o meglio, chi ci fa i soldi sopra) i lossy non è un cretino: è uno molto furbo. Perché c'è un'intera generazione di persone che credono che ascoltare mp3 sia ascoltare musica. E gli mp3 te li vendono a 1 euro l'uno... siamo ai limiti della circonvenzione d'incapace! E dov'è c'è un piano diabolico, c'è quasi sempre un'ideologia. Nello specifico, l'ideologia è: "ah, ma tanto si tratta di suoni inudibili per l'orecchio umano a meno che non sia bionico!"... quando ho sentito per la prima volta questa fregnaccia il riferimento era a mp3 (o m4a) a 128 kbps!... poi lo si diceva di quelli a 256... ma per favore!
Io, come minimo sindacale al posto dei loseless, uso AAC codificati con Nero a 350/400 kbps - , e gli mp3, pure a 320, mi fanno schifo: eppure non sono giovane (35 anni), non sono "audiofilo" e non ho l'orecchio bionico.
Scusa, ma guarda che non sei assolutamente in contraddizione con quello che dico, perchè rispetto all'originale con un aac stai comunque lavorando per sottrazione di tutto quello che presumibilmente non ti toglie il gusto della musica (solo che tu hai daciso che quello è il tuo limite minimo).
Gli mp3 a 128 non erano un furto, forse una furbata, ma che ha consentito ai lettori di svilupparsi.
Non dimenticare che si andava in giro con lettori a 128, 256 e 512k (circa 500k ora è un disco rippato in flac), e che le esigenze di riduzione erano enormi, e che solo alla possibilità di utilizzare memorie maggiori si è fatto poi riscontro con l'esigenza di migliorare la qualità.
C'è da dire inoltre che senza gli mp3 non staremmo a parlare di tutto il resto, i primi lettori avrebbero deluso tutti e la tecnologia non si sarebbe sviluppata come poi invece è successo.
Ti dirò poi che non tutti sono come te, e che spesso se utilizzi file più pesanti (ma anche più dettagliati) utilizzi più memoria ed utilizzando cuffie scadenti come fa il 90% (stima mia eh? senno poi si polemizza su numeri sparati a caso) non è che il vantaggio sia così udibile.
A me ad esempio come minimo sindacale lo mp3 a 320 va benissimo, forse sono meno bravo di te a capire le differenze.
Solo nel caso della Ultrasone Pro 900 ho problemi, in quanto particolarmente sensibile alla qualità del file (non perdona), ma anche con la Sennheiser hd 600 gli mp3 a 320 sono godibilissimi.
(Faccio parte di quelli che credono alle fregnacce, o forse siamo tutti un poco fregnacciari in questo campo - sai quanta gente con strumenti mediocri coglie le differenze tra flac ed mp3?)
Scusa, ma guarda che non sei assolutamente in contraddizione con quello che dico, perchè rispetto all'originale con un aac stai comunque lavorando per sottrazione di tutto quello che presumibilmente non ti toglie il gusto della musica (solo che tu hai daciso che quello è il tuo limite minimo).
Gli mp3 a 128 non erano un furto, forse una furbata, ma che ha consentito ai lettori di svilupparsi.
Non dimenticare che si andava in giro con lettori a 128, 256 e 512k (circa 500k ora è un disco rippato in flac), e che le esigenze di riduzione erano enormi, e che solo alla possibilità di utilizzare memorie maggiori si è fatto poi riscontro con l'esigenza di migliorare la qualità.
C'è da dire inoltre che senza gli mp3 non staremmo a parlare di tutto il resto, i primi lettori avrebbero deluso tutti e la tecnologia non si sarebbe sviluppata come poi invece è successo.
Ti dirò poi che non tutti sono come te, e che spesso se utilizzi file più pesanti (ma anche più dettagliati) utilizzi più memoria ed utilizzando cuffie scadenti come fa il 90% (stima mia eh? senno poi si polemizza su numeri sparati a caso) non è che il vantaggio sia così udibile.
A me ad esempio come minimo sindacale lo mp3 a 320 va benissimo, forse sono meno bravo di te a capire le differenze.
Solo nel caso della Ultrasone Pro 900 ho problemi, in quanto particolarmente sensibile alla qualità del file (non perdona), ma anche con la Sennheiser hd 600 gli mp3 a 320 sono godibilissimi.
(Faccio parte di quelli che credono alle fregnacce, o forse siamo tutti un poco fregnacciari in questo campo - sai quanta gente con strumenti mediocri coglie le differenze tra flac ed mp3?)
http://www.stereophile.com/features/308mp3cd/index.html
Questo a tuo ed a mio vantaggio.
Ci sono differenze (e grazie), poi diventa un fatto commerciale e di compromesso, i file venduti vanno memorizzati e downlodati.
Anche Deutsche Grammophon vende file mp3, non penso per fregare nessuno, probabilmente lo hanno giudicato un compromesso accettabile tra le esigenze degli ascoltatori e le loro capacità tecnologiche (magari sbagliando).
Pur avendo 50 anni non sono ancora completamente rimbambito, e la differenza tra un cd (ne ho circa 5000) ed un file riprodotto su un ipod la sento ancora.
Penso però che la funzione sia diversa e se voglio qualità mi ascolto appunto un cd, se sono in giro non la ritengo così percepibile, sono attento ad altre cose ed il lettore non è lo stereo di casa.
Ti ripeto, pur non essendo un audiofilo neanche io (Dio mene scampi, in alcuni casi mi sembra che l'attenzione si sposti dalla musica a come si sente la musica), mi stupisco quando alcuni percepiscono enormi differenze con lettori e cuffie scadenti o mediocri (senza criticarli affatto, a mia moglie piacciono tanto le cx300, contenta lei contenti tutti, si vede tanto basta a renderla felice senza troppi giri)
dav1deser
12-02-2012, 11:48
Interessante analisi. Vorrei chiedere una cosa: come si comporta la tua analisi se un algoritmo inserisse un minimo di attenuazione uniforme su tutte le frequenze? Questo dubbio mi è venuto leggendo l'equazione (dB_MAX - dB_MIN)/db_FLAC.
In questo caso si ritroverebbe un certo errore per ogni valore di frequenza. Un possibile rimedio sarebbe quello di prendere tutti i valori di errore e diminuirli di un valore pari all'errore minimo, così l'attenuazione dovrebbe essere tolta dal calcolo (più o meno). Tuttavia si può anche dire che se il suono è attenuato, per ascoltarlo bisogna incrementare il volume sforzando di più il sistema audio che si utilizza ottenendo un suono leggermente degradato (almeno credo, ma non ho conoscenze in materia tali da esserne certo). Se ti interessa proprio posso fare una rapida prova nel modo che ho descritto per vedere cosa salta fuori.
Ottimo lavoro.
Se non li hai già eliminati, sarebbe interessante - a completamento della disamina - un raffronto tra il "peso" dello stesso file nelle varie codifiche analizzate.
Non elimino nulla:D Comunque credo che, almeno a livello grafico, questo raffronto sia già presente, difatti tutti i grafici mostrano l'errore in funzione del bitrate che altro non è che la dimensione del file (se è questo che intendi con peso) fratto la durata della traccia audio. Se non intendevi questo, allora prova a rispiegarmi cosa intendi.
Interessante, dav1deser... Le rilevazioni oggettive sono sempre utili. Se non altro dovrebbero servire a temperare la "soggettività" di quelle soggettive...
In realtà, secondo me, quello che sarebbe veramente interessante sapere è quanto l'orecchio umano è mediamente in grado di percepire le differenze.
Che ci siano (le differenze) è scontato, il lossy si basa proprio nell'eliminare dati per rendere un file leggero eliminando quello che comunque non saremmo in grado di percepire.
Che ci siano differenze è scontato e difatti io non voglio vedere quando la differenza c'è e quando non c'è, ma quant'è. Il fatto che ci siano frequenze "inudibili" è vero ed è appunto la base dei lossy (dovrebbe essere la psicoacustica), tuttavia ci sono troppe variabili per tenerne realmente conto, e anche se decidessi di non considerare gli errori che si presentano a frequenze superiori di X commetterei un errore: non me ne intendo di anatomia ma escludo al 99.99% che l'orecchio umano senta bene fino a X Hz e non senta nulla X+1 Hz. Quindi dovrei dare un differente "peso" agli errori a seconda della frequenza a cui sono generati, ma esiste un modo "oggettivo" per fare ciò?
Il mio obiettivo è valutare in maniera quanto più oggettiva possibile, l'effetto della compressione lossy, non pretendo di dare una risposta univoca alla domanda "qual'è il codec migliore per l'ascolto" (forse questo punto non l'ho messo sufficientemente in risalto nel primo post), ma è il cercare di andare a completare le analisi che a volte vengono fatte da audiofili, che per quanto allenati ed esperti saranno, daranno sempre delle risposte soggettive (anche ad esempio per il fatto che le loro analisi saranno state compiute su sistemi audio che la gente normale, come me, nemmeno si immagina). Quindi se una persona legge l'analisi di un audiofilo che dice che gli MP3 sono i peggiori, poi viene qui e legge di nuovo che gli MP3 sono i peggiori, si rende conto che i metodi di analisi sono agli antipodi, ma danno gli stessi risultati, allora potrà essere certo che gli MP3 sono davvero i peggiori. Poi ovviamente col mio metodo di analisi è possibile avere una stima quantitativa di quanto siano peggio gli MP3 (o di quanto migliorino aumentando il bitrate, o cose simili) che è una cosa che fa sempre piacere.
Santa m***a che lavoro
Complimentissimi, me lo leggo con calma (tanto non ho sonno )
Grazie:D
Grazie anche a tutti gli altri ovviamente.
In questo caso si ritroverebbe un certo errore per ogni valore di frequenza. Un possibile rimedio sarebbe quello di prendere tutti i valori di errore e diminuirli di un valore pari all'errore minimo, così l'attenuazione dovrebbe essere tolta dal calcolo (più o meno). Tuttavia si può anche dire che se il suono è attenuato, per ascoltarlo bisogna incrementare il volume sforzando di più il sistema audio che si utilizza ottenendo un suono leggermente degradato (almeno credo, ma non ho conoscenze in materia tali da esserne certo). Se ti interessa proprio posso fare una rapida prova nel modo che ho descritto per vedere cosa salta fuori.
Non elimino nulla:D Comunque credo che, almeno a livello grafico, questo raffronto sia già presente, difatti tutti i grafici mostrano l'errore in funzione del bitrate che altro non è che la dimensione del file (se è questo che intendi con peso) fratto la durata della traccia audio. Se non intendevi questo, allora prova a rispiegarmi cosa intendi.
Che ci siano differenze è scontato e difatti io non voglio vedere quando la differenza c'è e quando non c'è, ma quant'è. Il fatto che ci siano frequenze "inudibili" è vero ed è appunto la base dei lossy (dovrebbe essere la psicoacustica), tuttavia ci sono troppe variabili per tenerne realmente conto, e anche se decidessi di non considerare gli errori che si presentano a frequenze superiori di X commetterei un errore: non me ne intendo di anatomia ma escludo al 99.99% che l'orecchio umano senta bene fino a X Hz e non senta nulla X+1 Hz. Quindi dovrei dare un differente "peso" agli errori a seconda della frequenza a cui sono generati, ma esiste un modo "oggettivo" per fare ciò?
Il mio obiettivo è valutare in maniera quanto più oggettiva possibile, l'effetto della compressione lossy, non pretendo di dare una risposta univoca alla domanda "qual'è il codec migliore per l'ascolto" (forse questo punto non l'ho messo sufficientemente in risalto nel primo post), ma è il cercare di andare a completare le analisi che a volte vengono fatte da audiofili, che per quanto allenati ed esperti saranno, daranno sempre delle risposte soggettive (anche ad esempio per il fatto che le loro analisi saranno state compiute su sistemi audio che la gente normale, come me, nemmeno si immagina). Quindi se una persona legge l'analisi di un audiofilo che dice che gli MP3 sono i peggiori, poi viene qui e legge di nuovo che gli MP3 sono i peggiori, si rende conto che i metodi di analisi sono agli antipodi, ma danno gli stessi risultati, allora potrà essere certo che gli MP3 sono davvero i peggiori. Poi ovviamente col mio metodo di analisi è possibile avere una stima quantitativa di quanto siano peggio gli MP3 (o di quanto migliorino aumentando il bitrate, o cose simili) che è una cosa che fa sempre piacere.
Grazie:D
Grazie anche a tutti gli altri ovviamente.
Mi devi scusare,
probabilmente si è percepita una nota polemica che nelle mie intenzioni non c'era.
La mia domanda era genuina, a fronte di una qualità inferiore acclarata (non si chiamerebbe lossy) mi sarebbe piaciuto capire quanto noi percepiamo e quanto incide la qualità degli strumenti che utilizziamo.
O meglio dire che i file mp3 sono i peggiori mi sembra scontato, ero solo curioso di capire quanto questo incide realmente sulla qualità del nostro ascolto, quanto invece conta l'immaginazione e quanto contano gli strumenti che utilizziamo (una cuffietta da 20 euro è in grado di sottolineare queste differenze?).
Tutto lì, niente di più e niente di meno, mi incuriosisce il fatto che io con strumenti mediamente validi (in questo momento Nationite, amp arrow e cuffie ultrasone proline 2500) mi godo anche dei file mp3 e che invece alcuni li schifino.
Il tuo lavoro lo ho molto apprezzato, ed è proprio per questo che chiedevo lumi.
In questo caso si ritroverebbe un certo errore per ogni valore di frequenza.
Capito! :D Più che altro mi turba il confronto di tutti i formati in un unico grafico. Perché in tale caso un determinato codec potrebbe avere errori traslati verso l'alto o il basso e quindi una valutazione fallace.
dav1deser
12-02-2012, 15:24
Ho problemi a postare...
@ale88
E allora farò un paio di prove per vedere se i risultati cambiano in maniera sensibile o meno.
@reckca
Ok ora in effetti quello che intendevi mi è più chiaro, tuttavia rispondere alle tue domande è molto complesso, e di sicuro io non ne sono in grado. In primo luogo bisognerebbe trovare degli articoli scientifici che trattano della sensibilità del timpano umano "medio" al variare della frequenza, poi bisognerebbe testare i sistemi audio in maniera analitica, ad esempio facendogli riprodurre una traccia audio, registrandola con un qualche strumento con elevata precisione, e infine comparando la traccia audio originale con quella registrata. E così tenendo in considerazione anche questi fattori si potrebbe dare un "peso" adeguato all'"errore" in funzione della frequenza. Tuttavia il punto di partenza resterebbe il timpano medio, che non è il tuo, così come potrebbe differire il sistema audio utilizzato (e analizzare tutte le possibili combinazioni sarebbe un lavoro inumano), per non parlare del rumore di fondo che potrebbe interferire in maniera più o meno marcata sull'ascolto.
magisterarus
12-02-2012, 15:32
Non elimino nulla:D Comunque credo che, almeno a livello grafico, questo raffronto sia già presente, difatti tutti i grafici mostrano l'errore in funzione del bitrate che altro non è che la dimensione del file (se è questo che intendi con peso) fratto la durata della traccia audio. Se non intendevi questo, allora prova a rispiegarmi cosa intendi.
Intendevo le dimensioni di una stessa traccia audio ottenibili utilizzando le diverse codifiche. Trattandosi anche di VBR, non è facile prevedere il risultato finale.
dav1deser
12-02-2012, 15:33
P.S questa è una mia idea di come si potrebbe procedere per seguire un percorso quanto più analitico e oggettivo possibile, magari ci sono altri metodi più semplici ed efficaci.
P.P.S un modo semplice per tenere un minimo conto di orecchio e strumento sarebbe andare a guardare mediamente i range di frequenze tipici dei due, prendere il range più basso ed escludere dal calcolo tutti i valori di errore al di fuori di questo range. Esempio (dando numeri a caso): se il timpano umano mediamente sente tra i 10Hz e i 20KHz, gli strumenti di riproduzione audio (cuffie, casse, auricolari etc...) rispondono a freqenze fra i 20Hz e i 22KHz, si potrebbero escludere gli errori a frequenze inferiori ai 20Hz e superiori ai 20KHz. Se vi interessa come approcio, trovatemi dei dati (con fonti affidabili) e vedrò di tenerne conto.
P.P.P.S questo mio posto e il mio precedente dovevano essere assieme ma non riuscivo a inviarlo...
dav1deser
12-02-2012, 15:42
Intendevo le dimensioni di una stessa traccia audio ottenibili utilizzando le diverse codifiche. Trattandosi anche di VBR, non è facile prevedere il risultato finale.
Be' è una cosa che può fare chiunque:D Comunque appena avrò fatte altre prove con i vari AAC su altre canzoni, non sarà un problema fare un grafichino con il bitrate in funzione del fattore di qualità impostato.
magisterarus
12-02-2012, 15:46
Be' è una cosa che può fare chiunque:D Comunque appena avrò fatte altre prove con i vari AAC su altre canzoni, non sarà un problema fare un grafichino con il bitrate in funzione del fattore di qualità impostato.
Sicuro ;) , hai gia fatto un lavoraccio.
Perciò ti chiedevo prima se avevi ancora i file a portata di mano. Ti basterebbe solo riportarne le dimensioni.
dav1deser
12-02-2012, 15:54
Sicuro ;) , hai gia fatto un lavoraccio.
Perciò ti chiedevo prima se avevi ancora i file a portata di mano. Ti basterebbe solo riportarne le dimensioni.
Be' ma per ora le prove sui vari AAC le ho fatte su una sola canzone, ovviamente 1 non è un campione sufficientemente ampio, quindi farò altre prove. Una volta fatte riporterò anche quel grafico.
dav1deser
12-02-2012, 19:00
Capito! :D Più che altro mi turba il confronto di tutti i formati in un unico grafico. Perché in tale caso un determinato codec potrebbe avere errori traslati verso l'alto o il basso e quindi una valutazione fallace.
Sottraendo l'errore minimo dai risultati di ognuno dei casi analizzati ho ottenuto i seguenti risultati:
http://img7.imageshack.us/img7/4058/aaca.jpg
http://img692.imageshack.us/img692/5852/mp3a.jpg
http://img43.imageshack.us/img43/8230/ogga.jpg
Quindi direi che in nessuno dei casi c'è un'attenuazione dovuta ai codec che sia rilevante.
Fantastico! :p Quindi nessun errore rilevante.
Posso consigliare, se pensi possa essere utile, di fare un confronto solo su certe gamme di frequenze? Sapendo che i formati lossy lavorano sottraendo informazione su frequenze al di fuori dell'udibile, penso sia interessante vedere il confronto tra i vari codec in quegli intervalli.
Comunque complimenti per il lavoro! :O
dav1deser
12-02-2012, 23:14
:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:
Purtroppo, nonostante prima di fare questo lavoro avessi controllato che non succedesse, invece succede...non ho voglia adesso di spiegare (anche se non è nulla di complicato) ma, in parole povere, mi sono accorto di una fonte d'errore non indifferente. Quindi? I risultati sono sbagliati, in particolare quelli a bassi bitrate, quelli ad alti dovrebbero essere comunque validi, quelli medi :confused:
Tuttavia non demordo, difatti ho passato le ultime 3 ore circa a cercare una soluzione, e dopo aver sbattutto un po' la testa contro il muro (e non intendo metaforicamente) dovrei aver trovato una soluzione. Se siete sempre interessati, un po' alla volta vedrò di aggiornare il tutto con dati corretti (sia postando nuovi grafici sia aggiornando il primo post). Vi chiedo solo di pazientare un po' perchè il procedimento richiede tempo, ed è ben lontano dall'essere automatizzato.
Di nuovo :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:
dav1deser
13-02-2012, 00:10
Questo è un esempio di come vengono i risultati corretti nel caso della compressione MP3:
http://img577.imageshack.us/img577/5359/newmp3.jpg (http://imageshack.us/photo/my-images/577/newmp3.jpg/)
Come previsto ci sono differenze, ma sono presenti solo a bassi bitrate.
Questo invece è con un OGG:
http://img815.imageshack.us/img815/667/oggnew.jpg (http://imageshack.us/photo/my-images/815/oggnew.jpg/)
Fortunatamente, nessuna differenza rilevante.
dav1deser
13-02-2012, 12:23
E questi invece è un esempio di AAC Apple TVBR corretto:
http://img69.imageshack.us/img69/2351/aacatvbrnew.jpg (http://imageshack.us/photo/my-images/69/aacatvbrnew.jpg/)
Quindi direi che i vecchi grafici, se si guardano i bitrate > 150kb/s sono ancora validi.
dav1deser
13-02-2012, 18:38
Buone nuove, sono a buon punto con il lavoro di sistemazione, tant'è che ho aggiornato il primo post con i nuovi grafici e conclusioni leggermente modificate per i bassi bitrate. Ho eliminato momentaneamente la comparazione fra le varie modalità AAC in quanto non ho ancora provveduto a rifare tutte le prove.
Khanattila
13-04-2012, 17:17
Lavoro interessante, mi hai quasi fatto venire la voglia di fare il test con altri codec :D
Dalla tua tabella si evince questo:
MP3 125 Kb/s = AAC 100 Kb/s = OGG 50 Kb/s
MP3 175 kb/s = AAC 125 kb/s = OGG 120 kb/s
MP3 320 kb/s = AAC 210 kb/s = OGG 155 kb/s
MP3 N/D kb/s = AAC 240 kb/s = OGG 180~250 kb/s
MP3 N/D kb/s = AAC 265 kb/s = OGG 180~320 kb/s
MP3 N/D kb/s = AAC 265~350 Kb/s = OGG 320~390 kb/s
MP3 N/D kb/s = AAC N/D kb/s = OGG ~475 kb/s
secondo me il metro di paragone non è affidabile principalmente per due motivi:
1- le differenze non indicano una qualità percettiva maggiore o minore, dato che un audio di bassa qualità potrebbe avere la stessa differenza assoluta di una traccia piena di scariche e crepitii;
2- se la psicoacustica dipendesse solo da questo basterebbe creare un codec che perde il meno possibile, purtroppo questo non è realistico.
inoltre ricordo che questi sono codec pensati per bitrate compresi tra 256kbps e 32kbps, il confrontarli con bitrate così alti è un nosense.
ci sono molti test abx sui forum specializzati (es Hydrogenaudio)
puoi vederne qui uno interessante http://www.hydrogenaudio.org/forums/index.php?showtopic=93647
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.