Conversor de músicas
Publicado por Marlon Vagner Reck (última atualização em 05/01/2012)
[ Hits: 4.898 ]
Homepage: www.linkedin.com/in/marlonreck
O shell-script a baixo, foi feito a pedido de um colega que precisava converter algumas músicas de wma para mp3, para estudar para o vestibular.
Ele foi feito com zenity e ffmepg e ainda conta com funções com retorno para o fluxo do programa e um menu com ida e vinda.
#!/bin/bash ###################################### #Script para converter múscisas # # # #Criado: 03/12/2011 # #Autor: Marlon V. Reck # #e-mail: marlonreck@hotmail.com # ###################################### #variaveis contador=0 totalarq=0 cont=0 g_retorno=tela_original function baybay { local retorno="$1" test "$retorno" -eq 1 && exit } #verifica se é arquivo ou diretório function verifica_diretorio { local dir="$diretorio" local ori="$original" local verifica for verifica in "$dir"/*."$ori";do if [ -f "$verifica" ]; then g_retorno=tela_novof else zenity --error --text="Arquivo não encontrado no diretório indicado.\nTente novamente!" --title="Conversor de música"; g_retorno=tela_diretorio fi done } #verifica se os formatos são iguais function verifica_extensao { local arqorig="$original" local arqnovo="$novoformato" if [ "$arqorig" = "$arqnovo" ]; then zenity --error --text="Os formatos escolhidos são iguais.\nTente novamente!" --title="Conversor de música"; g_retorno=tela_novof else g_retorno=tela_qualidade fi } while [ "$g_retorno" != fim ]; do case "$g_retorno" in tela_original) #tela para escolha do arquivo que vai ser convertido original=$(zenity --list --height=280 --title "Conversor de música" --text "Formato original" --radiolist --column "Marque" --column "Extensão" TRUE wma FALSE flac FALSE ogg FALSE wav FALSE mp3 FALSE aac FALSE flv) baybay "$?" g_retorno=tela_diretorio ;; tela_diretorio) #tela para escolher onde esta o arquivo diretorio=$(zenity --file-selection --directory --title="Selecione o diretório dos arquivos "$original"." --file-filter="*.$original") baybay "$?" verifica_diretorio "$diretorio" "$original" ;; tela_novof) #tela para escolher o novo formato do arquivo novoformato=$(zenity --list --height=280 --title "Conversor de música" --text "Novo formato" --radiolist --column "Marque" --column "Extensão" FALSE wma FALSE flac FALSE ogg FALSE wav TRUE mp3 FALSE aac FALSE flv) baybay "$?" verifica_extensao "$original" "$novoformato" ;; tela_qualidade) #tela para escolher a qualidade do arquivo qualidade=$(zenity --list --height=280 --title "Conversor de música" --text "Escolha a qualidade do arquivo convertido" --radiolist --column "Marque" --column "kbps" FALSE 64 FALSE 96 TRUE 128 FALSE 192 FALSE 256 FALSE 320) baybay "$?" #contador de arquivos for contador in "$diretorio"/*."$original";do let totalarq++; done #acrescenta +1 no total de arquivos totalarq=$((totalarq+1)) #conversão if [ "$novoformato" = "ogg" ]; then codec="-acodec libvorbis" else codec="-acodec libmp3lame" fi for nome in "$diretorio"/*."$original"; do # echo para montar a barra de progresso echo "# Convertendo "$nome"" echo $((++cont * 100/$totalarq)) #pega o nome do arquivo sem extensão x=$(echo "$nome" | cut -f1 -d".") ffmpeg -loglevel quiet -i "$nome" -f "$novoformato" $codec -ab "$qualidade""k" -ar 44100 "$x"."$novoformato" done | zenity --progress --auto-close --width 290 --no-cancel --title="Convertendo "$original" para "$novoformato"" g_retorno=fim ;; esac done;
Criador de VirtualHosts Apache no Ubuntu e Debian
Catsort - Concatenar resultado filtrando e removendo repetidas
Instalando MPlayer no slackware
Desligando seu PC com controle total e aviso sonoro
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (0)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)