System: Haiku



MP3 (Motion Picture Expert Group-1/2 Audio Layer 3) è un algoritmo di compressione audio a perdita di informazioni in grado di ridurre drasticamente la quantità di dati necessaria per memorizzare un suono e per questo motivo il suo utilizzo è oggi molto diffuso. La qualità di un file MP3 dipende dalla qualità della codifica e i buoni codificatori hanno una qualità accettabile da 128 a 160 kbit/s, mentre danno ottimi risultati con bitrate tra i 160 a 192 kbit/s; un codificatore che ha bassa qualità lo si riconosce ascoltando persino un brano a 320 kbit/s. Una caratteristica importante dell'MP3 è la perdita di dati dovuta alla compressione nonostante nei moderni codificatori MP3 gli algoritmi più efficaci fanno di tutto per assicurare che i suoni rimossi siano quelli che non possono essere rilevati dall'orecchio umano.

Per maggiori dettagli su cos'è il formato mp3 e quali sono i suoi pregi e difetti vi consiglio di leggere la voce mp3 su Wikipedia.

Nel seguente articolo vedremo come installare ed utilizzare LAME in Haiku. LAME è un eccellente encoder/decoder mp3 gratuito e opensource, quindi serve per codificare (in pratica, creare) il file mp3 e decodificarli (in pratica permetterne l'ascolto). LAME "Lame Ain't MP3 Encoder" (letteralmente "Lame non è un codificatore MP3?) è utilizzato da molti software per la creazione di mp3 e per BeOS esistono delle interfacce che permettono di sfruttarne a pieno le caratteristiche, tuttavia in questo articoletto vi descriverò un veloce procedimento per convertire un intero CD utilizzando LAME da terminale in Haiku.

Installazione di LAME

Scaricare Lame da HaikuPorts ( lame-3.98.4-x86-gcc2-2010-06-21.zip)

Aprite una finestra del terminale (potete avviarlo dal menù Applications della DesBar) scrivete unzip trascinate il package sul terminale per avere il percorso (se il file zip è sul desktop sarà /boot/home/Desktop/lame-3.98.4-x86-gcc2-2010-06-21.zip) aggiungete -d /boot

ricapitolando dovete lanciare da terminale la seguente linea di comando

unzip /boot/home/Desktop/lame-3.98.4-x86-gcc2-2010-06-21.zip -d /boot


Utilizzo di LAME per la codifica di un CD

LAME risulta essere attualmente l'encoder migliore (soprattutto per bitrate medio-alti) e il suo punto di forza è l'utilizzo in modalità VBR/ABR; oltre ad avere eccellenti preset (preimpostazioni, configurazioni già pronte studiate da sviluppatori e utenti) e delle potenti possibilità di configurazione.

Esistono attualmente 3 tipologie di implementazione del bitrate in mp3

CBR - Costant BitRate [bitrate costante] è la modalità più semplice ed usata ed ormai la meno efficace (tranne nel caso di bitrate massimo, per esigenze di archiviazione e senza badare alle dimensioni del file). Il bitrate rimane costante in ogni frame e questo significa che l'encoder utilizzerà sempre la stessa quantità di bit per codificare ogni passaggio musicale. In pratica i passaggi più complessi avranno una qualità inferiore di quelli semplici visto che saranno codificati con un numero sempre uguale di bit, mentre ne servirebbero di più per i passaggi complessi e di meno per quelli semplici. Un grosso vantaggio di questa modalità è che la dimensione del file risultante è sempre proporzionale alla durata del pezzo e facilmente valutabile.

ABR - Average BitRate [bitrate medio] è una modalità che ha una resa superiore al CBR e consiste in una sorta di bitrate "variabile". L'encoder codificherà i passaggi che lo necessitano con più bit e quelli più semplici con meno, cercando di mantenere nell'intero file il bitrate MEDIO impostato. In questo modo la dimensione del file sarà sempre abbastanza prevedibile e proporzionale tuttavia si ha un vantaggio in qualità rispetto a cbr in quanto i bit risparmiati nei passaggi musicali semplici verranno utilizzati per aumentare la risoluzione di quelli più complessi.

