Posts Tagged ‘ alac

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í:

http://gist.github.com/423161

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/sh
ffmpeg  -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’)”\”

process_music_dir.sh

#!bin/sh
cd “$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″

Áudio analógico em CDs

Quem me conhece sabe da minha audiofilia. Eu gosto de música, e gosto dela com qualidade. Recentemente descobri as maravilhas do áudio analógico, ligando por alguns momentos um toca-discos no mini system, e ele, por sua vez, no computador. Pena ele estar fora de centro, mas já tive uma boa idéia de como é.

Em compensação, é mais difícil achar LPs por aí. Aqui no Brasil, até onde eu sei, não se fabricam mais. Mas fora daqui ainda tem bastante gente que faça eles. Embora um mercado restrito, é um nicho importante. Audiófilos tendem a pagar tanto quanto podem por áudio em boa qualidade (exemplo: meus fones atuais custaram cerca de 70 dólares na época).

Claro que parte da graça do áudio analógico está fisicamente no bolachão, bem como a graça do áudio digital está no CD (porque, qualidade por qualidade, ALAC e FLAC te dão qualidade de CD, e ALAC toca em iPods). Mas dá para quebrar um galho com isto:

Viníl de Acrílico

Durante um festival na Inglaterra, tinha gente com máquinas-de-fazer-LPs (têm um nome melhor pra isso?) e estavam pegando seus antigos e inúteis CDs da AOL, UOL, Terra, SBT Online (lembram dele?), etc, e transformando em LPs.

A utilidade é duvidosa, não é como uma gravação de estúdio em um vinil, não é um vinil, um bolachão preto com uma capa maior que teu peito. Mas ainda assim é muito legal, e um ótimo meio de reciclar CDs velhos e inúteis (e dá pra gravar dos dois lados!).

Pelos meus cálculos, aliás, deve dar uns 10 minutos de música por lado, mas já é divertido. Dá um belo presente, também, na pior das hipóteses.

 
SEO Powered by Platinum SEO from Techblissonline