The basic problem is finding the actual tracks in the audio stream. You could search the audio for things that qualify as music but you will capture advert jingles, station tags, etc. and miss any vocal only tracks.
So you really need some metadata to tell you when the music is playing - luckily some stations provide this from their internet casting systems.
When Capturing New Recordings
If you are capturing new recordings then there is software to help you when you are dealing with a compatible station.
Basically it depends which radio station*(s)* you are listening to, or recording, and which technology they are using. If they are using a SHOUTcast or Icecast formats, see a list of stations for SHOUTcase or Icecast, then the stream includes metadata to inform the receiving equipment which track is playing and some software can use that information to split the stream accurately so as to exclude presenters conversations and adverts, etc.
StreamRipper is a free, gratis & Open Source command line tool that will stream compatible sources splitting the tracks based on the metadata. It is available for MS-Windows & Linux, there is also StreamRipperX of OS-X.
For a Java GUI for StreamRipper see StreamRipStar.
Unfortunately once you have recorded the broadcast with other software the metadata is most likely lost so you would be reduced to manually listening to identify the tracks and cutting out those sections using something like Audacity also free, gratis, open source & cross platform so you would probably be better off installing the above and capturing some fresh material.
Before downloading or using any of the above software please check your local legislation & the stations T&Cs regarding the use of such software, copyright, DRM, royalty payments, etc., etc., ad nauseam against your planned usage.