![]() | Noot |
---|---|
Alle opdrachten veronderstellen de bashshell |
Verzamel alle MP3 bestanden in één directory.
Als zich daaronder bestandsnamen met spaties bevinden, zet je deze eerst om in onderstrepingstekens:
for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done |
Converteer ze naar WAV met de opdracht:
for i in *.mp3; do mpg123 -w `basename $i .mp3`.wav $i; done |
Als het goed is, bevindt Mpg123 zich in elke Linux distributie, maar mocht je het niet hebben, dan kun je het ophalen van http://www.mpg123.de/.
NOOT Ik bemerkte bij een aantal MP3 bestanden dat de uitvoer van mpg123 werd vervormd. Eerst dacht ik dat de MP3's slecht waren, maar toen ik dit controleerde met een andere speler, klonken ze goed. Dus zocht ik naar een andere MP3 speler welke WAV bestanden naar disk kon schrijven, en vond: MAD mp3 decoder op http://www.mars.org/home/rob/proj/mpeg/. Met madplayer, luidt de opdrachtregel:
for i in *.mp3; do madplay -o `basename $i .mp3`.wav $i; done |
Er is nog een andere manier om de conversie uit te voeren. Een aantal MP3 bestanden zorgen zowel met mpg123 als met madplay voor problemen bij het decoderen. De lame encoder, die een decodeer modus heeft, schijnt moeilijke gevallen zeer goed af te handelen (lame is te vinden op http://www.mp3dev.org/mp3/) :
for i in *.mp3; do lame --decode $i `basename $i .mp3`.wav; done |
NOOT: De opdracht `basename $i .mp3`.wav vervangt MP3 extensies door WAV. Er zijn 101 manieren om dat te doen, hier is een alternatief: `echo "$1" | sed 's/\.mp3$/.wav/'`
Voer de opdracht "file *.wav" uit en controleer de uitvoer op bestanden anders dan 16 bit, stereo 44100 Hz.
Mochten er bestanden met verschillende karakteristieken zij, converteer ze dan naar bovenstaande specs. Om bijvoorbeeld een bestand track01.wav te converteren om een sample rate van 44.1 kHz te verkrijgen, zou je kunnen gebruiken:
sox track01.wav -r 44100 track01-new.wav resample |
Sox is zo populair, dat het waarschijnlijk al standaard is geïnstalleerd bij elke distributie. Het kan worden verkregen vanaf http://www.spies.com/Sox/. De opdrachtregelopties zijn echter wat cryptisch voor de alledaagse gebruiker (ikzelf). Kijk op http://www.spies.com/Sox/sox.tips.html voor wat tips over het gebruik.
Normaliseer je WAV bestanden, om drastische verschillen in volumeniveaus te voorkomen. Ik gebruik een programma van Chris Vaill (<cvaill@cs.columbia.edu>), genaamd normalize - het is te verkrijgen vanaf http://www.cs.columbia.edu/~cvaill/normalize/
Ik gebruik de volgende syntax (-m is voor mix modus, waarbij alle bestanden zo luid mogelijk zouden moeten zijn):
normalize -m *.wav |