Merge multi-CD performances?

I have a bunch of audio CDs which are performances recorded on 2, 3, or more CDs. I’d like to rip them to my hard drive, and somehow painlessly combine the multiple disks into one performance.

Maybe an example would make it clearer. I have a recording of ‘Hamlet’ that is on 3 CDs, with perhaps 10 tracks per disk. When I rip the disks, they are stored as ‘Hamlet Disk 1’, tracks 1-10, ‘Hamlet Disk 2’, tracks 1-10, etc. I want them to be ‘Hamlet’, tracks 1-30.

Now I can (and have, in the past*) manually move & rename the files, but that is a major pain. Is there an app that will do this automatically? I’ve been searching for some time with no luck. but maybe I’m not asking the right questions.

If you have the separate files, you can include them into a single playlist using Kaffeine; they will then play one after the other. I assume you can do that with any similar program.

If you prefer Audacious for playing wav and mp3 files, that can export a playlist also. I don’t remember actually trying it, but it does have that option. I’m pretty sure it will create an m3u playlist file. Ok, I tried it with one wav file, you have to give the playlist file name the “.m3u” extension or it gives you an error message. It works for me…

Sure, but that seems a rather convoluted approach, and it means I’d have to re-do playlists for different devices. (I think - I’m far from an expert on this.)

I don’t actually play anything on my computer (don’t even have speakers). What I want to do is create a fairly permanent archive of all my CDs in lossless form (FLAC, most likely), which I will then copy to different players as desired, downsampling to mp3 or whatever as needed. So it’d be handy if I could just do a copy/convert of e.g. the directory ‘Hamlet/*’, and not have to worry about interpreting a playlist file.

I did some experimenting with a shell script that might help. I’m no expert at this, so take that into account. First, I used two .m3u playlists for mp3 files, but this will work with .wav files too. I copied the contents of both playlists into a text editor (Kate) and saved it as a file named combined.m3u. This preserves the proper play order. To get the following shell script to “see” the very last file in the playlist, I had to add a “newline” (hit the Enter key) before saving it. I created a subdirectory named CombinedAlbums to copy the renamed files to. So, the file structure for this was:


BillBruford/Feels_Good_to_Me
BillBruford/One_of_a_Kind
CombinedAlbums

The first two directories were ripped from CDs using Grip, and contain only mp3 files. Be sure that’s all there is in the directories (or only .wav files).

Next, I created this shell script, saved it in the same directory as the above 3 directories, and made it executable:


#!/bin/sh
tracknum=1
exec<combined.m3u
while read line
do
cp $line CombinedAlbums/track$tracknum-${line##*/}
tracknum=$((tracknum+1))
done

In the CombinedAlbums directory, it makes copies of the files with track numbers prepended:


track1-Beelzebub_Instrumental.mp3
track2-Back_to_the_Beginning.mp3
track3-Seems_Like_a_Lifetime_Ago_Part_1.mp3
track4-Seems_Like_a_Lifetime_Ago_Part_2.mp3
track5-Sample_and_Hold_Instrumental.mp3
track6-Feels_Good_to_Me_Instrumental.mp3
track7-Either_End_of_August_Instrumental.mp3
track8-If_You_Cant_Stand_the_Heat_Instrumental.mp3
track9-Springtime_in_Siberia_Instrumental.mp3
track10-Adios_a_la_Pasada_Goodbye_to_the_Past.mp3
track11-Hells_Bells.mp3
track12-One_of_a_Kind_Pt_1.mp3
track13-One_of_a_Kind_Pt_2.mp3
track14-Travels_With_Myself__And_Someone_Else.mp3
track15-Fainting_in_Coils.mp3
track16-Five_G.mp3
track17-The_Abingdon_Chasp.mp3
track18-Forever_Until_Sunday.mp3
track19-The_Sahara_of_Snow_Pt_1.mp3
track20-The_Sahara_of_Snow_Pt_2.mp3

Of course, you’ll first have to have the playlists to do this, but Audacious can export them. I hadn’t thought about it until now, but Audacious can make one playlist for all the songs, so that will elimated having to paste two or more playlists into one bigger one, saving a little bit of work.

I couldn’t find any application to do what you want, so hopefully this method won’t be a huge pain in the ***.

Thanks for the idea. That may be what I’ll have to do - write a script to scan/parse directories and do the combining. I just wonder whether the track files themselves contain internal metadata that says e.g. “I am track N”. I remember runnng into problems like that when I first started copying things to disk: I’d wind up with 3 files that all thought they were Track 1…

I don’t know if WAV files have that info, mp3 files do. The shell script I used adds a track number to the file names only, and the track numbers correspond to the order they are found in the playlist. It just copies the original files, so it shouldn’t add or remove any imbedded information. When you rip a CD to mp3, Grip and (other apps) use freedb to get the track info. I never bothered to save the wav files it rips to before converting to mp3, so I don’t know if the info is in the wav files, probably not. You may have to add that info if you later convert the rips to mp3 or whatever. I use EasyTag for that sometimes, but it only does mp3 as far as I know (could be wrong about that, though). If I do an audio CD project with K3B and add a wav file, it shows fields for Artist and Title, something called “CD-Text”, but nothing about track numbers. I don’t know what that’s for, maybe some CD players can display those?

The mp3 files will have more than one file that says it’s track 1 and so on, if multiple CDs are involved. You’d have to edit those, a real tedious affair to be sure. My knowledge is pretty limited, so I have no idea how to edit those automatically. Maybe someone on here knows how… I would like to know how, I may need to do this someday.