Script para ripar CDs de audio e codificar as faixas para MP3
Publicado por Luís Fred 28/03/2007
[ Hits: 6.019 ]
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
#!/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
Descobrindo a que tipo de repositório um pacote pertence
getgazette - script para baixar a Linux Gazette
Manter o servidor conectado a internet pelo rp-pppoe
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









