I'm in the advertising industry where normally encountered quite a lot of recording for commercials and radio with studios. However, sometimes before going for recording, we will do a "rough" track before proceed to studio.
In order for us to do it, we use audacity
. It's an open-source project and honestly speaking can settle quite a lot of the work.
To answer your question about separating the background music and the vocal, it's quite a difficult task. And till now, I don't think any software in the market capable of doing it 100% clean. That's the reason why they (music industry) can earn money from ... royalty and copyright and sales.