Convertire file WMA in MP3 su GNU/Linux


Vi è mai capitato di avere fra le mani un file in formato .wma e doverlo convertire in un .mp3? A me è capitato proprio oggi, e volevo condividere con voi affezionatissimi la soluzione che ho adottato =D

Attenzione: Lame non è Lamer.

Premessa: bisogna aver installato mplayer e il pacchetto lame. Come potete immaginare, dovrete lanciare da terminale il comando

sudo apt-get install mplayer lame

per installarli sul vostro sistema. In Feisty Mplayer dovrebbe essere preinstallato, però controllare non fa mai male.. =P

Occhèi, ora dobbiamo creare un file chiamato wmamp3 (o qualsiasi altro nome vi piaccia, purché poi modifichiate gli altri comandi sostituendo wmamp3 con il nome che avete scelto) nella nostra cartella home. Facciamolo eseguendo il comando

gedit wmamp3

Nota: come al solito, potete sostituire gedit con il vostro editor preferito.

Una volta creato il file, inseriamoci dentro questo script in bash.

#!/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 -af resample=44100 -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






Attenzione: Wordpress formatta i caratteri speciali (’, “, etc.) malamente, compromettendo la validità dello script; lo script bello e pronto da scaricare lo trovate qua. Eliminate l’estensione .txt e salvatelo, poi procedete.






Ora rendiamolo eseguibile con il comando chmod:

chmod +x ~/wmamp3

Perfetto. Ora possiamo spostarlo nella cartella degli eseguibili, /usr/bin.

sudo cp ~/wmamp3 /usr/bin

.. Fatto!

Ora possiamo convertire tutti i file wma che ci pare. Come?

Basta spostarci nella cartella dove si trovano i file che ci interessa convertire e lanciare il comando

wmamp3

e.. Ta-daan! Bash colpisce ancora =D

[ Crediti LinuxQuestions ]

P.S.: volete sapere il file che dovevo convertire? Eccolo; divertitevi e diffondete il verbo dei Prophilax! =P

P.P.S.: brona ha creato uno script molto più fiquo di questo; lo potete trovare nei commenti =D


Posta un commento

Rifletti per qualche attimo sull'argomento e poi commenta come vuoi. Qualche tag HTML è concesso.

Commenti al post

Ciao, ho preso uno script simili che poi ho un po modificato per convertire tutti i file audio con una data estensione così che si puo’ praticamente convertire in tutti i formati audio che sono supportati da mplayer in mp3:

#!/bin/bash
#
# This script convert all audio in current directory files with given extesion in mp3 file
# Usage: audioconv2mp3.sh fileextention
#
if [ -z $1 ]; then
echo ‘Inserire come argomento l’estensione del file da convertire.’
echo ‘Esempio: audioconv2mp3.sh rm (per realplay), wma (per windows audio format) ect.’
exit 1
fi
for i in *.$1
do
if [ -f ‘$i’ ]; then
rm -f ‘$i.wav’
mkfifo ‘$i.wav’
mplayer \
-quiet \
-vo null \
-vc dummy \
-af volume=0,resample=44100:0:1 \
-ao pcm:waveheader:file=’$i.wav’ ‘$i’ &
dest=`echo ‘$i’ | sed -e ’s/$1$/mp3/’`
lame -V0 -h -b 160 –vbr-new ‘$i.wav’ ‘$dest’
rm -f ‘$i.wav’
fi
done
exit 0

Attenzione che nella cartella in qui viene lanciato vengono cancellati tutti i file con estensione wav che eventualmente vi fossero presenti.

wow,mi avete salvato la vita :)
ottimo metodo, ti sei meritato un posto nella mia “riservatissima” lista dei segnalibri :D

ROCKnROLL

Beh, onorato di averti aiutato! ;)

Grazie del bookmarking, e rock on! \m/

mmm.. non mi funziona..
l’errore è questo:
[root@localhost Circobirò]# oggwma
/usr/bin/oggwma: line 8: syntax error near unexpected token `(’
/usr/bin/oggwma: line 8: `echo ‘Esempio: audioconv2mp3.sh rm (per realplay), wma (per windows audio format) ect.’’

Basta che elimini le parentesi alla linea 8 - quella che ti restituisce nell’output; praticamente, da così:

echo ‘Esempio: audioconv2mp3.sh rm (per realplay), wma (per windows audio format) ect.’

a così:

echo ‘Esempio: audioconv2mp3.sh rm, wma ect.’

Byez!

C’è Ancora qualche problema :( :
[ruuttoo@localhost Circobirò]$ tomp3
‘Inserire come argomento l’estensione del file da convertire.’
‘Esempio: audioconv2mp3.sh rm , wma ect.’
[ruuttoo@localhost Circobirò]$ tomp3 wma
/usr/bin/tomp3: line 13: [: ‘Il: binary operator expected
/usr/bin/tomp3: line 13: [: ‘Il: binary operator expected
/usr/bin/tomp3: line 13: [: ‘Il: binary operator expected
/usr/bin/tomp3: line 13: [: too many arguments
/usr/bin/tomp3: line 13: [: too many arguments
/usr/bin/tomp3: line 13: [: too many arguments
/usr/bin/tomp3: line 13: [: too many arguments
/usr/bin/tomp3: line 13: [: ‘Linea: binary operator expected
/usr/bin/tomp3: line 13: [: too many arguments
/usr/bin/tomp3: line 13: [: too many arguments

mi da questo errore

andrea@andrea-desktop:~/Desktop/prova$ wmamp3
tr: operando aggiuntivo `‘_’’
Usare `tr –help’ per ulteriori informazioni.
mv: l’obiettivo `Stone.wma”’ non è una directory
mv: l’obiettivo `stone.wma’ non è una directory
MPlayer 1.0rc2-4.1.3 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (Family: 15, Model: 75, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
-waveheader has been removed. Use -ao pcm:waveheader instead.
basename: operando aggiuntivo `A’
Usare `basename –help’ per ulteriori informazioni.
mv: l’obiettivo `“.mp3″’ non è una directory
rm: impossibile rimuovere `audiodump.wav’: Nessun file o directory
andrea@andrea-desktop:~/Desktop/prova$

Scusatemi, ma Wordpress formatta gli apici come vuole lui. =/ Ho aggiornato il post aggiungendo un link allo script, pronto da usare. Per quello di brona, potete trovarlo qua.

Au revoir ;)

[…] Ivan Prignano SHARETHIS.addEntry({ title: “Convertire file WMA in MP3 su Ubuntu”, url: “http://www.lucamarchi.com/2008/06/12/convertire-file-wma-in-mp3-su-ubuntu/” });Articoli correlatiCome scaricare musica da Myspace e da qualsiasi altro sitoCome editare i tag IDE3 […]

Ciao non capisco cosa ho sbagliato, mi dice questo:

giulia@giulia-laptop:~/Scrivania/Bach$ wmamp3
mv: impossibile fare stat di `*.wma’: Nessun file o directory
mv: impossibile fare stat di `*.[Ww][Mm][Aa]’: Nessun file o directory
MPlayer 1.0rc2-4.3.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Duo CPU T5270 @ 1.40GHz (Family: 6, Model: 15, Stepping: 13)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
-waveheader has been removed. Use -ao pcm:waveheader instead.
mv: impossibile fare stat di `*.wma’: Nessun file o directory
rm: impossibile rimuovere `audiodump.wav’: Nessun file o directory
giulia@giulia-laptop:~/Scrivania/Bach$

lo script converte (complimenti), ma totem mi da The stream is encrypted and decryption is not supported. che faccio?