### How to convert some WAVe files to u-law, a-law or gsm on Linux? ### | |
Many VoIP solutions (like Asterisk) are using the u-law, a-law or gsm sound for… | |
Here are some examples: | |
* Converting a WAVe file to u-law | |
sox filein.wav -r 8000 -t ul -U -c 1 fileout.ulaw | |
* Converting a WAVe file to a-law | |
sox filein.wav -r 8000 -t al -A -c 1 fileout.alaw | |
* Converting a WAVe file to gsm | |
sox filein.wav -r 8000 -t gsm -g -c 1 fileout.gsm | |
What does these option mean? | |
filein.wav - the input file | |
-r 8000 - resampling the input file to 8 KHz | |
-t xx - setting output format to xx (ul, al, gsm) | |
-U - setting the output encoding to U-law | |
-A - setting the output encoding to A-law | |
-g - setting the output encoding to gsm | |
-c 1 - only one channel (mono) | |
fileout.xxx - the output file | |
Now, what if you don't have one or two such files to convert, but THOUSANDS? No… | |
for myfiles in *.wav ; do sox $myfiles -r 8000 -t ul -U -c 1 `basename $myfile… | |
Note, that I also used basename here to write new files without their old ".wav… | |