Converta vários álbuns .FLAC para .MP3 do gmusicbrowser

0

Eu tenho minha grande biblioteca FLAC separada por pasta, cada álbum e todos os FLAC marcados com perfeição, etc. Eu quero converter um ou mais álbuns para mp3, mas do próprio gmusicbrowser. AFAIK não há opção para isso, apenas uma opção de plugin "executar comando personalizado em arquivos selecionados". Eu acho que talvez haja um commnad para fazer isso. Se não, alguém sabe como posso fazer isso?

Obrigado antecipadamente.

    
por rootsandculture 10.08.2016 / 20:54

1 resposta

0

Talvez não seja exatamente o que você está pedindo, mas eu uso o seguinte script para essa tarefa:

#!/bin/bash
#
# convert FLAC-files to MP3 
# (similar folder structure, max quality)
#

export path=<flacpath>
export out=<mp3path>

echo "" > doit.sh
find $path -name \*.flac | (

    while read i; do
    echo
    echo "$i"

    newfile='echo $i | sed s,$path,, | sed s,.flac,.mp3, | sed s,\",,g'
    echo $out/$newfile
    targetdir='dirname "$newfile"'
    echo $targetdir

    echo "mkdir -pv \"$out/$targetdir\"" >> doit.sh


    echo "ffmpeg -y -i \"$i\" -aq 2 \"$out/$newfile\""  >> doit.sh

    done

)

Isto é apenas uma espécie de modelo, altere 'flacpath' e 'mp3path' conforme necessário. O arquivo 'doit.sh' que é gerado pode ser editado e então executado como sh doit.sh

As tags FLAC serão incluídas no MP3, desde que sejam suportadas.

Eu acho que existem soluções muito melhores, mas isso funciona para mim.

Para dar um exemplo:

Eu tenho um registro digitalizado no FLAC

/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits/...

e eu quero converter isso para

/tmp/out/MP3/Jimi_Hendrix/Smash_Hits/...

Assumindo que o ffmpeg está instalado (caso contrário sudo install ffmpeg ), eu configurei

export path=/data/music_out/FLAC/Jimi_Hendrix/Smash_Hits
export out=/tmp/out/MP3/Jimi_Hendrix/Smash_Hits

no script acima. Quando executado, o script cria outro arquivo de script chamado doit.sh com o conteúdo

mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/01-Purple Haze.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//01-Purple Haze.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/02-Fire.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//02-Fire.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/03-The Wind Cries Mary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//03-The Wind Cries Mary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/04-Can You See Me.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//04-Can You See Me.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/05-51st Anniversary.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//05-51st Anniversary.mp3"
mkdir -pv "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//"
ffmpeg -y -i "/data/music-out/FLAC/Jimi_Hendrix/Smash_Hits/06-Hey Joe.flac" -aq 2 "/tmp/out/MP3/Jimi_Hendrix/Smash_Hits//06-Hey Joe.mp3"
...

apenas para esclarecer a ideia. Chamando sh doit.sh a ação será feita.

Se houver charcters especiais (até mesmo como '') em seu caminho, você precisará alterar algumas partes do script. E sim, o mkdir -pv é redundante neste exemplo. Mas isso não faz mal, e o script é mantido assim simples.

    
por ridgy 10.08.2016 / 22:02