Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Convertendo wma para mp3
Linux user
Publicado por Thiago Alves em 10/03/2005

Login: cvs, 2018249 pontos | Blog: http://www.seeufosseopresidente.com.br
[ Hits: 32582 ]

Convertendo wma para mp3

Vamos criar um pequeno script bem simples pra fazer a conversão de wma para mp3, caso não tenha o plugin no XMMS e também não queira instalar o tal plugin, use esse script.

NOTA: Para isso é preciso ter o mplayer e o lame instalados.

Crie um arquivo com o nome que quiser, aqui vou chamar de wma2mp3, abra esse arquivo com qualquer editor de texto e insira nele o código a seguir:

#!/bin/bash

current_directory=$( pwd )
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $i && lame -m s audiodump.wav -o $i; done
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav

Pronto, feito isso, dê permissão de execução ao arquivo, nesse caso chamado wma2mp3:

# chmod +x wma2mp3
ou
# chmod 755 wma2mp3

Agora fica simples, pode-se fazer de duas maneiras:

1 - copiar o wma2mp3 pra algum diretório que esteja do path (/bin /usr/bin) e quando for converter, entre no diretório onde estão os arquivos wma e execute o comando:

$ wma2mp3

2 - sempre que for converter, copiar o arquivo wma2mp3 para o diretório dos arquivos wma e executar:

$ ./wma2mp3

Boa sorte, espero ter ajudado... Lembre-se, Google é seu amigo, alguma dúvida? Poste aí, mas também não se acomode, pode-se encontrar muitas coisas em uma simples busca no Google.

Script retirado de:

Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Papéis de parede para o Ubuntu 10.10, Maverick Meerkat
   Dica Linux recomendada Lançamento da Gentoo Wiki
   Dica Linux recomendada Estação meteorológica com Linux
   Dica Linux recomendada Configurando sua resolução de tela no KDE ou com o vi
   Dica Linux recomendada Barra de tarefas no Xubuntu

Comentários
[1] Comentário enviado por drpollo em 22/03/2005 - 21:26h:

Hi, this script has solved a small headache I had since I couldn't install the xmms plugin properly, besides, I don't like to have .wma files in my hard drive.

However I rewrote the original wma2mp3 script in a more Unix way, taking one parameter as input and using sed to produce the output filename. So for converting all .wma's in the current directory you have to write:

for i in $( ls | grep -i '\.wma' ); do ./wma2mp3 $i; done

Also, I changed the lame invocation so it codes at 192 bps and preserved the original file, it's better to leave to the user the decision of deleting the .wma's

Anyway, thank you for the original script
Alberto

----------------- wma2mp3 -------(new version)----------------------
#!/bin/bash

mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $1 && lame -b 192 -m s audiodump.wav -o $( echo $1 | sed "s/wma/mp3/" )
rm audiodump.wav



[2] Comentário enviado por nfermat em 29/05/2005 - 00:14h:

Bem, um bom script, veloz, no entanto para o mplayer mais novo precisou de uma simples altareção, ficando assim:

#!/bin/bash
current_directory=$( pwd )
#remove spaces
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
#remove uppercase
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
#Rip with Mplayer / encode with LAME
for i in *.wma ; do mplayer -vo null -vc dummy -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i; done
#convert file names
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav



[3] Comentário enviado por andre.vmatos em 29/06/2006 - 22:00h:

Kra, esse troço devia se encaixar na seção de shell scripts, nao de Dica

[4] Comentário enviado por vivaolinuxvm em 15/09/2006 - 10:29h:

Parabéns, muito bom, o do 'nfernat' ficou mais completinho com comentarios e talz, só esqueceu de colocar a opção -b 192 no LAME pra qualidade ficar melhorzinha.
Abraços. ;)

[5] Comentário enviado por marlos em 15/04/2007 - 22:39h:

so falto um detalhe
-waveheader is deprecated. Use -ao pcm:waveheader instead.

----------------- wma2mp3 -------(1.1 version)----------------------
#!/bin/bash

mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader $1 && lame -b 192 -m s audiodump.wav -o $( echo $1 | sed "s/wma/mp3/" )

rm audiodump.wav

[6] Comentário enviado por mcdgo em 26/07/2007 - 20:46h:

bladeenc file.wav file.mp3

:D

[7] Comentário enviado por nickmarinho em 11/12/2007 - 11:59h:

Nossa, muito mais fácil é usar o ffmpeg...assim ó, vejam que docinho !!!

"ffmpeg -i input.wav output.mp3"

Mole não ?

Abraços

www.lucianomarinho.com.br

www.racaboxer.com.br

[8] Comentário enviado por colchaodemola em 10/03/2008 - 22:17h:

rapaz , eu fiz um script a algum tempo atras pra converter wma2mp3 , a principal diferenca eh que ele nao precisa criar o arquivo wav, entao voce nao precisa de muito espaco dependendo do tamanho do wma. Eu tinha um show completo em wma, qse 1.3Gb, descompactar tava fora de cogitacao :)

#!/bin/bash
FIFO=/tmp/fifo
mkfifo $FIFO 2>/dev/null
mplayer -ao pcm:file=$FIFO -vo null -vc null "$1" 1>/dev/null 2>/dev/null &
lame $FIFO "`basename "$1" .wma`.mp3"
rm -f $FIFO 2>/dev/null


[9] Comentário enviado por removido em 27/06/2008 - 19:22h:

show completo em wma ??????????????

não seria wmv?

wma = Windows Media AUDIO
wmv = Windows Media VIDEO

show geralmente são em WMV ou MPG ou MPEG

[10] Comentário enviado por nickmarinho em 27/06/2008 - 21:08h:

Claro que é show completo, kkk.
Nunca viu show completo em apenas áudio ?

Abraços

www.lucianomarinho.com.br

www.racaboxer.com.br

[11] Comentário enviado por danizach em 27/04/2010 - 12:06h:

assim é mais facil

(só serve pra bash)

for i in *.wma; do ffmpeg -y -i "$i" ./OUTPUT/"`basename $i .wma`.mp3";done





[12] Comentário enviado por Odilair em 29/03/2011 - 10:26h:

Senhores, verifiquei no script que o mesmo apaga todos os arquivos .wma sem alternativa. Verifiquei também que o mesmo altera o nome do arquivo eliminando os espaços. Abaixo a modificação conservando os originais e mantendo o nome com espaços também:
Espero ter ajudado.
Abraço.

******************

#!/bin/bash

for i in *.wma; do cp -p "$i" "`basename "$i" .wma`.mp3"; done
for i in *.mp3 ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$i" && lame -b 128 -m s audiodump.wav -o "$i"; done
rm audiodump.wav



[13] Comentário enviado por cgt_giba em 22/12/2011 - 08:35h:

pessoal e se eu quiser que esse script faça a conversão de dos arquivos que estão dentro de subpastas, tem como???

[14] Comentário enviado por nickmarinho em 22/12/2011 - 15:20h:

Tem sim.
É só você criar uma nova função pra verificar se tem diretório dentro do diretório.

E no final do loop, você faz a chamada pra executar essa função, daí vira recursivo, entendeu ?
É lógica pura, hehehe

[15] Comentário enviado por cgt_giba em 22/12/2011 - 16:41h:

a lógica até que entendi, mas não sei como montar isso no script, sou meio " nó cego" nisso...


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.