Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to know if it is possible to merge stereo audio into mono on a GSM6.10 audio file using FFMPEG. If it is, please provide the command to achieve this.
Otherwise, is it possible to convert GSM6.10 to WAV PCM with FFMPEG? I could then merge the channels on the WAV PCM.

If there is another free tool that can do this I can try that too.

share|improve this question

3 Answers 3

The way to "mixdown" from stereo to mono in any supported file in ffmpeg is like so:

ffmpeg -i file.ext -ac 1 file_mono.ext

The "-ac 1" bit instructs ffmpeg to output just 1 audio channel, i.e. mono. By default, this operation will preserve your file format but will revert your bitrate to the ffmpeg default of 64kbs. If you want a higher bitrate, you can do:

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

...replacing 192k with your preferred bitrate.

Note that your install of ffmpeg must support your particular GSM codec in order for this to work properly. I know some GSM encoded audio is supported in ffmpeg through libgsm but I have never dealt with GSM files myself. I have successfuly converted other types of files (MP3) to mono without a hitch, however.

share|improve this answer
1  
Is this really mixing, or just dropping of channels? –  Jonny Apr 15 at 3:05
    
From the 'pan' filter documentation: "Note that ffmpeg integrates a default down-mix (and up-mix) system that should be preferred (see "-ac" option) unless you have very specific needs." –  OrangeDog Sep 12 at 8:49

I know it's possible with sox....i use sox for channel manipulation, kdenlive and audacity for mild editing, and ffmpeg for remuxing. just letting you know what has worked out well for me in the past.

share|improve this answer

The above answer works in the case that you still want to convert between formats, but for long files that can take a long time. Or maybe you don't want to convert yet again, degrading quality, and so you might just want to stream copy. Using -codec:a and -ac 1 at the same time doesn't work, but according to the ffmpeg pan filter documentation, if certain conditions are met (like you aren't adjusting the levels of channels or mixing two channels into one), it will recognize this case and report: "Pure channel mapping detected", and do a stream copy, which is much faster.

For example: To make a stereo file mono by just using the left channel, and just copying the video stream, do this:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.