martedì 29 gennaio 2013

Un compressore dinamico in prova

Un precedente post era dedicato agli effetti negativi della compressione dinamica sui buoni ascolti e a tutta la polemica su questo argomento che normalmente è indicata con il termine "loudness war".
La compressione dinamica rende la musica meno realistica all'ascolto, ma più adatta ad essere suonata su impianti non hi-fi (i più diffusi) o in situazioni in cui ascolti hi-fi non sono possibili.

La compressione dinamica può però aggiungere al nostro corredo di applicazioni per la gestione dei contenuti una funzionalità utile per l'ascolto di materiale musicale ad alta dinamica in ambienti o situazioni nei quali la gamma dinamica non è sufficiente. Esempio tipico è l'ascolto in auto di musica classica, un ambiente che non può essere silenzioso come una stanza della nostra casa e contenuti musicali che, come abbiamo visto nel post precedente dedicato alla misura della dinamica con il metodo DR (dynamic range) possono raggiungere anche i 16-17 dB di variazione rispetto al valor medio pesato. Questo post è dedicato alla verifica dell'efficacia di questa soluzione.

Il compressore di dinamica
Un compressore di dinamica è un algoritmo della categoria DSP (digital signal processing) che alza opportunamente i passaggi a basso livello, quelli che sarebbero coperti dal rumore di fondo, e abbassa quelli ad alto livello, che porterebbero l'impianto in zona distorsione e/o sarebbero troppo elevati in auto e anche non sicuri perché mascherano i rumori esterni. Dovrebbe fare il tutto in modo automatico e più efficace quello che facciamo noi istintivamente in questa situazione, abbassando e alzando continuamente il volume, e perdendo molto presto ogni interesse a proseguire l'ascolto in questa situazione.
L'ideale sarebbe che questa funzionalità di elaborazione audio fosse inclusa direttamente negli impianti di serie delle vetture, ma così non è, e una diversa strategia può essere quella di preparare preventivamente il materiale compresso per l'ascolto in auto, partendo da quello non compresso che ascoltiamo a casa.

Il component Effect DSP di Foobar2000
Un compressore di dinamica può essere un componente specializzato professionale per studio di registrazione ma può essere anche una applicazione per PC. Ne esistono diverse ed una che gode buona fama si chiama vlevel ed è stata sviluppata per ambiente Linux. E' stata portata anche in ambiente Windows con la realizzazione di un component per Foobar2000, ma provando ad installarlo sull'ultima versione del popolare media player da' un errore di incompatibilità. Problemi di aggiornamento evidentemente. Ho ripiegato quindi su un diverso component, che aggiunge alle funzioni DSP già presenti di default sul media player la compressione dinamica.

Preparazione del materiale
Una volta installato, il component, che si chiama Effect DSP (foo_dsp_effect) è auto-installante e si trova alla solita pagina dei componenti aggiuntivi, non fa altre che aggiungere, tra molte altre, una nuova funzionalità "dynamic compressor" alla lista di quelle attivabili nella sezione processing del converter setup, come si vede nella figura sotto. Per ottenere un brano o un intero album compresso dinamicamente l'unica cosa da fare quindi è convertirlo in questo modo. Ricordandosi poi di deselezionare questa funzionalità e di rinominare i file o la cartella per riconoscerli come compressi.


Con il tasto Configure selected si possono variare i parametri della compressione. Nel test che ho fatto ho lasciato i valori di default, confidando che non siano scelti a caso ma perché sono quelli comunemente più efficaci.


Per verificare l'efficacia bisogna fare una prova d'ascolto, ma per rendere più oggettivo il test si può anche misurare l'effetto del processamento usando proprio la utility dynamic range già analizzata in un precedente post, prima e dopo la cura. I brani che ho scelto erano di musica classica, ovviamente, provenienti da un eccellente disco della BIS (un SACD, ma ho usato lo strato CD) e da un altro CD sempre di musica per piano, ma più semplice, e sempre di Prokofiev:


  • Prokofiev: Piano Concerto No. 2 in G minor, Op. 16 - III. Intermezzo- Allegro moderato - Pianista Freddy Kempf, Bergen Philharmonic Orchestra diretta da Andrew Litton
  • Prokofiev: Piano Sonata No. 2 in D minor, Op. 14 - IV. Vivace, Moderato, Vivace
  • Prokofiev: Toccata da 10 Small Pieces, pianista Eteri Andjaparidze