VBR - Variable BitRate [bitrate variabile] è una modalità dove c'è un bitrate realmente variabile. Impostando un indice di qualità ed un bitrate massimo e minimo l'encoder codificherà ogni frame utilizzando il bitrate più appropriato, quindi per i passaggi musicali via via più complessi verrà utilizzato un bitrate sempre più alto o massimo. Ad esempio, i silenzi o i passaggi con poca dinamica verranno codificati con un bitrate inferiori, i passaggi più articolati e difficili con il bitrate massimo etc. I parametri principali che influenzano la qualità di un mp3 a bitrate variabile sono 2:

-V : indice qualitativo del bitrate variabile. La scala va da 0 (qualità massima) a 9 (qualità bassa), il valore predefinito è 4. Influenza il bitrate quindi la dimensione finale del file.

-q : indice qualitativo globale, che si riferisce al tipo di algoritmo usato. Va da 0 (qualità massima) a 9 (qualità bassa), il valore predefinito è 5 e quello consigliato è 2 ( valore richiamabile mediante la "scorciatoia" -h (high quality), corrispondente appunto a -q 2 ), essendo in pratica i valori di 0 e 1 (teoricamente migliori) affetti da bug e sconsigliabili. In generale, valori bassi di q portano a tempi di codifica più lunghi. Il problema dei file a bitrate variabile è che la dimensione è imprevedibile e dipende, tra l'altro, dal contenuto musicale del brano. Infatti con settaggi ad alta qualità l'encoder si "sentirà libero" di usare bitrate elevati senza curarsi troppo della dimensione risultante del file, che quindi cresce (mentre con bitrate fissi è abbastanza prevedibile)

Passiamo ora al processo di codifica di un CD:

1) Per prima cosa vi consiglio di installare cddblinkd programma che si connette ad un server CDDB per darvi i nomi e le tracce del vostro CD. Dopo aver installato e avviato cddblinkd potete inserite il vostro CD nel driver e montarlo sul Desktop.

2) Creiamo una cartella wav sul Desktop… aprite una finestra del terminale e lanciate la seguente linea di comando:

mkdir /boot/home/Desktop/wav


portiamoci nella cartella

cd /boot/home/Desktop/wav


3) Copiamo il contenuto del CD Audio in /boot/home/Desktop/wav. Il modo più semplice per fare questo è trascinare il cd sulla cartella wav appena creata.

in alternativa si potrebbero copiare i file con la seguente linea di comando, ma il processo è molto più lento: cp /Audio\ CD/* /boot/home/Desktop/wav

4) aggiungiamo l'estensione wav ai file copiati (se non la hanno già)

find . -type f -exec mv '{}' '{}'.wav \;


5) Codifichiamo i file lanciando la seguente linea di comando:

for i in *.wav; do /boot/common/bin/lame -b 32 -m s -h -abr 192 -B 320 "$i"; done


La linea in oggetto passa uno ad uno i file wav a LAME per la codifica in mp3.

Vediamo il significato delle opzioni passate a LAME:

- b seleziona il bitrate minimo (nel nostro caso 32)
- m la modalità (s) stereo, (j) j oint, (m) mono
- h alta qualità (ma un po più lento), h da lo stesso risultato di -q 2
- abr specifica il bitrate medio desiderato (nel nostro caso 192)
- B seleziona il bitrate massimo (nel nostro caso 320)

Per visualizzare l'help di LAME dal terminale date il comando:

lame -help

Mentre per una completa lista delle opzioni:

lame -longhelp

ad esempio:

for i in *.wav; do /boot/common/bin/lame -preset standard "$i"; done


questa è sicuramente una delle soluzioni migliori per ottenere dei buoni mp3 a bitrate variabile

6) Rimuoviamo ".wav" dai file codificati "nome_file.wav.mp3? grazie alla seguente linea di comando:

for i in *.mp3; do mv "$i" "${i/.wav.mp3}".mp3; done


7) Eliminiamo i file .wav

for i in *.wav; do rm "$i"; done


avremo nella cartella wav solo i file mp3, non ci resta che rinominarla con il nome dell'album e dell'artista e spostarla dove ci pare.

LAME durante il processo di codifica

 

articolo scritto da Giuseppe Gargaro a.k.a. Beck
Made available by BeSly, the Haiku, BeOS and Zeta knowledge base.