Currently, I’m experimenting with Audacity. It allows voice tracks, you can import midi and mp3 files and it seems to have pretty good recording pick-up, even with just an in-built laptop microphone.
I haven’t worked out all the functions yet, but it seems as though voice recording comes out much softer than an imported mp3 file, but it’s pretty easy to adjust the output level of each track that you lay down.
Each time you press the record button, a new track is created. So if you stop recording, and then start again, it’s best to press pause, otherwise you could end up with dozens of audio tracks for a short amount of recorded time.
Audacity is pretty intuitive, meaning it’s easy to use for basic voice recording with a music track underneath. The only tricks are setting up the microphone and exporting as an mp3. Go here for a really good step-by-step guide to using Audacity