Converter biblioteca de faixas WMA para MP3?

23

Eu sei que existem opções, como o Sound Converter, para fazê-las uma faixa ou diretório por vez, mas existem ferramentas que percorram recursivamente os subdiretórios de um diretório e convertem todos os WMA's para MP3?

Eu basicamente gostaria de deixá-lo solto no meu ~ / Music e deixá-lo fazer a sua coisa sem mim manualmente ter que dar um subdiretório de cada vez.

    
por Mike Crittenden 01.08.2011 / 16:31

9 respostas

13

O MPlayer provavelmente já estará instalado. Certifique-se também de que você está manco:

sudo apt-get install mplayer lame

Depois, há duas maneiras de fazer isso, uma versão fácil de ler e um script curto e sujo para fazer isso:

Todos os wma's devem estar no seu diretório atual. Crie um arquivo chamado wmamp3 no seu diretório pessoal (~ /) contendo:

#!/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 -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

#cleanup
rm audiodump.wav

chmod +x ~/wmamp3 para torná-lo executável

sudo cp ~/wmamp3 /usr/bin para colocá-lo em algum lugar útil em seu caminho

Digite "wmamp3" para executar sua conversão.

A versão curta e suja (faz exatamente o mesmo que acima):

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader "$i" && lame -m j -h --vbr-new -b 160 audiodump.wav -o "'basename "$i" .wma'.mp3"; done; rm -f audiodump.wav
    
por Rory Alsop 01.08.2011 / 16:49
35

Instale Soundconverter

e execute Soundconverter do ativador ou terminal

A conversão padrão é .ogg alterar isso para mp3 indo para edit-> preferences no tipo de resultados. Format para MP3 da seguinte forma:

Clique em adicionar pasta e selecione sua pasta de músicas. Você pode selecionar a pasta de saída na configuração de preferência acima antes de clicar em converter.

Espero que isso seja feito com dois cliques :)

    
por Achu 01.08.2011 / 16:51
12

O Mplayer e o lame devem ser instalados primeiro:

sudo apt-get install mplayer lame

Em seguida, crie o script ( página de referência ) e executá-lo:

#!/bin/bash
# By Marko Haapala
# converts wma to mp3 recursively. does not delete any static files, so 
# cleanup and renaming is needed afterwards. 
#
# requirements:
# lame    - http://lame.sourceforge.net/download.php
# mplayer - apt-get install mplayer or http://www.mplayerhq.hu/design7/dload.html


current_directory=$(pwd)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
IFS=$'\n' 
for wma_file in ${wma_files}; do 
    mplayer -vo null -vc dummy -af resample=44100 \
    -ao pcm -ao pcm:waveheader "${wma_file}" && lame -m s \
    audiodump.wav -o "${wma_file}".mp3
    rm audiodump.wav
done

Parece que faz exatamente o que você quer. Tenha em mente que você pode querer mexer nas bandeiras fracas para garantir que você obtenha o nível de qualidade desejado.

    
por David Futcher 02.08.2011 / 11:45
2

Instale o Perl Audio Converter (pacpl): sudo apt-get install pacpl

Este comando converterá todos os arquivos wma em um determinado diretório em arquivos mp3 (deixando os originais intactos):

pacpl -r -to mp3 -only wma <directory name>

Se estiver se sentindo arriscado, você pode adicionar a opção --delete para remover também os originais:

pacpl -r --delete -to mp3 -only wma <directory name> I

    
por Eric Mathison 20.04.2014 / 12:03
1

Para aqueles que estão procurando por uma versão GUI que seja capaz de selecionar certos tipos de arquivos: o link soundKonverter da ferramenta KDE pergunta quais tipos de arquivos deve ser adicionado à fila de conversas.

Melhor solução para minha enorme coleção Audiobook contendo arquivos mp3 / ogg / wma.

    
por tuxflo 10.07.2016 / 03:01
1

Aqui está a minha edição do script Marko Haapala, usando o ffmpeg:

current_directory=$(pwd)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
# Also, it must be run as root to correctly handle spaces on Ubuntu 16
IFS=$'\n'
for wma_file in ${wma_files}; do
 ffmpeg -i "${wma_file}" -q:a 0 "${wma_file}".mp3
 #uncomment rm below to delete original wma's
 #rm "${wma_file}"
done

Eu prefiro o ffmpeg, porque ele não altera a taxa de amostragem e não precisa de arquivo temporário intermediário

    
por Slavik 21.03.2017 / 23:21
1

Eu sei que isso é um pouco antigo, mas modifiquei o roteiro mostrado por David Futcher. As mudanças são:

  • Use /tmp em vez da pasta atual para o arquivo wav temporário (isso deu uma grande aceleração quando usei isso para converter arquivos em um pendrive).

  • Remova os arquivos wma depois que eles tiverem sido convertidos (com sucesso).

Aqui está:

#!/bin/bash
# By Marko Haapala
# converts wma to mp3 recursively. does not delete any static files, so
# cleanup and renaming is needed afterwards.
#
# Modified by V10lator
# to delete the wma files and to use /tmp for temporary files
#
# requirements:
# lame    - http://lame.sourceforge.net/download.php
# mplayer - apt-get install mplayer or http://www.mplayerhq.hu/design7/dload.html


current_directory=$(pwd)
tmp_file=$(mktemp -t -u --suffix=.wav)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
IFS=$'\n' 
for wma_file in ${wma_files}; do 
    mplayer -vo null -vc dummy -af resample=44100 \
    -ao pcm -ao pcm:waveheader -ao pcm:file="${tmp_file}" \
    "${wma_file}" && lame -m s "${tmp_file}" \
    -o "${wma_file}".mp3 && rm "${wma_file}"
    rm "${tmp_file}"
done
    
por V10lator 27.04.2014 / 19:26
0

Soundcoverter mostra um erro no módulo do Windows Media e no Python 2.7

A Avconv funcionou bem:     avconv -i ./song.wma song.mp3

    
por mapcuk 11.08.2016 / 22:45
0

Você também pode usar meu aplicativo ... dmMediaConverter no modo em massa. Para obter ajuda, veja este vídeo ... em vez de arquivos de vídeo, arraste e solte os arquivos wma. link

    
por mdalacu 23.03.2017 / 13:43