One of the things I've noticed while looking for music software is that they all seem to fall into two categories: low-end and high-end. Any non-professional user will be seriously challenged by the learning curve of the high-end software (if you aren't a serious musician, forget it) or unhappy with the limited features and output of low-end packages.
GrooveMaker, by IK Multimedia, presents a viable option for the mid-range, even for non-musicians. Despite the fact that it's marketed as a realtime dance music generator, it has a far greater range of styles and is probably more useful for making soundtracks to videos, multimedia presentations and computer games than as a DJ's tool.
Included in the GrooveMaker package are a set of four tools (GrooveMaker, GrooveSequencer, V-Mix and a virtual sample Arpeggiator), and four sound and loop sample libraries.
The GrooveMaker tool is essentially an eight-track mixer. Activate one of the tracks by clicking on its number, and then select a loop from the current library. The loop will begin to play immediately, so you can scroll through the list until you find one you like. You have control over individual track volume, stereo pan, and speed. Clicking on the 'Groove Marker' button will save the current track settings including the loop, volume, pan and tempo, so you can use them later in the GrooveSequencer (some other music programs call these 'patterns').
I find it works best to start out with a single track playing a simple beat, then add other tracks, marking the grooves in between. This creates the crescendo (gradually building) effect found in most professional songs.
Once you're done marking your grooves with GrooveMaker, you can transfer them into GrooveSequencer and arrange them into a song. The 'marked grooves' you made in the GrooveMaker module will appear in the Sequencer in the same order. To organize your song, drag your markers to the Sequencer in the order you want them to play. When you've found an arrangement you like, output it to an stereo audio file or save the individual tracks for import into a different editing program. I take it a step further and convert my audio files to mp3s, although a built-in encoder is not included but would be a nice added feature in a future version of GrooveMaker.
The V-Mix tool randomly generates songs from the current sample library every time you click the V-Mix button. Personally, I found it the least useful of the tools, but a DJ could use it to create on-the-fly dance music with hardly any effort at all. Songs can also be transferred to the GrooveSequencer where you can remix 'marked grooves' to create new versions based on the same grooves.
The Arpeggiator, another tool geared more towards a live DJ, is a virtual synth keyboard. Assigning sound samples to it creates an instrument (similar to selecting an instrument on a regular synthesizer), and clicking on several notes will create a loop. While the loop is playing, you can adjust the duration of the notes, the order in which they loop or change the sample all in real time. GrooveMaker includes quite a few samples, but you can use your own in WAV/AIFF format. Arpeggiator will automatically mark notes on the keyboard with a little red bar to highlight ones that are harmonically compatible with the current loop library.
The packaging claims that you can create millions of different grooves with ease. That may be true, but it doesn't mean that all of them will sound good. Some will sound like scrap metal falling down a flight of stairs. No matter how great your samples are, and the ones with GrooveMaker are excellent, some just won't sound right with other ones. Realistically, you might be able to create a few hundred high-quality songs from each of the sample libraries (add-on libraries are also available).
Perhaps the onl downisde to GrooveMaker is its unconvenitonal interface. If you are used to the usual menus and dialogue boxes, it's going to take you a few minutes to figure out how to get GrooveMaker to do what you want it tog. Lacking a familiar menubar, GrooveMaker relies instead on uniquely shaped, and sometimes quite small, buttons. The functions of some of these are not immediately obvious either. The 'Tap' button, for example, doesn't seem to do anything until you triple click on it and, oddly, it increases or decreases the tempo. I also spent quite a bit of effort looking for a button to export audio, only to find it labelled 'Mix.'
The Last Word
Once you get the hang of what all the buttons do, all you really need is an ear for what sounds good and you're groovin'. As a live DJ tool or studio-quality music generator, GrooveMaker is a sound addition to any pro or amateur's computer system and well within the budget of both. You create a whole song in under 10 minutes and music generated could easily be mistaken for a professional artists' (sans vocals).
Dancity
Dancity is an add-on sample library which is now included with GrooveMaker. It brings your total number of libraries to eight out-of-the-box, and increases the number of samples to over 500. The samples are available in both 22 and 44kHz, and are royalty free.

Listen to two of the samples that I created with Groovemaker (mp3 format):
LMS First LMS Yargg