
Ich weiß, dass es Optionen wie Sound Converter gibt, um dies Titel- oder Verzeichnis für Titel zu tun, aber gibt es Tools, die rekursiv die Unterverzeichnisse eines Verzeichnisses durchsuchen und alle WMAs in MP3s konvertieren?
Ich möchte es grundsätzlich auf meinem ~/Music loslassen und seine Arbeit machen lassen, ohne dass ich ihm manuell jeweils ein Unterverzeichnis zuweisen muss.
Antwort1
InstallierenSoundkonverter
und Soundconverter
vom Launcher oder Terminal aus ausführen
Die Standardkonvertierung wird wie folgt in „Ergebnistyp“ in MP3 .ogg
geändert :mp3
edit-> preferences
Format
Klicken Sie auf „Ordner hinzufügen“ und wählen Sie dann Ihren Musikordner aus. Sie können den Ausgabeordner in der obigen Einstellungskonfiguration auswählen, bevor Sie auf „Konvertieren“ klicken.
Hoffe, das ist mit zwei Klicks erledigt :)
Antwort2
MPlayer ist wahrscheinlich bereits installiert. Stellen Sie außerdem sicher, dass Sie lame haben:
sudo apt-get install mplayer lame
Dann gibt es zwei Möglichkeiten, dies zu tun: eine leicht lesbare Version und ein kurzes und einfaches Skript:
Alle WMAs sollten sich in Ihrem aktuellen Verzeichnis befinden. Erstellen Sie eine Datei namens wmamp3 in Ihrem Home-Verzeichnis (~/), die Folgendes enthält:
#!/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
um es ausführbar zu machen
sudo cp ~/wmamp3 /usr/bin
um es an einer nützlichen Stelle auf deinem Weg abzulegen
Geben Sie „wmamp3“ ein, um die Konvertierung auszuführen.
Die kurze und knappe Version (macht genau dasselbe wie oben):
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
Antwort3
Mplayer und lame müssen zuerst installiert werden:
sudo apt-get install mplayer lame
Erstellen Sie dann das Skript (Referenzseite ) und führen Sie es aus:
#!/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
Sieht so aus, als ob es genau das tut, was Sie wollen. Denken Sie daran, dass Sie möglicherweise mit den Lame-Flags herumspielen möchten, um sicherzustellen, dass Sie das gewünschte Qualitätsniveau erreichen.
Antwort4
Ich weiß, dass es schon etwas älter ist, aber ich habe das von David Futcher gezeigte Skript modifiziert. Die Änderungen sind:
Verwenden Sie
/tmp
anstelle des aktuellen Ordners die temporäre WAV-Datei (dies brachte eine erhebliche Geschwindigkeitssteigerung, als ich dies zum Konvertieren von Dateien auf einem USB-Stick verwendete).Entfernen Sie die WMA-Dateien, nachdem sie (hoffentlich erfolgreich) konvertiert wurden.
Hier ist es:
#!/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