flac to mp3 one-liner
Deși flac-ul este un codec cu mult superior mp3-ului, deoarece face encoding fără pierderi, multe persoane preferă – din motive precum lipsa suportului pentru flac pe un anumit mp3 player sau spațiul prea mare ocupat – să țină fișiere audio în format mp3.
Pentru cei care au utilitarele flac (pentru codare/decodare de fluxuri în format flac) și lame (la fel, pentru mp3-uri), conversia flac-mp3 a fișierelor dintr-un director se poate face într-o linie de script bash, în felul următor (sursa):
for i in *.flac; do $(flac -cd “$i” | lame -h -b 320 – “${i%.flac}.mp3″); done
După cum se observă, toată linia este de fapt o buclă de tip for, care parcurge toate fișierele *.flac (cu extensia .flac) din directorul curent. Interiorul buclei apelează flac cu flag-urile -c (trimite ieșirea către stdout) și -d (face decodare). Ieșirea comenzii flac e preluată de lame, care face encoding în mp3: -h face encoding la calitate mare, iar -b 320 setează bitrate-ul la 320Kbps.
Output-ul lui lame este făcut în fișierul ${i%.flac}.mp3. Construcția ${i%.flac} îi spune shell-ului să facă expandarea variabilei i (care conține numele fișierului flac) și să caute și să elimine extensia .flac de la coada acesteia, dacă extensia există. Apoi este adăugată extensia .mp3 la coadă.