[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
[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
[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...