The Pytha engine can produce a great bassy sound. To record from my real ZX Spectrum 48K I first write the music on Bintracker which saves a .tap file that can then be played on a ZX Spectrum emulator or loaded into a real Spectrum.
I use the speccytape iphone app which plays back the .tap (tape image) as sound. This is loaded into the real spectrum via the ear socket with a lead from the iphone to the speccy.
When the music is playing on the real speccy I connect a lead from the mic socket to the mic line-in on my laptop and record the music using audacity.