I know how to do it in microsoft windows using Audacity to convert a mp3 audio file from stereo to mono, but it's a few mouse clicks and time consuming if you want to do many.

Is there a program in Linux that provides a way such that I can batch script the commands to convert my folder of some 1000 mp3 files? For example :

some_sound_program.x  --convert-stereo-to-mono  --input file1.mp3  --output file1_mono.mp3
some_sound_program.x  --convert-stereo-to-mono  --input file2.mp3  --output file2_mono.mp3
{and so on}

1 Answer 1


I like to use ffmpeg:

mkdir -p mono ; for i in *.mp3 ; do ffmpeg -hide_banner -i "./$i" -ac 1 -q:a 5 "mono/$i" ; done

This will down-mix stereo to mono and re-encode all mp3 files in the current directory.

I do not know if there is a more efficient way without re-encoding e.g. "throw away all channels but one".

  • very cool, thanks
    – ron
    Commented Oct 4, 2023 at 3:20
  • did 1395 mp3's in about 30 minutes, verified singile audio track using audacity in Rocky 8.8 linux; some files had invalid data found when processing input. My mono folder has 1393 files.
    – ron
    Commented Oct 4, 2023 at 3:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .