I have a 400 MB MP3 file at 96 kbps, taken from a CD. I want to split this into many files.
Is there any way to do that without affecting the quality of audio, or maybe without re-encoding the file?
There is a program called mp3splt - I specify start and end time of the part I am interested in. It is also possible to split automatically with silence detection.
You didn't specify an OS.
General-purpose audio editors decode MP3s and then re-encode upon saving, so avoid those.
Dedicated MP3 splitters usually slice on frame boundaries, thus the audio is not being decoded and re-encoded, which is good. However there's a penalty: a split-second of audio around the split points often becomes unplayable, sometimes resulting in a skip or click if the audio there isn't silent. This is due to complications related to various features and side-effects of MP3 encoding and decoding (the bit reservoir, encoder delay, padding, and decoder delay). But as long as the split points are in the middle of silence and you're not terribly concerned about losing a fractional second of that silence, then I second the recommendation for mp3DirectCut, a Windows app. It's robust and free, and it has a nice graphical view of the volume level of each frame (you might need to play with the scale a bit), which although is not a true view of the decoded waveform, is usually good enough for the purpose of spotting ideal places to cut.
If you're super concerned about accuracy, then you'll want to use the Java command-line app pcutmp3, which is so far the only tool I know of which works around these issues. The caveat is that you'll need to make sure you use a player which supports "gapless playback" (encoder delay & padding) info as written in a LAME tag.
Both pcutmp3 and mp3DirectCut support the use of cue sheets for specifying split points. So if you have the original CD, you can use a CD ripping program to generate a .cue file for the audio file. This cue sheet is a text file which will contain, among other things, precise track boundaries which the splitter can use. If you don't have the original CD, you might be able to generate a cue sheet via the website cuesheet heaven, which re-interprets freedb data. Such a .cue made without the original CD may not be accurate (if you choose the wrong pressing) and almost certainly will be incomplete (in that it only has track boundaries, none of the other things that go in cue sheets), but it should be fine for your purposes.
I'm surprised nobody has mentioned mp3DirectCut. Does just what you want and doesn't re-encode. It's my go-to for this sort of thing. Freeware.
The standard tool to do this not just for mp3 but for lots of audio and even video formats is ffmpeg:
ffmpeg -i in.opus -ss 00:00:30.0 -t 00:03:00 -c copy out.opus
Would take a 3 minute piece of
in.opus starting at 30 seconds and put it into
out.opus without transcoding (
-c copy). Take note that while this will keep some Metainformation (title, artist, etc.), some other (e.g. lyrics) will be lost. For more information see its manpage, for example about
-c[:stream_specifier] codec (input/output,per-stream) -codec[:stream_specifier] codec (input/output,per-stream) Select an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams. codec is the name of a decoder/encoder or a special value "copy" (output only) to indicate that the stream is not to be re-encoded. For example ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT encodes all video streams with libx264 and copies all audio streams. For each stream, the last matching "c" option is applied, so ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT will copy all the streams except the second video, which will be encoded with libx264, and the 138th audio, which will be encoded with libvorbis.
Caveats from @Mike Brown's answer do apply.
After trying several programs I've found Slice Audio File Splitter to be the best (free, output mp3 files are without errors (tested with mp3val), an option for overlapping of tracks and manipulating the output filenames).
disclaimer: I am not working for them
My 2 cents: I found Fission to be the best pick for Mac OS X.
The very peculiarity of this audio editor is editing without quality loss, as it is stated in it's description (bold is mine):
With Fission, audio editing is no longer a chore. You can join files, crop and trim audio, and rapidly split up long files. Fission is streamlined for fast editing, and it works without the quality loss other audio editors cause.
Fission never causes quality loss when it edits, even with the MP3 and AAC formats. It's like magic, and it's something only Fission offers!
The interface, it seems to me, is pretty simple and intuitive.
There are a few options to split the file:
The price is 35$ (as of June 2019), which might be a bit too high.
The program is for Mac OS X only, though there is a list of suggested alternatives for Windows, on their site.
There is an audio editing program for Windows, Linux and Mac OS X called Audacity, which is available for free. You could use this to do what you want.
Here are instructions on how to split a track using Audacity.
And I believe the format it uses is .WAV. However it can export to the MP3 format as well, but it will re-encode the tracks when it does.
Simply use WinZip to create a split zip file, which will give you multiple files that can later be merged. It lets you specify the size of the files, and is available in a long term free trial.
It can also be used for many other utility purposes, and last I checked was reasonably priced should you choose to license it.
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?