Home » Blog
date 4.Jun.2023

■ Split MP3 album into songs automatically

Most of the classic jazz albums I download from youtube are in one solid piece, containing all the tracks. Unlike CD ripping, there's no chance of finding track information in an online database. Some manual labor is unavoidable. There are two tasks to complete:

There are many tools that split MP3s using a CUE file, which is a text file with track information. Theoretically you can create such a file with notepad, and manually insert each music track's time split information. You can also theoretically wash your laundry in the nearby creek <g>

I used a free tool called mp3DirectCut to manage DJ mix files, cutting out portions I don't like, introduce fade outs etc. It isn't the easiest program to work with, but it can do automatic track splitting. This is the part I am going to explain now step by step.

Beware of the false download links scattered through the mp3DirectCut website, which are all advertisements; find the true download button in fosshub.com, which looks as such:
download button

Step 1: open the album MP3 file

After you install and run mp3DirectCut use File > Open menu or the toolbar button to locate and open the album file. Remember you can use xplorer² to copy paths and find things easily in system file dialogs. mp3DirectCut will load and show the waveform.

mp3DirectCut user interface

Step 2: automatically create the cue/split points

Unless you downloaded a Detroit underground house DJ mix, there should be pauses inbetween the album songs, which you can see by examining the shape of the wave. Usually there is a 2-3 second gap between tracks without sound. Even better, mp3DirectCut can automatically add cue points using Special > Pause detection menu. Leave all the default dialog settings and click Start button; when it's finished click Close button — why the dialog doesn't close itself is anybody's guess. I suppose in hard cases you need to tweak the silence discovery parameters, but in that case you might as well visually inspect the waveform and insert the cue points manually with mouse clicks.

Step 3: Edit the CUE text file for track names

I am not sure if that's the best way to add ID3 tags, but using Special > Save cue sheet and edit with Notepad menu command you get to see the CUE file, that has the track starting times. mp3DirectCut doesn't access a CDDB so it just gives basic names like (Track 01) for each song. More often than not, youtube album pages have a list of track titles (look at the comments area), so just copy/paste the text information in Notepad (replacing the dummy (Track 01) etc titles), then save the CUE file.

TITLE "(Title N.N.)"
FILE "Mistral Freddie Hubbard [1982].mp3" MP3
    TITLE "Sunshine Lady"
    INDEX 01 00:00:00
    TITLE "Eclipse"
    INDEX 01 07:06:70
    TITLE "(Track 03)"
    INDEX 01 14:23:20
Pause detection algorithm gets the track boundaries correctly, but usually inserts some imaginary splits, e.g. at the very end of the list there is always an invalid mini-track. Just delete any wrong information in the CUE file. If you delete an intermediate track you must change the track numbers for all subsequent tracks to keep things in numerical order.

Step 4: Split the individual MP3 song files

Once you save the CUE file and switch back to mp3DirectCut, it will kindly ask you to Reload Cue sheet, so it can read back any changes you made, so click Yes. Use List menu to see the track names and split points, which should be ok by now. Finally use File > Save split menu command to create the separate track files. As we only have valid track Titles, use a filename template like %N.%T to give a number (track index) and the edited title, so you will have songs saved as (see the CUE file above):

01.Sunshine Lady.MP3

Step 5: Wrap it up in a folder

The full album and the individual MP3 files should all be in the same folder. Use xplorer² to create a subfolder for the new splits, move into it the individual files, then delete the large original album. Job done!

I think that xplorer² mass rename function needs an option to get names from a text list, so it can deal with track lists like above... perhaps in a future version!

Post a comment on this topic »

©2002-2023 ZABKAT LTD, all rights reserved | Privacy policy | Sitemap