L'analisi mostrava sul primo pezzo un DR pari a 15, 16 sul secondo e 12 sul terzo. Tutti brani quindi effettivamente ad alta dinamica. Dopo il trattamento il primo scendeva a 12, il secondo a 14 e il terzo a 11 DR. Qui nel seguito i dati del primo pezzo prima e dopo la compressione.


Come si vede dai log riportati sotto il programma ha anche livellato i due canali e ha alzato di parecchio il livello più basso (RMS è il punto medio) mentre non ha agito sul massimo ovviamente, che era già prossimo allo 0dB,



Per l'ascolto in auto occorre poi trasferire i file audio convertiti su un CD o su una pen-drive USB a seconda degli ingressi disponibili sul lettore dell'auto. Io ho usato un CD. L'importante è scegliere l'ingresso sul quale non viene fatto alcun pre-processamento, normalmente il lettore CD (se ancora c'è) dovrebbe essere "pulito".

L'ascolto in auto
Occorre fare una doverosa premessa. Un impianto di serie, tranne (forse) alcune auto alto di gamma, è in criticità proprio all'origine per un ascolto con una escursione dinamica elevata, perché ha difficoltà a produrre alti volumi senza distorcere in maniera udibile. I risultati ottimali richiedono un impianto realizzato da un installatore specializzato con amplificatori dedicati alle diverse vie e altri accorgimenti connessi. Come quello che ho in auto e su cui ho fatto la prova, che non si applica quindi ad impianti di serie dove, ritengo, l'effetto potrebbe essere meno evidente.
Nel CD avevo semplicemente alternato gli stessi brani non compressi e compressi e ho proceduto all'ascolto in un normale trasferimento in città quindi in condizioni di rumorosità ambientale medie. Per fornire tutti i dati aggiungo che l'auto è una Mini ultimo tipo, quindi un'auto di impostazione sportiva ma non troppo, quindi non ai massimi livelli di silenziosità ma cogmunque con buon livello di insonorizzazione rispetto ai rumori esterni (non avevo a disposizione un'Audi A8 per fare una prova comparativa).

Risultato ottenuto
Il risultato all'ascolto, anche con i parametri di default è stato molto positivo. Tutti e tre i brani, ma più marcatamente il secondo, senza compressione risultavano molto difficili da ascoltare con soddisfazione, i frequenti passaggi a basso livello diventavano meno intellegibili perché disturbati dal rumore di fondo. La compressione invece era molto efficace. Per prima cosa, non avvertibile alcun effetto artificioso né un abbattimento eccessivo della dinamica, che sembrava anzi ancora più evidente, paradossalmente, perché percepibile per intero. Basta solo trovare il volume giusto (non troppo alto nei fortissimo) e poi godersi la musica, anche nei momenti più critici rumoristicamente parlando, come gli occasionali passaggi sul mitico sampietrino (pavé) romano. Uno strumento molto utile.

domenica 6 gennaio 2013

Foobar2000 versione 1.2: Aggiornamenti

I prodotti software evolvono, arrivano nuove versioni, e le guide in Internet inevitabilmente invecchiano. Succede anche per quelle che abbiamo pubblicato per Foobar2000, arrivato ora alla versione 1.2. Ora un po' più semplice da configurare.
Questo post è quindi un aggiornamento alle precedenti mini-guide di Foobar2000 elencate nel seguito:
1. Dopo l'installazione
La versione 1.2 comprende già una serie di componenti (vedi figura) e all'avvio la prima volta consente di scegliere "a vista" la interfaccia che si vuole usare tra una decina di configurazioni (si può cambiare anche dopo). Ho scelto quella più semplice che mostra i dati dell'album che si sta eseguendo. Si può anche inserire in una delle finestre la libreria (album list) oppure lasciare la visione della libreria in una finestra a parte, attivabile con Library > Album List e poi configurabile.
Questa configurazione a vista è anche richiamabile in seguito con View > Layout > Quick Setup.




2. Quello che è già incluso

Playback
Sono già inclusi nel kit quasi tutti i formati audio lossless, sono da installare a parte solo Monkey Audio (.APE) e SACD (.DFF). Quelli inclusi quindi sono:
  • non compressi: WAV, AIFF
  • compressi lossless: WMA, FLAC, ALAC, WavPack
  • compressi lossy: AAC, MP3, MusePack
