Je sais qu'il existe des options, telles que Sound Converter, permettant de créer une piste ou un répertoire à la fois, mais existe-t-il des outils permettant d'explorer de manière récursive les sous-répertoires d'un répertoire et de convertir tous les fichiers WMA en MP3?
En gros, je voudrais le laisser perdre sur mon ~/Music et le laisser faire sans que je sois obligé de lui donner manuellement un sous-répertoire à la fois.
MPlayer est probablement déjà installé. Assurez-vous également que vous avez boiteux:
Sudo apt-get install mplayer lame
Ensuite, il y a deux façons de le faire, une version facile à lire et un script court et compliqué pour le faire:
Tous les wma devraient ê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 placer quelque part 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
Installez Soundconverter
et lancez Soundconverter
à partir du lanceur ou du terminal
La conversion par défaut est .ogg
, remplacez-la par mp3
et passez à edit-> preferences
sous le type de résultats. Format
to 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 :)
Mplayer et lame doivent être installés en premier:
Sudo apt-get install mplayer lame
Ensuite, créez le script ( page de référence ) et exécutez-le:
#!/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 qu'il fait exactement ce que vous voulez. N'oubliez pas que vous voudrez peut-être jouer avec les drapeaux boiteux pour obtenir le niveau de qualité souhaité.
Je sais que c'est un peu vieux mais j'ai modifié le script montré par David Futcher. Les changements sont les suivants:
Utilisez /tmp
au lieu du dossier actuel pour le fichier wav temporaire (cela a donné une grande accélération lorsque j'ai utilisé cela pour convertir des fichiers sur une clé USB).
Supprimez les fichiers wma après leur conversion (espérons-le avec succès).
C'est ici:
#!/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
Installez Perl Audio Converter (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
Pour ceux qui recherchent une version graphique capable de sélectionner certains types de fichiers: l'outil KDE soundKonverter https://github.com/HessiJames/soundkonverter demande quels types de fichiers doivent être ajoutés à la file d'attente de conversation.
La meilleure solution pour mon énorme collection de livres audio contenant des fichiers mp3/ogg/wma.
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 change pas la fréquence d'échantillonnage et n'a pas besoin de fichier temporaire
Vous pouvez également utiliser mon application ... dmMediaConverter en mode Bulk. Pour obtenir de l'aide, voir cette vidéo ... au lieu de fichiers vidéo, faites glisser les fichiers wma. https://www.youtube.com/watch?v=rZR40mdFRoQ&index=1&list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO
Soundcoverter montre une erreur quelque chose à propos du module Windows Media et Python 2.7
Avconv a bien fonctionné: avconv -i ./song.wma song.mp3