I recently learned a neat trick. To join mp3 files together, you simply use the command (in Windows)
copy /b *.mp3 joined.mp3and 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?
611 Answers
There are two ways to split an MP3:
- Decoding into a wave, splitting, and re-encoding. This is the method Audacity uses and results in lost audio quality.
- 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.
3I 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.
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.
2Try MP3DirectCut. It's free and works for me.
Excellent online tool:
Advantages:
- Extremely Fast!
- Splitting the original MP3 directly (Not Decoding & re-encoding) - so any los quality.
- All processing is in client-side.
video:
1Specialized 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.
1If 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.
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:
(Click to zoom)
3Use FFMPEG to do so (), with the parameters:
ffmpeg -i LongFile.mp3 -f segment -segment_time 10 -c copy ShortFile_%03d.mp3This will split the mp3 file into 10 minutes files with names ShortFile_000.mp3, ShoetFile_001.mp3, etc.
1Not 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.
2Sliff 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