Convert
Come in precedenza il kit arriva con inclusi soltanto i convertitori ai formati non compressi WAV e AIFF. Per tutti gli altri formati occorre inserire in una directory del PC l'appropriato encoder e selezionarlo la prima volta. Dopodiché penserà Foobar2000 a ritrovarlo e a procedere con la conversione. Gli encoder bisogna cercarli pazientemente in rete ma quasi tutti i formati sono già preconfigurati sul media player e quindi non bisogna fare nulla di più.

I formati lossless di Apple (ALAC) e Microsoft (WMA) non sono invece preconfigurati e quindi occorre anche creare un nuovo formato nella sezione converter. In sintesi:
  • formati output non compressi supportati: WAV, AIFF
  • formati output compressi lossless preconfigurati da aggiungere: FLAC, WavPack
  • formati output compressi lossy preconfigurati da aggiungere: AAC, MP3, Musepack, Ogg Vorbis
  • formati output compressi lossless non preconfigurati: ALAC, WMA, APE (vedi nel seguito)

Driver bit perfect
Nella versione standard i driver vengono selezionati tra quelli installati sul sistema, incluso quello dell'eventuale driver esterno. Volendo utilizzare un driver bit perfect (WASAPI o ASIO) bisogna procedere con la installazione di un componente aggiuntivo (vedi dopo).

DLNA / UpNP
La configurazione di Foobar2000 per funzionare con protocollo DLNA come media renderer o media library è un'altra operazione che bisogna fare a posteriori.

Masterizzazione CD (Burn Audio CD)
Un'altra funzione molto utile che deve essere installata a parte. Consente di creare CD Audio standard da qualsiasi formato gestito da Foobar2000 e si aggiunge alle funzioni di Convert.

3. Mini guida alle personalizzazioni più utili
Sono disponibili nella libreria di Foobar2000 i components già pronti per aggiungere le seguenti personalizzazioni:
  • supporto WASAPI
  • supporto ASIO
  • supporto APE (MediaMonkey)
  • supporto DFF (file audio DSD - SACD)
  • funzionalità DLNA/UpNP
  • funzionalità Burn Audio CD
E' invece necessario rivolgersi a componenti esterni per i convertitori in formato ALAC e WMA.
Un'altra novità è che per molti components è ora disponibile un kit auto-installante. Basta quindi attivarlo cliccandovi sopra per inserire la nuova funzionalità in Foobar2000. Per gli altri bisogna invece procedere come prima, quindi: 1) estrarre dal file zippato l'eseguibile in formato .dll  2) trascinare col mouse il component estratto nel pannello che si apre con la sequenza Preferences > Components  3) selezionare il componente da installare e cliccare sul tasto Apply.

WASAPI
A differenza che in precedenti configurazioni il supporto WASAPI deve essere installato a parte. Il component si scarica sempre da http://www.foobar2000.org/components e per la ricerca si può usare CTRL-F > wasapi. Il componente specifico è foo_out_wasapi ed è auto-installante: si lancia, si aggiunge agli altri automaticamente , bisogna solo selezionare il pulsante Apply in Preferences > Output.
La novità è che ora sono presenti due modalità, Events e Push tra le quali si può scegliere (vedi figura). La modalità Events secondo la documentazione è quella preferibile, se il DAC USB la supporta.


ASIO
Identiche operazioni per il supporto ASIO. In questo caso è prevista una sola opzione e procedendo come sempre viene aggiunta la nuova funzionalità.


Player: Supporto APE
Anche in questo caso il component scaricato è auto installante e tutto funziona in pochi attimi, consentendo si ascoltare mediante Foobar2000 anche file audio in questo formato.

Player: Supporto DFF
Sono i file per PC convertiti da album in formato SACD, quindi in risoluzione 24/88.2.
Il component in questo caso non è auto installante e bisogna inserirlo a mano, come anticipato in precedenza. Almeno su Windows 7 ho notato che l'unico sistema che funziona è il drag & drop. In altre parole bisogna aprire il pop-up Preferences > Component e trascinare il file .dll dalla directory in cui è stato decompresso e salvato sull'elenco dei componenti. Dopodiché si procede con Apply come negli altri casi.

