Script para ripar CDs de audio e codificar as faixas para MP3

Publicado por Luís Fred 28/03/2007

[ Hits: 6.178 ]

Download riparcd




Este é um script básico que extrai  todo o conteudo de um CD de áudio e em seguida converte as faixas para o formato MP3.

O script usa o 'dialog' para se comunicar com o usuário através de caixas de texto, tornando-o mais interativo e interessante.

NOTA: Você vai precisas do "lame" e do "cdparanoia" instalados na máquina

  



Esconder código-fonte

#!/bin/bash
#---------------------------------------------------------------#
# Script para ripar CDs de audio convertendo os arquivos em MP3 #
# Por Luís Fred <fred.alphax@gmail.com>                         #
#---------------------------------------------------------------#

M1="Este script ripa um CD de audio inteiro convertendo as faixas para o formato MP3. Para que este script funcione corretamente, é necessário ter instalados na sua máquina o 'cdparanoia' e o 'lame'. O cdparanoia já vem por padrão acompanhando a maioria das distribuições Línux. Já no caso do lame, isto é menos frequente. Portanto você terá que verificar se estes componentes estão instalados na sua máquina e caso não estejam, você deverá instala-los antes de rodar o script. Se você é usuario da famosa ferramenta 'apt-get', use apt-get install cdparanoia lame. Isto irá instalar os compentes na sua máquina ou então acesse www.sourceforge.net, neste site você irá encontrar o cdparanoia e o lame"
dialog --title "Ripar CD" --msgbox "$M1" 0 0 

principal()
{
dialog  --title "Ripar CD" \
--backtitle "É importante que você visualiza as informações do CD antes de ripa-lo." \
--radiolist "O que você deseja fazer?" 0 0 0 \
"1" "Visualizar informações do CD" off \
"2" "Esta opção lhe permite ripar todo o CD de audio" on  2> /tmp/check.tmp
retval=$?

if [ $retval = 1 ];
then
exit 0

fi
choice=$(cat /tmp/check.tmp)
  rm -f /tmp/check.tmp
  if [ "$choice" = "1" ]; then
  cdparanoia -Q 2> /tmp/infocd.tmp
  tail -f -n 40 /tmp/infocd.tmp > out & dialog --title "Ripar CD" --textbox out 0 0
  rm -f out cdparanoia
  killall tail
  principal

fi
#---------------------------------------------------#
if [ "$choice" = "2" ]; then
clear

#Ripa as faixas de audio separando-as em arquivos diferentes
cdparanoia -s -B 

dialog --title "Ripar CD" --inputbox "Informe o nome do artista ou banda(use o caractere UNDERLINE para separar as palavras, docontrário o script irá gerar um ERRO) referente a esta faixa de áudio. Isto é importante, pois ajuda a identificar a origem da faixa de audio. Você pode fornecer para a faixa, informações como TITULO, ARTISTA, ANO DE LANÇAMENTO, etc:" 0 0 2> /tmp/info.tmp
INFO=$(cat /tmp/info.tmp)
rm -f /tmp/info.tmp
clear
echo "<< +CONVERTENDO FAIXAS DE AUDIO+ >>"
for INFILE in *.wav
do
# converte as faixas ripadas
lame -m s -a -q 2 --ta $INFO  $INFILE $INFILE.mp3

dialog --title "Ripar CD" --inputbox "Entre com o novo nome para a faixa $INFILE.mp3. Especifique um nome diferente para cada faixa" 0 0 2> \
/tmp/novo_nome.tmp
NOVO_NOME=$(cat /tmp/novo_nome.tmp)
rm -f /tmp/novo_nome.tmp
mv $INFILE.mp3 $NOVO_NOME.mp3

done

fi
#########################################################################

echo "<< +APAGANDO ARQUIVOS WAV...+ >>"
rm -rf  *.wav

##########################################################################
dialog --title "Ripar CD" --backtitle "Seu CD foi ripado com sucesso. Você pode usar agora seu tocador de mp3 favorito para executar as faixas sonoras. " \
--radiolist "\nDeseja executar as faixas de audio agora para checar a qualidade do audio? Caso deseje tocar as faixas, use CTRL + C para avançar\n" 0 0 0 \
"1" "Tocar agora" on \
"2" "Tocar depois" off 2> /tmp/tocarfaixas.tmp

opc=$(cat /tmp/tocarfaixas.tmp)
rm -f /tmp/tocarfaixas.tmp

if [ "$opc" = "1" ]; then

clear
mpg123 -db *.mp3

# executa a função ripar_outrocd()
ripar_outrocd

fi


if [ "$opc" = "2" ]; then
ripar_outrocd
fi
#-------------------------------------#
if [ "$choice" = "3" ]; then

exit 0

fi

}


ripar_outrocd(){
dialog --title "Ripar Cd" \
--yesno "Deseja ripar outro CD?" 0 0 
retval=$?
if [ $retval = 0 ]; 
then

principal

fi

if [ $retval = 1 ]; 
then
exit 0
fi

}

principal
exit 0

Scripts recomendados

Corrigindo problema com Splash no Ubuntu

Script para limpeza de arquivos temporários em Sabayon Linux

Organizador de Arquivos

Renomeador Automático de Arquivos de Mídia

Iptables com Roteando via NAT


  

Comentários
[1] Comentário enviado por pibarnas em 29/03/2007 - 02:46h

Ainda não testei, mas parece do Ca****lho!!!! VALEU MESMO!! E continue a fazer scripts, que vc tem o maior talento!

[2] Comentário enviado por robsonpc em 24/09/2008 - 01:16h

Muito bom esse script..mas se habitue a nao utilizar acentos neles.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts