38

I recently learned a neat trick. To join mp3 files together, you simply use the command (in Windows)

copy /b *.mp3 joined.mp3

and voila, you have one large mp3 file.

My question: is there a method of doing the opposite, i.e. splitting an mp3 file, this easily?

6
  • You should tag this for Windows Commented Jul 28, 2009 at 19:22
  • 1
    Not necessarily... the command-line join example I gave should work just as well in other systems. Plus, the question is for a command-line splitter for any OS.
    – Yuval
    Commented Jul 29, 2009 at 13:40
  • Yuval, the answer you accepted will cause your MP3 to be decoded and reencoded. This will really reduce your audio quality. Check out my answer on MP3DirectCut. Commented Aug 1, 2009 at 1:37
  • Also, your joining method will result in a bad frame in the middle of the audio from the header and tail (where the tags are) remaining. It would be better to use a joining tool that removes these bad frames. Commented Aug 1, 2009 at 1:38
  • Jim, I thank you for the concern about the audio quality, but I mainly use splitting and joining MP3s for listening to audiobooks more conveniently, and these are hardly high-quality to begin with...
    – Yuval
    Commented Aug 1, 2009 at 7:49

11 Answers 11

31

There are two ways to split an MP3:

  1. Decoding into a wave, splitting, and re-encoding. This is the method Audacity uses and results in lost audio quality.
  2. Splitting the MP3 directly. You have a lower resolution for where to split, but the result is no loss in audio quality. I've used MP3DirectCut with relatively good success.

Usually you will want to use the 2nd method since it is lossless, unless you really don't care about your audio quality.

3
  • 1
    I'm very fond of mp3DirectCut. All it does is split up mp3 files, and it's pretty good at it. Commented Jul 22, 2009 at 18:49
  • I wasn't aware of this... 10x for the info!
    – Yuval
    Commented Jul 22, 2009 at 21:10
  • 1
    Thanks Jim. I was not aware of this as well. I had been using Audacity for a while now, it is now going to be MP3Direct from now on.
    – Kanini
    Commented Oct 21, 2009 at 3:11
46

I regularly use mp3splt. It is an open source program for Windows and Linux, and includes a gui (which I don't use, so I can't comment on it).

This is the commandline I usually use to split a podcast into 6 minute segments:

mp3splt podcast.mp3 -g %[@N=0,@o] -o "@n @f" -t 6.0
  • -t 6.0: split every 6 minutes
  • -g %[@N=0,@o]: for every section use the original tags, but update the track number starting from 0.
  • -o "@n @f": The output file name should be the original filename with the track number tacked on in front.
6
  • this tool was perfect for cutting MP3's for use in HTTP streaming. quicktime wasn't liking the m3u8's populated by mp3's cut by ffmpeg, but mp3splt worked perfectly. It cut up each part automatically too! Command line is a bonus win. Thanks for posting this!!
    – brack
    Commented Jun 24, 2010 at 16:06
  • crashes in windows 8.1 Commented Nov 9, 2013 at 23:01
  • 1
    @ScottAnderson: May I recommend filing a bug on their website? sourceforge.net/p/mp3splt/bugs Commented Nov 10, 2013 at 8:12
  • 3
    i am using the same for my audiobooks on car radios that dont remember position very well. i recommend using "-f" which they say is necessary for vbr and i experienced as more error tolerant. also i add "-O 0.3" for a 3 second overlap in case the split happens in the middle of a word.
    – peter
    Commented Nov 19, 2014 at 9:03
  • Great, fastest way I could find!
    – ImtiazeA
    Commented Sep 22, 2018 at 6:12
8

It's not as easy as the command you mention in your question. With that being said there are easy ways to do it.

Audacity is one free program that allows you to split mp3s. It's relatively easy to use once you get a hang of the interface.

2
  • 3
    Audacity is good and the Beta version 1.3.x even easier to use. I suggest to start directly with that version
    – Drake
    Commented Jul 16, 2009 at 11:55
  • 3
    FYI, while Audacity is a great tool, splitting MP3's this way involves decoding and re-encoding the MP3. This degrades the audio quality. Commented Jul 22, 2009 at 18:36
6

Try MP3DirectCut. It's free and works for me.

6

Specialized MP3 splitters, like mp3DirectCut, cut on frame boundaries. But most MP3s use the bit reservoir to conserve space; a frame's audio data often starts in a prior frame, sometimes 2 or 3 frames back. Thus the frames near the split points are likely unplayable and are silently skipped. If the split occurs in the middle of silence, it's probably of no concern.