Conversione in ALAC
E' il  formato più compodo per chi usa anche iTunes e quindi inserisco alcune informazioni aggiuntive perché l'installazione è un poco laboriosa.
L'encoder si chiama qaac.exe e si trova (almeno attualmente) in questo sito della organizzazione che lo ha sviluppato. Nel testo descrittivo a un certo punto viene indicato dove scaricare gli eseguibili (... download latest version here ...).
Si deve inserire in una directory a propria scelta e poi configurare un nuovo encoder nel pannello Convert > Choose Output Format di Foobar2000.
Per aggiungere un nuovo convertitore utilizzare il pulsante Add New  e poi nel menu a tendina la opzione Custom (vedi figura).
I vari campi del pannello vanno compilati esattamente come indicato nella seconda figura, nel primo campo va inserita la directory dove è stata salvata l'applicazione qaac.exe, nel secondo la estensione del file che verrà creato, nel terzo i parametri e così via. Usare esattamente questi valori e selezionare l'ultima versione (la 2.10 in questo momento).
Importante, per funzionare deve essere installato anche Quick Time, che sarà però presente già se avete installato iTunes.
Fatte queste operazioni preliminari la conversione si potrà eseguire nel solito modo e sarà come sempre molto veloce.



Nota 1: La verifica delle funzionalità a cui si riferiscono gli screenshots pubblicati nel post è stata effettuata con Foobar2000 alla versione 1.2 su sistema operativo Windows 7 Home Premium aggiornato a Service Pack 1.
Nota 2: Possono esservi modalità diverse in altre versione del sistema operativo, nel caso ciò avvenga, può essere segnalato nei commenti.

giovedì 3 gennaio 2013

Dynamic Range: prova pratica

Proseguendo il discorso iniziato con il post precedente, e prendendo spunto dai commenti, proviamo ad approfondire gli strumenti e le analisi sulla tecniche di registrazione utilizzate negli ultimi anni e soprattutto sulla tendenza a utilizzare compressione dinamica ed equalizzazione loudness per far suonare "forte" le ultime produzioni, con possibili effetti collaterali negativi sulla qualità del suono.

