quinta-feira, 7 de julho de 2011

Convertendo WAV para MP3

Boa tarde.
Estarei demontrando como transformar seus arquivos de audio no formato WAV para MP3 utilizando o shell script.
Para dar prosseguimento ao post deve-se obrigatóriamente ter instalado o lame, que é o programa que executa a conversão dos arquivos WAV para MP3.
Para instalar o lame no ubuntu, execute a linha abaixo.
apt-get install lame

Para iniciar a utilização do lame sua sintaxe é simples.
lame <Origem.WAV> <Destino.MP3>
Abaixo um exemplo prático.

lame "Musica com espaço mesmo.WAV" "Musica com espaço mesmo.mp3"

Caso1: Trabalho com gravações de segurança de audio, e minhas gravações estão começando a ocupar muito espaço em meu HD, preciso converter minhas gravações do formato *.WAV para o formato *.MP3.
Dificuldades do caso:
* Cada gravação está com 150Mb.
* Por dia eu faço 30 a 40 Gravações.

Solução:

#!/bin/bash
DIRIN="/home/douglas/Documentos/Gravacoes WAV/"
DIROUT="/home/douglas/Documentos/Gravacoes MP3/"
cd $DIRIN
contador="1";
for i in *.wav;
    do
    echo "#############################################################################";

    echo "---Convertendo arquivo $contador / $total";
    contador=$(($contador+1));
    echo "---Convertendo Arquivo ----------------------->   $i"
    lame "$i" "$i.mp3" #comando para a conversão
    echo "Movendo arquivo $i para pasta mp3"
    mv "$i.mp3" $DIROUT
    echo "#############################################################################";
    echo " ";
    echo " ";
done

Assim está pronto um script para conversão automática dos arquivos WAV para MP3.


Agravante1:Não tenho como estimar o tempo até que a execução do script converta todos os arquivos *.WAV para *.MP3, para isso preciso de um contador, que fique sempre aparecendo na tela.

Solução2:


#!/bin/bash
DIRIN="/home/douglas/Documentos/Gravacoes WAV/"
DIROUT="/home/douglas/Documentos/Gravacoes MP3/"
cd $DIRIN
### Inicio do For para fazer a contagem dos arquivos.
total="0";
for i in *.wav;
do
total=$(($total+1)); #incrementando a variável $total
#echo "$total";
done
##Fim do For de contagem

for i in *.wav;
    do
    echo "#############################################################################";

    echo "---Convertendo arquivo $contador / $total";
    contador=$(($contador+1));
    echo "---Convertendo Arquivo ----------------------->   $i"
    lame "$i" "$i.mp3" #comando para a conversão
    echo "Movendo arquivo $i para pasta mp3"
    mv "$i.mp3" $DIROUT
    echo "#############################################################################";
    echo " ";
    echo " ";
done




Qualquer dúvida pergunte.

Backup com Rsync

Boa tarde.
Tentarei ser o mais breve possível na explicação desse post.

Muitas pessoas perguntam, "Porque utilizar o Rsync e não o famoso cp", ou seja
porque sincronizar e não copiar e colar seus arquivos em um local seguro, não é a mesma coisa?
Resposta: Não é a mesma coisa.

Abaixo um caso típico da diferença entre utilizar o cp e o Rsync.

Caso1: Possuo uma rede com 10 máquinas, sendo 1 máquina o servidor de backup, vamos dizer que casa máquina tenha 10Gb de arquivos para Backup
e que essa quantidade cresce a cada dia 100Mb.
Se eu utilizar o comando cp ele irá copiar novamente cada arquivo dos 10Gb de backup, já com o Rsyn ele executa uma check no arquivo que está sendo enviado. Se o arquivo a enviar for mais atual que o que está na pasta destino o arquivo é enviado, caso seja mais antigo que o mesmo arquivo na pasta destino ele passará para o próximo arquivo e fará o teste novamente e assim até acabar todos os arquivos de todas as pastas dentro do diretorio apontado como origem. Tudo isso de forma automática. Abaixo um exemplo.

Sintaxe do comando:
rsync -av origem destino
Exemplo:
rsync -av /home/douglas/Documentos /media/NAS/BackupDouglas/

Eu estou sincronizando todos os arquivos da pasta /home/douglas/Documentos para a pasta /media/NAS/BackupDouglas/

Caso2: Realisar um backup com o rsync para outra máquina atravéz da rede.
A sintaxe do comando não sofre muita alteração.
Sintaxe do comando:
rsync -avz origem  usuario_da_maquina_destino@IP.da.maquina.destino:/pasta_destino
rsync -avz /home/Douglas/Documentos douglas@192.168.1.2:/media/Backup/Douglas

 Qualquer dúvida e so perguntar.
abraço