Just find a "Music Tracker" software and you can do it. What was popular in the early days was FastTracker 2, but now few people use it because it can only run under the DOS system. Many freelance musicians now use OpenMPT, which is BSD open source but only supports Windows. The cross-platform and more advanced version is Radium, and the commercial version is Renoise. The simplest way is to use samples, but you can also use synthesizers, such as the Radium embedded Pure Data mentioned above. Most of the more active musicians I see use samples, probably because it takes more time to toss around with synthesizers. What takes even more time is generating waveforms from code, such as the V2 library developed by Farbrausch himself. Although it is open source, whether it can be compiled is a problem, and it is almost self-inflicted. The rest is to arrange the music, which depends on your music theory skills and cannot be taught to you in 5 minutes.