Rendere (nuovamente) piacevole la musica
L'associazione che ho citato nel post precedente, e alla quale ha fatto riferimento in più riprese TNT-Audio, che ha preso il nome di Pleasurize Music Foundation, è nata proprio con lo scopo di proporre e diffondere una misura della dinamica per ogni nuovo album in uscita che, secondo le loro intenzioni, avrebbe aiutato, come una specie di marchio DOC, la diffusione di registrazioni migliori e quindi la fine di quella rincorsa senza fine a cui è stato dato il nome di loudness war.
Intenzione lodevole ma a quanto sembra poi arenatesi, visto che gli ultimi aggiornamenti sul sito risalgono al 2010 (l'iniziativa era partita nel 2009), nonostante il buon interesse riscontrato, con oltre 20 mila sostenitori, in grande maggioranza operatori del settore.

Il Dynamic Range (DR)
La misura del Dynamic Range è però rimasta come risultato, oltre che tutto il sito dove, nelle interessanti FAQ si possono leggere informazioni sugli effetti negativi che la compressione ha sul risultato all'ascolto, secondo i componenti dell'associazione (in gran parte professori universitari e simili). In particolare, è stato sviluppato un software open source e portabile per misurare questo dato, ed è stato possibile per sviluppatori di ogni parte del mondo crearne altre versioni. Tra questi un benemerito programmatore olandese ha sviluppato anche un component per Foobar2000, che ha il vantaggio di poter applicare la misura a quasi tutti i formati supportati dal popolare media player, oltre che di rendere molto agevoli le operazioni. Il programmatore si chiama Soerin Jockan e il component per Foobar2000 si può scaricare da questo link. Ovviamente l'ho provato, sembra che funzioni correttamente, e nel resto dell'articolo sono commentati i risultati delle prove.

Le misure di Dynamic Range
Valutare in modo oggettivo la qualità di una registrazione non è impresa facile, ammesso che sia possibile, l'obiettivo quindi è più limitato, un indicatore della dinamica effettivamente presente nella registrazione, e dell'eventuale ricorso alla compressione. Come spiegato nel sito dell'associazione che ha introdotto la misura non si tratta di un semplice rapporto tra il livello sonoro più alto e il più basso nel pezzo musicale da analizzare, ma della misura della distanza in decibel tra il livello medio di attenuazione rispetto allo zero e il livello di picco presenti nella registrazione, applicando anche opportuni correttori, per esempio per eliminare l'effetto dell'intro o della coda. Una sorta di media pesata della variazione dinamica, che può essere applicata alla durata di un brano o di un intero album. In questa sezione del sito (finché rimane accessibile) per chi voglia approfondire c'è una spiegazione più ampia del metodo seguito.

Il risultato tipico della misura è tra 8 e 12, ma il significato può variare in base al genere musicale, e quindi alla variabilità dinamica intrinseca che si porta dietro. In questa tabella, ripresa sempre dal sito, sono indicati i livelli di DR ottimali, buoni, o indicativi di compressione (verde, giallo, rosso) per i vari generi musicali.


Le misure
Prendendo come riferimento questa tabella ho iniziato a misurare alcuni album, per verificare se con questo metodo si possono recuperare informazioni più oggettive sullo stato della musica registrata.


La prima misura si riferisce al risultato più elevato in termini di dinamica che ho rilevato. Di 3 dB superiore al livello ottimale secondo la tabella (quindi un incremento consistente, essendo una scala logaritmica), è il dato ottenuto dalla registrazione diretta e senza editing della Chesky Records di un set tutto percussivo, lo stesso di cui ho parlato nel post dedicato all'audio binaurale.
L'applicazione è fatta molto bene e prevede anche un log con il dettaglio delle operazioni di misura effettuate.


Come si può vedere in questo brano il valore efficace del segnale (root mean square) è posizionato a meno 21 dB circa rispetto allo zero, e il valore di picco è prossimo allo zero. Con i correttivi previsti la misura secondo il metodo fornisce un valore di 17 per il Dynamic Range, o DR.

Con altri album di jazz e di classica che ho provato siamo sempre in zona verde, sopra al 12, fino anche al 16.




Vediamo come va sul rock
Ho iniziato da un album famoso per la qualità della registrazione, Dark Side Of The Moon, il risultato almeno da questo punto di vista, e secondo questo metodo di misura, è medio, DR11 sul brano più "dinamico".


Si trattava di una edizione rimasterizzata su CD, quindi sperabilmente corretta. Per scrupolo ho provato anche una versione in alta definizione (SACD) ma convertita per PC. Il risultato è simile, d'altra parte il livello di risoluzione non dovrebbe avere relazione con la dinamica.
Ho cercato quindi se altre registrazioni rock avevano una gamma più ampia. Andando un po' a caso ho trovato risultati prossimi all'ottimale con due incisioni sempre anni '70 degli Audience e dei Creedence Clearwater Revival (o CCR come li chiamavano i numerosi fans).



Con altri album eravamo sempre sopra al 10, quindi non in zona critica. Anche con album di musica soul recente e quindi apparentemente diretta ad un pubblico non da hi-fi casalingo, come Get Lifted di John Legend. Ma si tratta di una edizione in Dual Disc 16/48, forse questo fa la differenza.


Alla ricerca della compressione
A questo punto non restava che cercare qualche registrazione più recente, per vedere se effettivamente la gamma dinamica teoricamente riproducibile viene effettivamente compressa in alcuni casi. Proviamo con un album dell'anno scorso e di grande successo di una interprete molto trendy, Lana Del Rey.


Qui effettivamente siamo a livelli molto inferiori, prossimi alla zona rossa. Analizzando anche il log si vede che la attenuazione parte proprio dallo zero e in questo brano il livello medio è a meno di 7dB sotto lo zero.


Può darsi che questo dipenda dal tipo di musica, da un brano che per sua natura ha poche variazioni di dinamica. Per tentare una controprova ho pensato di esaminare qualcosa che intrinsecamente ha poca dinamica, per esempio un brano folk con solo chitarra, voce e armonica. Ad esempio un classico di Bob Dylan.


E' lo strato CD di un SACD recente, quindi rieditato con tutti i crismi, ma anche con un contenuto musicale così semplice la dinamica c'è. E anche un altro album di Dylan che era invece un CD standard aveva gli stessi valori. Sembra proprio che nell'album di Lana Del Rey, come in altri di genere analogo e recenti che ho provato (es. Avril Lavigne, DR7) la compressione dinamica sia applicata. Insomma, è una questione di genere musicale, ribadisco quello che scrivevo nel post precedente, esiste, c'è un motivo perché esiste, non si può farci molto (come dimostra indirettamente la apparente conclusione degli sforzi della associazione citata) e per il resto è anche questione di gusti musicali.

Prove aperte
La installazione del component è molto semplice e segue le solite regole per Foobar2000, la misura è molto veloce (pochi secondi per un brano, un minuto o anche meno per un album intero) e quindi eventuali lettori curiosi possono fare le loro prove, per esempio per verificare se ci sono differenze tra case discografiche o se altre registrazioni hanno valori ancora più elevati di quelli che ho trovato, o se successive edizioni dello stesso album presentano valori diversi. E magari condividerle qui.