What I did with my music LIBRARY, is take the current CD's that I own, and use that as a starting point for my collection, and will PURCHASE my music as needed. As far as my karaoke collection, it was collection that I purchased over a few years, as zip files, but serato will not read them, so I had to unzip them on to a separate drive. Yes it's large, but it's all legal. With karaoke, yes it's only 4 hours, but the crowd is a lot more diverse, which means I will probably use 90% of my library over the period of a few months.
I started with my OWN CD's as well... Problem being; most were NOT dance music. Most DJ's play dance music. Pretty much MOST the stuff I've downloaded and put in my library SINCE becoming a DJ has been dance music. I obtained lists of "most requested" and "most popular" songs played by DJ's and purchased EVERY song on those lists. However, until now, I still retained ALL the other personal stuff in the library too. It's fixable, but it's not as easy as some people think. Someone (who shall remain nameless and avatarless) suggested listing files by last "Date Accessed". But that would ONLY work if ALL your MP3 files are in the same folder. Mine are in folders by Artist Name>>>Album>>>Track, so it would require going at least two levels lower (thousands of times) in order to see when a song was last accessed. Even then, I don't know what difference the Date Accessed would make... JUST because a song has not been accessed recently, doesn't mean it's NOT a song you might play under the right circumstance. The decision about what is something you MIGHT play, or something that might be requested is much more complicated than checking the Date Accessed.