CREARE FILE MPC COMPLETI (ID3v1.1/APEv2.0 Tags) TRAMITE EAC
E ACCENNI SU NORMALIZZAZIONE-REPLAY GAIN

(mumble, 31-05-2002 / : 08-08-2002)


Attenzione: questa guida presuppone che il lettore abbia già:
configurato opportunamente una versione recente di EAC (naturalmente le sezioni non coperte da questa guida specifica), come le versioni 0.9 beta 3 o beta 4; per fare questo, consiglio due ottime guide, una in inglese e l’altra in italiano (piuttosto aggiornata).
disattivata l’opzione “Normalize” (presente in menu “EAC” ® “EAC Options” ® “Normalize”), il perché di questo verrà spiegato più avanti;
inserito il CD-Audio nel drive da utilizzare per la fase di grabbing;
“pescate” tutte le informazioni dal database cddb e cugini, verificate e messe al loro giusto posto (inclusi i campi “year” e “ musicale”, anche se necessario un intervento manuale);
scaricata e messa in qualche directory la versione qualitativamente più sicura dell’encoder MPC (l’eseguibile si chiama mppenc.exe). Attualmente la più sicura e quella con la maggior qualità risulta essere la versione 1.1 (la potete scaricare qua).
Mini-nota sulla numerazione delle varie versioni: versione stabile (“stable version” o “release version”) se dopo il punto decimale è presente una sola cifra (esempio: 1.1); versione beta (“beta version”) se dopo il punto decimale ci sono due cifre e l’ultima cifra è pari (esempio: 1.06); versione release candidate se nel nome è presente la lettera “z” seguita da una cifra (esempio: 1.05z1); versione alpha (“alpha version”, da usare solo per testing, non per scambio e/o archiviazione) se dopo il punto decimale ci sono due cifre, con l’ultima cifra dispari e seguita da una lettera (esempio: 1.05f).
Versioni nel cui nome viene modificata la cifra prima del punto decimale (esempio: 2.0), dovrebbero rappresentare versioni con pesanti, e dunque incompatibili, modifiche al formato-struttura dei file. Questo perché il formato-struttura dei file MPC è in piena transizione, dall’attuale StreamVersion 7.x a StreamVersion 8 (naturalmente, per chi vorrà, sarà possibile convertire i file MPC SV7 nel futuro SV8 senza alcuna perdita qualitativa).
idee almeno approssimative sul formato MusePaCk (MPC), sulla sua notevole qualità (assolutamente NON presunta), conoscenza dei principali siti Web che si occupano di lui, ecc..
Nel caso non abbiate queste infarinature, vi converrebbe leggere prima “MusePaCk (MPC), l’Hi-Fi del lossy!”.

Fatto questo, entriamo nel vivo dell’argomento.

