Script para converter de FLAC para ALAC
Edit: Me tapei de nojo e escrevi em bash. Rola aí pra baixo pra pegar o código que funciona e mantém as tags (eu espero)
Com a USENET, conexão boa e um NAS recém montado (mais sobre isso num post futuro), resolvi refazer minha coleção musical toda em Lossless. O maior problema é que eu ouço música majoritariamente no meu iPod ou no iTunes no macbook, e eles não tocam FLAC, que é o padrão para músicas lossless.
O jeito é converter pra Apple Lossless (ALAC). Claro que eu podia fazer isso na mão, copiar os arquivos do NAS, rodar o Max neles, copiar de volta pro NAS, etc. Mas, não, eu resolvi seguir a risca a primeira lei dos programadores, que diz que
Se uma tarefa demanda um tempo x, um programador gastará um tempo ex para escrever um programa que executará a tarefa em um tempo 1/x
E foi o que eu fiz.
Sem mais, baixem ele aí:
Vou deixar o link do github mesmo para o caso de eu atualizar o script.
Dá pra executar ele manualmente, passando o endereço completo da pasta que contém FLACs, ou colocá-lo na pasta de scripts do SABnzbd+ e rodá-lo automaticamente após cada download de música.
Ainda deve ter uma série de bugs, não falha com tanta graça quanto deveria, mas, hey, funciona.
Precisa do ffmpeg compilado com suporte a ALAC, ruby (escrevi no 1.8.7) com a gem MediaInfo instalada, além do próprio MediaInfo.
edit: O ffmpeg não vem com suporte a ALAC no FreeBSD.
Se tiverem sugestões, nada melhor que enfiar a mão no código. Tá no github pra isso, seus vagabundos!
NOVO CÓDIGO:
flac2alac.sh
#!/bin/shffmpeg -i “$1″ -acodec alac “`basename “$1″ .flac`.m4a” \-metadata title=\”"$(metaflac –show-tag=TITLE “$1″ | sed ‘s/title=//g’)”\” \-metadata author=\”"$(metaflac –show-tag=ARTIST “$1″ | sed ‘s/artist=//g’)”\” \-metadata album=\”"$(metaflac –show-tag=ALBUM “$1″ | sed ‘s/album=//g’)”\” \-metadata year=\”"$(metaflac –show-tag=DATE “$1″ | sed ‘s/date=//g’)”\” \-metadata track=\”"$(metaflac –show-tag=TRACKNUMBER “$1″ | sed ‘s/tracknumber=//g’)”\” \-metadata genre=\”"$(metaflac –show-tag=GENRE “$1″ | sed ‘s/genre=//g’)”\”
#!bin/shcd “$1″find “$1″ -type f | grep .flac | sed -e “s,[^.],\’&,” -e “s,\$,\’,” | xargs -I {} sh /root/SABScripts/flac2alac.sh {}find “$1″ -type f | grep .m4a | sed -e “s,[^.],\’&,” -e “s,\$,\’,” | xargs -I {} mv {} “/mnt/Media/iTunes/Automatically Add to iTunes”cd -rm -rf “$1″




