Convert a .mp3 to wav file with mplayer

15

2

I've a .mp3 file and need to convert that to an 1 channel 8kHz 8 bit wav file, anyone know how I can do that with mplayer ? If not, any other commandline tools I could use ?

anonym

Posted 2010-01-12T09:08:03.977

Reputation:

That might be obvious, but keep in mind that you cannot regain the quality that was lost when it the mp3 compression was applied. – ℝaphink – 2010-01-12T09:57:37.417

Answers

19

ffmpeg should do the job. This line will convert to 8kHz 1 channel wav file.

ffmpeg -i input.mp3 -ar 8000 -ac 1 output.wav

http://ffmpeg.org/ffmpeg-doc.html#SEC11

I'm not sure about the 8 bits requirement - what are you referring to? It's not the bitrate surely?

Iain

Posted 2010-01-12T09:08:03.977

Reputation: 4 399

it's the bits-per-sample, analagous to the color depth of a picture. CDDA-style PCM (std WAV) is 16-bit 44.1kHz stereo; he wants output of 8-bit 8kHz mono. – quack quixote – 2010-01-12T10:02:16.877

8 bit per sample – None – 2010-01-12T10:06:19.240

In that case the line should be: ffmpeg -i input.mp3 -ar 8000 -ac 1 -acodec pcm_u8 output.wav – Iain – 2010-01-12T10:14:27.850

8

lame, the command-line WAV to MP3 encoder, can also decode MP3 to WAV with the --decode switch.

pavium

Posted 2010-01-12T09:08:03.977

Reputation: 5 956

As user-friendly tools are concerned, I also like mpg321 for decoding: mpg321 input.mp3 -w output.wav When I tried lame, it got the duration (play time) wrong in the output file, whereas with mpg321 it came out correct. – Jo Liss – 2016-01-31T20:43:48.677

2

SoX can also do this; assuming your SoX is compiled with MP3 support, all you'd need is

sox input.mp3 -c 1 -r 8000 -1 output.wav

... although you might run into clipping issues, in which case you'd want to play with the vol and/or mixer effects to decrease the volume of the input channels before the resampling happens.

Without MP3-enabled SoX, use an MP3 decoder to convert your MP3 to WAV first, then the above command becomes:

sox input.wav -c 1 -r 8000 -1 output.wav

quack quixote

Posted 2010-01-12T09:08:03.977

Reputation: 37 382

2

mplayer -srate 8000 -vo null -vc null -ao pcm:fast:file="$fn.wav" "$fn"

This will also work for extracting the audio track from videos, and any other media file mplayer was configured to handle.

amphetamachine

Posted 2010-01-12T09:08:03.977

Reputation: 1 443