EAC è un ottimo software e si può dire in tutta tranquillità che sia il miglior audio grabber in assoluto (non solo per il suo “Secure Mode”: infatti, anche se sconsigliato perché “stressante” l’hardware, il vetusto “Paranoid mode” di EAC in due casi più che lampanti ha dimostrato di poter risolvere dove non è stato capace il “Secure mode”.
Quindi, tenete di default il “Secure mode”, ma ricordatevi che esiste un’alternativa alla quale è possibile ricorrere PREVALENTEMENTE per quelle casistiche che sembrano impossibili da risolvere-gestire correttamente con le altre modalità.

L’autore di EAC, Andre Wiethoff, è sicuramente un tipo in gamba, ma ha la brutta “mania” di non far uscire nuove versioni del suo grabber quando bisognerebbe rimediare a bug, o ad aggiornamenti di “interfacciamento” con altri programmi, che richiederebbero il minimo impegno.
EAC è aggiornato con una frequenza ben inferiore rispetto ai software con i quali a volte è chiamato ad interagire, di conseguenza spesso non è in grado di “dialogare” correttamente con quelli aggiornati anche nella loro sintassi (come nel caso dell’encoder MPC, mppenc.exe, dalla versione 0.90s in poi).
A questo punto siamo noi che dobbiamo costruirci l’interfacciamento.

È proprio per quest’ultimo motivo che se si vuol andare sul sicuro con un programma aggiornato di continuo come MPC, non conviene MAI usare la voce specifica del box “Parameter passing scheme” (menu “EAC” ® “Compression Options” ® “External Compression”).

Questo discorso vale soprattutto quando magari, sempre tramite l’intermediazione di EAC, si voglia sfruttare l’elasticità di MPC (per esempio modificare --xtreme --verbose %s %d in --xtreme --verbose --verbose --stderr mpclog.txt %s %d), oppure, come già accennato prima, nel caso in cui l’eseguibile MPC cambi sintassi (come è realmente successo a partire dalla versione 0.90s).

IMPORTANTE: per consentire anche ai novizi di ottenere il meglio da MPC, da tanto tempo sono stati introdotti i “preset” o “profili” (--radio, --standard, --xtreme, --insane, ecc., a seconda dei livello qualitativo desiderato); in aggiunta a questi (non solo in “aggiunta”, ma anche in “sostituzione”, visto che ad ogni preset corrisponde un ben preciso valore di quality), ora nelle recentissime versioni di MPC sono stati introdotti i quality switch (da un minimo di --quality 0.0 ad un massimo di --quality 10.0): permettono di ottenere la qualità desiderata in maniera più precisa e soprattutto più sicura (perché in funzione del valore numerico scelto, vengono adottate le migliori e più adatte procedure-impostazioni).
Per venire incontro a tutti quelli abituati da tempo ad utilizzare MPC con i preset, ecco uno schemino che elenca i preset più comuni con i loro corrispondenti valori di “quality”:

 --radio 
 --standard 
 --xtreme 
 --insane 
 --braindead 
−−>    --quality 4
−−>    --quality 5
−−>    --quality 6
−−>    --quality 7
−−>    --quality 8

Da sottolineare inoltre che nelle recenti versioni di MPC alcuni preset sono stati rivisti-modificati (ovvio, ora sono tutti sotto l’“ordine superiore” dei quality switch), ad esempio i bit gestiti dal preset --insane sono ora messi tutti a disposizione per un effettivo incremento qualitativo, a differenza di prima dove una parte era utilizzata più per soddisfare chi giudica i risultati della psicoacustica con gli occhi (in questi casi, l’insistente beota di turno è spesso “armato” del solito “Frequency Analysis” di CoolEdit) piuttosto che con le orecchie (a questo proposito conviene dare una letta all’ Codec audio lossy: rilevarne la qualità).

Da quanto ho detto è facile intuire che può essere profondamente errato parlare di medesima qualità di due file MPC creati con stesso preset ma appartenente a differenti versioni di MPC.


Tenendo conto di quanto summenzionato, passiamo ora alla configurazione di quelle sezioni di EAC che entrano in gioco quando si vuole automatizzare la creazione diretta di file audio compressi, in questo caso file audio compressi nell’ottimo formato MusePaCk (cioè MPC) e “taggati” (da qua in avanti userò questo fetido neologismo e sue varianti) con ID3v1.1.

Per prima cosa bisogna recarsi alla sezione “External Compression” (menu “EAC” ® “Compression Options” ® “External Compression”) ed impostare le sue voci nel modo seguente:

Use external program for compression: attivato.
Parameter passing scheme: “User Defined Encoder” (e NON “MP+ Encoder”).
Use file extension: .mpc
Program, including path, used for compression: path completo dell’eseguibile “mppenc.exe” (questo è l’encoder MPC).
Additional command line options: %l--quality 5.3%l%h--quality 6%h --verbose --verbose --stderr mpclog.txt %s %d
Bit rate: non ce ne frega niente ^____^
Use CRC check: non attivo.
Add ID3 tag: attivo (in questo caso, nella sezione “ID3 Tag” è consigliabile attivare “Use ID3V1.1 tags instead of ID3V1.0 tags” e DISATTIVARE “Additionally write ID3V2 tags, using a padding of” e “Use ID3V2.4.0 tags instead of ID3V2.3.0 tags”. Il perché sia qualitativamente salutare non usare mai ID3v2.x, soprattutto con MPC, è spiegato qui.



Veniamo alle SPIEGAZIONI:

la lunga stringa presente nel campo “Additional command line options” è molto comoda perché comprende contemporaneamente due impostazioni qualitative di MPC, MUTUAMENTE ESCLUSIVE, a seconda che si sia attivata l’opzione “Low quality” oppure “High quality” (entrambe presenti sempre nella sezione “External Compression”):

con le impostazioni summenzionate, se viene attivata l’opzione “Low quality” saranno generati file MPC con qualità --quality 5.3 (che, se avete capito quanto letto più sopra, è qualitativamente leggermente superiore al preset --standard) e taggati con ID3v1.1, mentre se viene attivata l’opzione “High quality” saranno generati file MPC con qualità --quality 6” (o --xtreme), sempre taggati con ID3v1.1.

Attenzione: il fatto che attivando “Low quality” si attivi l’impostazione qualitativa “--quality 5.3”, non vuol dire IN ALCUN MODO che questa impostazione sia di “bassa qualità”, perché è stata una nostra scelta inserire “--quality 5.3” tra i due %l (avremmo potuto benissimo inserirlo tra i due %h così da attivarlo una volta selezionato “High quality”).
Dunque, riassumendo, quando si seleziona “Low quality”, EAC passerà all’ la stringa-impostazione inserita tra i due %l, mentre se si seleziona “High quality”, EAC passerà all’encoder la stringa-impostazione inserita tra i due %h.
Tutto quello che non è racchiuso né tra i due %l, né tra i due %h, sarà sempre passato all’encoder.

Anche nelle recenti versioni di MPC l’impostazione di default è “--standard”, o “--quality 5”, perciò se si scegliesse questa qualità tali stringhe possono essere omesse.

L’utilizzo di “--quality 5.3” è secondo me il miglior compromesso qualità/dimensione file.
Qualitativamente parlando, usando questa impostazione qualitativa vengono generati file MPC con dimensioni inferiori rispetto a quelli generati con preset “--xtreme” (o “--quality 6”), ma sono lo stesso di alta qualità, all’ incirca paragonabile a circa 256kbps di un mp3 generato da Lame e a volte perfino uguale-superiore ad un circa 320kbps di Lame quando siamo in presenza di certi passaggi audio ostici che frequency audio codec come Lame e altri non riescono a gestire in maniera appropriata, spesso a causa di una bassa risoluzione temporale, generando così, per esempio, i classici pre/post echo (dei quali soffre pure l’attuale OggVorbis 1.0, competitivo con mp3pro-wma per i bassi bitrate, ma tutt’altro che ottimizzato per medi-alti bitrate, dunque più problemi di altri nell’ottenimento della trasparenza con l’originale, soprattutto quando ci si imbatte, lo ripeto, in casistiche audio ostiche per la compressione lossy).
Per maggiori informazioni su queste tematiche andate a leggere l’altro mio articolo, “MusePaCk (MPC), l’Hi-Fi del lossy!”.

Sia chiaro che la summenzionata e lunga stringa è tranquillamente modificabile per rispecchiare le esigenze di chiunque, non solo in termini di qualità audio (MPC è piuttosto flessibile).
Nel caso che però non conosciate bene la materia e/o non abbiate una certa familiarità con MPC e il suo modus operandi, il consiglio è quello di evitare in ogni modo gli interventi “esotici” o eccessivamente “personalizzati”, rischiereste di ottenere risultati opposti a quelli auspicati (nel caso vogliate sperimentare, non mettete in condivisione i “pargoli” delle vostre sperimentazioni).



Ora, dopo aver analizzato la parte qualitativa della lunga stringa presente nel campo “Additional command line options”, analizziamo quello che rimane:

%s sta per “source file” (file in input da codificare), mentre
%d sta per “destination file” (file in output codificato).


Spiegazione di --verbose --verbose --stderr mpclog.txt”:

--verbose --verbose serve per avere a disposizione tutte le indicazioni-informazioni rilasciate dall’encoder mppenc.exe durante la codifica. Nel caso si preferisca un rapporto meno dettagliato-più sintetico, basta usare un solo “--verbose”.
--stderr mpclog.txt serve affinché le summenzionate informazioni siano scritte su file, in questo caso nel file chiamato “mpclog.txt” (potete usare il nome che vi pare). Le informazioni scritte successivamente nello stesso file saranno cumulative. Se non specificato alcun percorso, questo file sarà memorizzato nella stessa directory in cui si trova l’ indicato nel campo “Program, including path, used for compression”.
Nel seguente esempio, il file “mpclog.txt” sarà memorizzato nella directory (o cartella) “audio” della partizione “e:”: --stderr e:\audio\mpclog.txt

Conoscere i messaggi rilasciati dall’encoder durante la codifica è IMPORTANTISSIMO, perché in casi di canzoni piuttosto “caricate” (loudness), potrebbe saltare fuori un messaggio di “internal clipping”, un clipping che non è risolvibile in decodifica (altrimenti sarebbe gestibile in maniera totalmente lossless con l’ausilio di Replay Gain), ma avviene in codifica, questo per via di un bug di StreamVersion 7 (sarà risolto con StreamVersion 8).
È importante SAPERE se e con quali canzoni l’encoder rilasci tale avvertimento.
Per risolvere questo problema (quindi in modo che non si presenti più l’“internal clipping”) è necessario ri-codificare (sempre da traccia originale ehhhhhhhhhhh) la/le canzoni “incriminate” usando lo --scale con il valore indicato dallo stesso encoder quando ha rilasciato il warning (in realtà, a volte il messaggio di “internal clipping” sparisce anche usando un valore di scale superiore a quello indicato dall’encoder, e questo è un bene, non bisognerebbe mai abbassarsi troppo con i valori di scale).

Attenzione: usare “--verbose --verbose --stderr mpclog.txt” va bene nel caso vogliate visionare i messaggi dell’encoder in un file di testo, non nel box dos. Dunque se volete questo e/o avete abilitata l’opzione “Do not open external compressor window” (menu “EAC” ® “EAC Options” ® “Tools”), allora la summenzionata stringa sarà perfetta.

Se invece volete visionare i messaggi completi nel box dos (dunque non avrete abilitata l’opzione “Do not open external compressor window”), allora NON dovete usare “--verbose --verbose --stderr mpclog.txt” ma solo il più semplice “--verbose --verbose”.

Io preferisco avere tutto su file perché così non si è costretti a guardare il box dos come degli ebeti e perché si possono individuare immediatamente tutte le info di file MPC encodati in successione.
Adottate la modalità di reporting che più vi piace, l’importante è che ne SCEGLIATE una, altrimenti si rischia di diffondere dei file MPC che durante la codifica hanno avuto dei problemi.


UTILIZZARE I TAG DI DEFAULT DI MPC (APEv2.0 TAG) TRAMITE EAC

Parlando di tag ID3, come ho scritto più sopra è sconsigliato usare le versioni 2.x (ID3v2.x) per i motivi menzionati in questo post. È altamente consigliato limitarsi ad usare le versioni v1.0 e v1.1 (ID3v1.0 e ID3v1.1) ma, se ci si fosse imbattuti in alcune loro restrizioni, sarebbe giunta la migliore occasione per utilizzare i tag di default di MPC (APEv2.0 TAG; gli APE Tag sono nati e tutt’ora utilizzati in Monkey’s Audio, noto lossless audio codec).
Se prima era necessario l’utilizzo di un tool specifico (mpcenct.exe) affinché tramite EAC si potessero taggare direttamente i file MPC con gli APE Tag, con le recentissime versioni di MPC questo non è più necessario, mpcenct.exe non serve più.

Dunque, VEDIAMO PRATICAMENTE come configurare EAC affinché vengano generati file MPC, ma questa volta taggati con gli APEv2.0 Tag:

Rechiamoci alla solita sezione “External Compression” (menu “EAC” ® “Compression Options” ® “External Compression”) ed impostiamo le sue voci nel modo seguente:

Use external program for compression: attivato.
Parameter passing scheme: “User Defined Encoder” (e NON “MP+ Encoder”).
Use file extension: .mpc
Program, including path, used for compression: path completo dell’eseguibile “mppenc.exe” (questo è l’encoder MPC).
Additional command line options: %l--quality 5.3%l%h--quality 6%h --verbose --verbose --stderr mpclog.txt --artist "%a" --title "%t" --album "%g" --year "%y" --track "%n" --genre "%m" --comment "quello che vi pare" %s %d
Bit rate: non ce ne frega niente ^____^
Use CRC check: non attivo.
Add ID3 tag: NON attivo.


SPIEGAZIONI:

qua valgono i medesimi discorsi qualitativi fatti prima.
Con le impostazioni summenzionate saranno generati file MPC taggati NON PIÙ con tag ID3v1.1, ma con gli APE tag versione 2.0.
Tutti i campi specificati avranno le corrette informazioni, a patto naturalmente che queste fossero già presenti in EAC (ottenute tramite collegamento ai database cddb-freedb e/o con intervento manuale, a volte necessario per alcuni campi) al momento della fase di grabbing.
Per evitare sorprese e fraintendimenti, il consiglio è quello di tenere aggiornato il più possibile il plugin MPC per Winamp (questo consiglio vale ancor di più in questo periodo di transizione tra StreamVersion 7.x e StreamVersion 8); per aggiornamenti tempestivi rimanete sintonizzati su questa pagina.

Naturalmente i file MPC si possono taggare con vari tag (ID3v1.1, APEv2.0, ecc.) anche senza l’intermediazione di EAC, ci sono infatti delle apposite utilities, come “Tag” di Case e il relativo front-end (“Tag frontend”, creato da Speek).
Per una guida all’uso di queste utility, in questo articolo di [proxima] troverete tutte le informazioni necessarie.

Ora, cambiando argomento, passiamo alla


NORMALIZZAZIONE E REPLAY GAIN

In EAC NON ATTIVATE MAI, ripeto MAI, la normalizzazione.
Cioè, l’opzione “Normalize” (presente in menu “EAC” ® “EAC Options” ® “Normalize”) NON DEVE essere attiva (questo vale anche per qualsiasi funzione di normalizzazione presente in altri grabber e programmi di audio editing: disattivatele SEMPRE quando sapete a priori che la vostra sorgente audio originale verrà trasformata in un file audio lossy).
Questo perché quella normalizzazione, così come la normalizzazione di programmi di audio-editing (CoolEdit, WaveLab, SoundForge, ecc.), effettuata sia per peak level che per RMS, andrebbe a modificare il contenuto audio del file (modificando pure la sua dinamica) e noi NON vogliamo questo, giusto? C’è una maniera del tutto indolore e del tutto reversibile per effettuare la normalizzazione e per annullare eventuale clipping (“distorsione”, sinteticamente parlando) sui file audio lossy (dunque MPC incluso): si tratta di inserire in questi file delle informazioni (che non andranno a toccare-modificare i dati audio) inerenti il peak level del loro contenuto audio e inerenti l’“aggiustamento” necessario in funzione dell’analisi effettuata dall’algoritmo Replay Gain (http://www.replaygain.org).
Queste informazioni “extra-audio” a chi saranno utili? Da chi saranno sfruttate?
La risposta è “dal DECODER MPC” (mppdec.exe, il plugin MPC per Winamp, ecc.), perché tutto questo discorso di normalizzazione ed annullamento di eventuale clipping riguarda prettamente la decodifica (eventuale “internal clipping” a parte, ma di questo ho già parlato sopra), perciò quelle informazioni non faranno altro che “istruire“ il decoder su come dovranno essere riprodotti-decodificati i file MPC.

Ma cos’è Replay Gain?

È un algoritmo che consente di calcolare il loudness (“intensità”, misurata in dB) PERCEPITO di un file audio rispetto all’approccio semplicistico del peak level: due sorgenti audio possono infatti avere medesimo peak level ma avere un differente livello medio di loudness che influisce sulla percezione finale.
Ad esempio, il contenuto audio dei CD odierni è notevolmente compresso, cioè vuol dire che, in conseguenza dell’aumento del livello medio di loudness (questo deciso dai produttori affinché il tutto venga percepito come “volume più alto”, sempre semplificando il discorso), le “zone” più cariche devono necessariamente essere compresse affinché non vadano in distorsione.
Ora, i concetti di replaygain possono essere applicati ai nostri file MPC tramite un programma che si chiama proprio “replaygain”, questo non farà altro che scrivere nei file MPC le informazioni extra-audio (delle quali ho parlato prima) che serviranno al decoder MPC per riprodurli nella maniera che più desideriamo (per esempio normalizzando) e più corretta (per esempio prevenendo il clipping).

Per una guida pratica sul funzionamento del tool “replaygain” per MPC e sulle correlate funzioni del plugin MPC per Winamp, rimando alla guida curata da [proxima].

Tutto questo non vale solo per MPC: qualsiasi formato lossy usiate, se per questo è disponibile uno tool che implementi i concetti lossless (senza alcuna perdita) di Replay Gain, è opportuno che lo usiate, privilegiandolo a qualsiasi altro strumento che normalizzi in modo tradizionalmente “distruttivo” (cioè alterando valori dei dati audio, dunque alterando la dinamica originaria).
Ad esempio, per MPC c’è “replaygain”, per Ogg Vorbis c’è “vorbisgain”, per mp3 c’è MP3Gain (sebbene operi in maniera leggermente diversa dai due precedenti), ecc..
Ultimamente è uscito anche un plugin per Winamp che si chiama proprio “ReplayGain” e che consente anche ai formati che non dispongono di un tool apposito di avvalersi dei concetti di Replay Gain (i valori di aggiustamento sono memorizzati in un database e non nello specifico file audio). È comunque meglio utilizzare il tool dedicato (naturalmente per i formati che ne dispongono).

Dopo questi discorsi sarà ormai chiaro che se l’applicazione di replaygain sui file MPC non è obbligatorio che sia effettuata da parte di chi ha codificato i file MPC (ma CONSIGLIATO), il rimedio invece ad un eventuale “internal clipping” RICHIEDE OBBLIGATORIAMENTE l’intervento di chi ha codificato il file MPC, dovrà ricodificarlo dalla fonte originale, cioè dalla traccia del CD.
A questo proposito, ricordo che la conversione tra formati audio lossy (per esempio da mpc ad mp3 e viceversa, ecc.) o aumento-diminuzione bitrate anche all’interno di uno stesso formato (per esempio portare a 256kbps un mp3 128kbps e viceversa) comporta SEMPRE una PERDITA qualitativa (bisogna scolpirselo in testa UNA VOLTA PER TUTTE).


Per concludere questo “poema”, da ricordare che, ovviamente, per creare file MPC possono essere usati anche dei front-end grafici, tra i quali:

- MPC Batch Encoder (http://home.wanadoo.nl/~w.speek/batch_encoder.htm)
- MuseDrop (lo potete scaricare qua)

MuseDrop è il più veloce (anche se meno completo del Batch Encoder) ed immediato (tutto tramite drag&drop, però la prima cosa da fare è indicargli dove sono collocati l’encoder e decoder di MPC, cioè dove sono gli eseguibili mppenc.exe e mppdec.exe) e, inoltre, dalla versione 1.5 supporta la caratteristica di mppenc di accettare in input i file .ape (i file audio compressi in lossless tramite Monkey’s Audio), ciò vuol dire che basta trascinare un file .ape sopra l'icona di MuseDrop affinché inizi immediatamente il processo di codifica che porterà alla generazione di un file MPC (oltretutto già bello taggato nel caso lo fosse anche l'ape originario). Naturalmente, perché sia possibile tutto questo, il codec di Monkey, cioè l’eseguibile “mac.exe”, deve essere presente nella stessa directory in cui si trova l’eseguibile mppenc.exe; nel caso non abbiate installato sul vostro computer Monkey’s Audio, magari perché vi interesserebbe usarlo solo per questa particolare occasione (i file .ape si possono trovare su alcuni hub di Direct Connect, su Edonkey, sui Newsgroup alt.binaries.sounds.misc, alt.binaries.sounds.monkeysaudio, alt.binaries.sounds.lossless, ecc.), vi risparmio il download dell’intero “paccone” mettendovi a disposizione il solo codec (più che sufficiente per fare quello che vi pare).



mumble
Fingerprint: 7972 C6C8 8837 6A80 E1CF 7A64 146E F555 F2BE 9A31

HOME02.gif (9867 byte)