Forums


  • Alors voilà, vous avez downloadé quelques chansons (le dernier album de chantal Goya) mais elles sont encodés en FLAC (Free Lossless Audio Codec). Le format FLAC est excellent pour encoder de la musique car il n'y a pas de perte de qualité mais il prend beaucoup de place (environ 3 fois plus que le MP3 au même bitrate et il est rarement supporté par les baladeurs et autres autoradios Il faut donc les convertir !! Vous avez toujours l'option d'utiliser un service online comme zamzar par exemple, mais c'est long (il faut uploader ce que vous venez de downloader, puis re-downloader le résultat) et vous n'avez que peu de maitrise sur le résultat. J'ai trouvé un petit script qui fait cela automatiquement tout seul !! Vous devez tout d'abord installer les paquets "flac" et "lame" puis copier le script suivant dans un fichier "flac2mp3" que vous sauvegarderez dans un répertoire présent dans le $PATH et auquel vous donnerez les droits d’exécution (chmod +x flac2mp3)
    #!/bin/bash
    #
    # Copyright 2008 Octavio Ruiz
    # Distributed under the terms of the GNU General Public License v3
    # $Header: $
    #
    # Yet Another FLAC to MP3 script
    #
    # Author:
    # Octavio Ruiz (Ta^3) <tacvbo@tacvbo.net>
    # Thanks:
    # Those comments at:
    # http://www.linuxtutorialblog.com/post/solution-converting-flac-to-mp3
    # WebPage:
    # https://github.com/tacvbo/yaflac2mp3/tree
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY. YOU USE AT YOUR OWN RISK. THE AUTHOR
    # WILL NOT BE LIABLE FOR DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY
    # OTHER KIND OF LOSS WHILE USING OR MISUSING THIS SOFTWARE.
    # See the GNU General Public License for more details.
    #
    # Modified by woohoo
    #
    # you need zenity package for notifications.
    # please note that you can put this script in ~/.gnome2/nautilus-scripts
    # and it will show up in right-click menu in any folder in gnome.
    #
    # modify the lame options to your preference example change -b 320 to -b 128 or -b 192 or -b 256
    # LAME_OPTS="--cbr -V 0 -b 256"
    # LAME_OPTS="-V 0 --vbr-new"
       
    LAME_OPTS="-b 320 -h --vbr-new -V 0"
         
    old_IFS=${IFS}
    IFS='
    '
         
    # when running from nautilus-scripts, it useful to find the current folder
    base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
    if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
        dir="$base"
    else
        while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
        dir="$base/$1"
    fi
    
    if [ "$dir" != "" ]; then
        cd "$dir"
    fi
         
    id3v2=$(which id3v2)
         
    files=`find . -type f -regex '^.+\.flac$' | sort`
         
    declare -i nn=0
    for file in ${files}
    do
    	fn=$(readlink -f "$file")
    	vars=( `metaflac --no-utf8-convert --export-tags-to=- "${fn}"` )
     
    	for N_vars in ${!vars[@]}
    	do
    		export "$(echo "${vars[${N_vars}]%=*}" | tr [:upper:] [:lower:])=${vars[${N_vars}]#*=}"
    	done
     
    	dest=`echo "$fn"|sed -e 's/\.flac$/\.mp3/'`
     
    	flac -dc "$fn" |\
    	lame --ignore-tag-errors --add-id3v2 ${LAME_OPTS} \
    		${artist:+--ta} ${artist} \
    		${tracknumber:+--tn} ${tracknumber} \
    		${title:+--tt} ${title} \
    		${album:+--tl} ${album} \
    		${date:+--ty} ${date} \
    		${genre:+--tg} ${genre} \
    		${comment:+--tc} ${comment} \
    		- $dest
     
    	[[ -x ${id3v2} ]] && ${id3v2} \
    		${artist:+--artist} ${artist} \
    		${tracknumber:+--track} ${tracknumber} \
    		${title:+--song} ${title} \
    		${album:+--album} ${album} \
    		${date:+--year} ${date} \
    		${genre:+--genre} ${genre} \
    		${comment:+--comment} ${comment} \
    		$dest
     
    	let nn=nn+1
    done
         
    zenity --notification --text "Finished converting flac to mp3.${IFS}Processed ${nn} files."
    #zenity --info --text "Done!"
    IFS=${old_IFS}
    Vous pouvez modifier la ligne "LAME_OPTS=" en indiquant les paramètres que vous préférez. b indique le bitrate --cbr indique un 'constant bitrate' --vbr-new indique un 'bitrate variable' Personnellement dans mon répertoire "$HOME" j'ai créé un sous-répertoire "bin" que j'ai inclus dans le $PATH et dans lequel je sauvegarde tout mes scripts dans le genre de celui-ci Quand c'est fait, vous vous rendez dans le répertoire où sont les fichiers à convertir et vous tapez
    flac2mp3
    et vous le laissez faire le boulot L'avantage de ce script est qu'il copie aussi les informations qui sont dans le tag FLAC vers le tag MP3 !! Comme dit dans le commentaire, vous pouvez aussi copier le script dans le répertoire "~/.gnome2/nautilus-scripts" et ainsi le lancer directement à partir de Nautilus !!! Si le script s'arrête à la fin et semble s'être planté après la conversion du dernier morceau, c'est que vous n'avez pas "zenity" installé sur votre machine et vous pouvez supprimer les lignes correspondantes (il faut arrêter le script avec un CTRL+C) Have fun ericc me
     

Modérateur(s): ericc, toxxic, mich_belge