Convertir une bibliothèque de pistes WMA en fichiers MP3?

24

Je sais qu’il existe des options telles que Sound Converter pour leur faire une piste ou un répertoire à la fois, mais existe-t-il des outils qui parcourent récursivement les sous-répertoires d’un répertoire et convertissent tous les WMA en MP3?

En gros, je voudrais le laisser tomber sur mon ~ / Music et le laisser faire sans que je doive lui donner manuellement un sous-répertoire à la fois.

    
posée Mike Crittenden 01.08.2011 - 16:31
la source

9 réponses

14

MPlayer est probablement déjà installé. Assurez-vous également que vous avez boiteux:

sudo apt-get install mplayer lame

Il y a deux manières de le faire, une version facile à lire et un script court et sale pour le faire:

Tous les wma doivent être dans votre répertoire actuel. Créez un fichier appelé wmamp3 dans votre répertoire personnel (~ /) contenant:

#!/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 pour le rendre exécutable

sudo cp ~/wmamp3 /usr/bin pour le rendre utile sur votre chemin

Tapez "wmamp3" pour exécuter votre conversion.

La version courte et sale (fait exactement la même chose que ci-dessus):

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
    
réponse donnée Rory Alsop 01.08.2011 - 16:49
la source
36

Installez Soundconverter

et exécutez Soundconverter depuis le lanceur ou le terminal

La conversion par défaut est .ogg change cela en mp3 allant à edit-> preferences sous le type de résultats. Format à MP3 comme suit:

Cliquez sur Ajouter un dossier, puis sélectionnez votre dossier de musique. Vous pouvez sélectionner le dossier de sortie dans la configuration des préférences ci-dessus avant de cliquer sur Convertir.

J'espère que cela se fera en deux clics :)

    
réponse donnée Achu 01.08.2011 - 16:51
la source
13

Mplayer et lame doivent être installés en premier:

sudo apt-get install mplayer lame

Créez ensuite le script ( page de référence ). ) et l'exécuter:

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

On dirait que ça fait exactement ce que vous voulez. Gardez à l'esprit que vous voudrez peut-être jouer avec les drapeaux boiteux pour vous assurer d'obtenir le niveau de qualité souhaité.

    
réponse donnée David Futcher 02.08.2011 - 11:45
la source
2

Installer le convertisseur audio Perl (pacpl): sudo apt-get install pacpl

Cette commande convertira tous les fichiers wma d’un répertoire donné en fichiers mp3 (en laissant les originaux intacts):

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

Si vous vous sentez risqué, vous pouvez ajouter l’option --delete pour supprimer également les originaux:

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

    
réponse donnée Eric Mathison 20.04.2014 - 12:03
la source
2

Je sais que c'est un peu vieux mais j'ai modifié le script montré par David Futcher. Les modifications sont les suivantes:

  • Utilisez /tmp au lieu du dossier actuel pour le fichier wav temporaire (cela accélère considérablement la conversion de fichiers sur une clé USB lorsque je l’utilise).

  • Supprimez les fichiers wma après leur conversion (avec un peu de chance) avec succès.

La voici:

#!/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
    
réponse donnée V10lator 27.04.2014 - 19:26
la source
1

Pour ceux qui recherchent une version d’interface graphique capable de sélectionner certains types de fichiers: l’outil KDE soundKonverter lien demande quels types de fichiers devrait être ajouté à la file d'attente de conversation.

Meilleure solution pour mon énorme collection de livres audio contenant des fichiers mp3 / ogg / wma.

    
réponse donnée tuxflo 10.07.2016 - 03:01
la source
1

Voici mon édition du script Marko Haapala, en utilisant 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

Je préfère ffmpeg, car il ne modifie pas le taux d’échantillonnage et n’a pas besoin de fichier temporaire intermédiaire

    
réponse donnée Slavik 21.03.2017 - 23:21
la source
0

Soundcoverter montre une erreur sur le module Windows Media et Python 2.7

Avconv a bien fonctionné:     avconv -i ./song.wma song.mp3

    
réponse donnée mapcuk 11.08.2016 - 22:45
la source
0

Vous pouvez également utiliser mon application ... dmMediaConverter en mode Bulk. Pour vous aider à voir cette vidéo ... au lieu de fichiers vidéo, faites glisser les fichiers wma. lien

    
réponse donnée mdalacu 23.03.2017 - 13:43
la source

Lire d'autres questions sur les étiquettes