If the split occurs in the middle of continuous music, you might notice the skipped frames. To help mitigate this, use mp3packer to expand the mp3 to 320 kbps with minimal bit reservoir usage (-b 320 -r in.mp3 temp.mp3), make your edits in mp3DirectCut, then use mp3packer again to repack (-s -t -z temp.mp3 out.mp3). It's not guaranteed to work because bit reservoir usage might be unavoidable in a high-bitrate file, but it can help, and doesn't result in quality loss.

Alternatively, you can use pcutmp3 to do the split. It preserves the necessary frames and adds gapless playback data (encoder delay & padding info) to a LAME tag at the beginning of the file. Players which support this data will trim the extra samples upon playback.

1
  • Very smart explanation, and technical. Nice! Commented Jul 31, 2018 at 9:59
4

Excellent online tool: http://magicode.me/mp3-cut

Advantages:

  • Extremely Fast!
  • Splitting the original MP3 directly (Not Decoding & re-encoding) - so any los quality.
  • All processing is in client-side.

video: https://www.youtube.com/watch?v=Qmb6BNg6IhM

1
  • this solution is ezpz! Commented Jul 1, 2020 at 22:45
2

If you happen to be using Linux you can always use "split --bytes=1M --numeric-suffixes largefile.mp3 smallfile". However, you will have to append the .mp3 yourself unfortunately.

2

For the record, that's not the best way to merge MP3s.

It works, but it leaves superfluous information (the ID3 tags) from the subsequent files in the final file. Copy, when used that way, is just a concatenate - the extra header information is still in there.

The structure of an MP3 file can give you an idea:

enter image description here

(Click to zoom)

3
  • 1
    This is very interesting, but it doesn't answer the question. It might be more relevant here: superuser.com/questions/202809/join-multiple-mp3-files-lossless Commented Nov 10, 2013 at 8:16
  • If the tags are a concern, you can remove all tags first, but then you'll have to add them back in afterwards.
    – Mr Lister
    Commented Mar 18, 2014 at 9:34
  • Nice, but the question was not about merge, but about split.
    – Shai Alon
    Commented Apr 2, 2018 at 9:25
2

Use FFMPEG to do so (https://unix.stackexchange.com/questions/280767/how-do-i-split-an-audio-file-into-multiple), with the parameters:

ffmpeg -i LongFile.mp3 -f segment -segment_time 10 -c copy ShortFile_%03d.mp3

This will split the mp3 file into 10 minutes files with names ShortFile_000.mp3, ShoetFile_001.mp3, etc.

1
  • On a current version of FFMPEG this creates files 10 seconds long. For 10 minutes I used 10:00 and that seemed to work well.
    – itaych
    Commented Nov 9, 2020 at 22:37
1

Not that easily, but there are a number of mp3 splitting tools available online that allow you to pick where to split an mp3 file.

Of course if you wanted to split up an mp3 file just to transfer it (and not to play back the split portions), you could use a generic file splitting utility and then the binary copy method you've used to reassemble the mp3.

2
  • Is there one you can recommend? Do you know one that is free?
    – Yuval
    Commented Jul 16, 2009 at 11:45
  • Back in the day I used to use arj (arjsoftware.com) to split files to chunks of 1.44MB to fit on floppies. I see it's still around. WinRAR (rarlab.com) can do the same. Heck, even good ole' pkzip 2.04g (pkware.com) added support for that, though it was a lot less convenient than arj Commented Aug 1, 2009 at 3:41
0

Sliff is right, no os tool available.

Technically mp3 is configured such that you can split at any place you want. It uses 18 ms block of static or variable length with a certain bit combination at the beginning of each block. If you split the file in midst of a block, the player is just going to forward silently to the next block and you therefore lose a max of 18 ms.

Tag blocks - where you enter information about artist, title, album and such, can be at any place in the file or be ommitted. Even multiple tag blocks do not harm (the first is taken).

You can therefore split and join wherever you want.

Any tool to split files would do then.

1
  • Tags in the middle of a file are likely to be ignored. Also, since most MP3s utilize the bit reservoir, frame boundaries don't line up with audio data start points. So if you split on frame boundaries, as all specialized MP3 splitters do, you may make some frames adjacent to the split point unplayable, same as if you cut in the middle of a frame. Probably not noticeable if the cut is made in the middle of silence, but if there's continuous sound across the edit point, the seam may audible.
    – Mike Brown
    Commented Jan 25, 2013 at 15:18

You must log in to answer this question.

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