MetaChat REGISTER   ||   LOGIN   ||   IMAGES ARE OFF   ||   RECENT COMMENTS




artphoto by splunge
artphoto by TheophileEscargot
artphoto by Kronos_to_Earth
artphoto by ethylene

Home

About

Search

Archives

Mecha Wiki

Metachat Eye

Emcee

IRC Channels

IRC FAQ


 RSS


Comment Feed:

RSS

10 February 2006

Ask Mecha: How can I convert an MP3 from stereo to mono? [More:]
The MP3 only has the left channel and so plays only out of the left speaker. I want to have the same output over both channels.

What's the easiest free way to do this under Windows XP with cygwin?
posted by orthogonality 10 February | 16:25
Audacity? Dupe and copy into right channel?
posted by moonbird 10 February | 16:45
What you want, obviously, is a way to do this without transcoding.

But assuming you can stand transcoding, then I'd pipe the mp3 through a filter that decodes to whatever rez the mp3 originally was, and then through a good mp3 encoder with a "mono" bit set. Trivial shell script or command line. You just the right tools, of which there are certainly a great many. I'd just use Lame. If it's possible to set a mono bit without transcoding, I would be suprised if Lame or similiar doesn't have a command line switch that does exactly that.
posted by kmellis 10 February | 16:54
Foobar2000 has a mono downmix output filter, but that won't alter the file unless you use it's wav-to-disk output device, and then you'd be transcoding.
posted by Triode 10 February | 19:24
Ok, I used Winamp to convert the mp3 to a wav (which involves switching it to output to a file and then switching it back to normal paly), then lame with the -m m switch to convert the wav to a mono mp3.

Then I copied over the ID3 tags with Mp3BookHelper.

Then (because iTunes already knew about the file, and it's a podcast in a series and I didn't want iTunes to treat it like music), I used mv to copy the new file over the old.

Major PITA.

Better ways solicted.
posted by orthogonality 10 February | 21:22
To take out a step or two, if you open it in Audacity, you can split the left and right channels of the stereo MP3 source to separate mono tracks, by right-clicking on the track title and selecting "Split Stereo Tracks".

You can then bounce the two channels down into one mono track, by shift-clicking to select both tracks and choosing the Project -> Quick Mix menu. Export your mono MP3 file (you've already got the LAME library somewhere, sounds like).

You may still need to re-export your ID3 tags, but if you're using Cygwin you can use Perl or any other scripting language to automate this.
posted by AlexReynolds 10 February | 22:41
Lame can decode, downmix, and encode in one command. Use "-a" for mono.

Here's what I would do, either with win32's command.exe or (preferably!) with a shell script like ksh. First, I'd find a command-line ID3 utility that has import and export functionality.

Use some kind of foreach to utilize a directory listing of MP3s.
  • Read the input file's ID3 tags.
  • Export the ID3 tags to a temporary file using the MP3 filename.
  • Use lame to decode, downmix and encode all in one command, writing to something like _MONO_%filename%.
  • Use the ID3 app to import the stored ID3 values from the temp file and write them to _MONO_%filename%.
  • Delete the tempfile.
...and whatever else, like redirect sdout and sderr.
posted by kmellis 10 February | 23:03
Dear MetaChat || That'll be ninepence.

HOME  ||   REGISTER  ||   LOGIN