A method for playing a song of a particular musical style is disclosed. Program
instructions are executed, and one or more music composition algorithms are applied
to song data in accordance with a song data structure to generate music output
for the song. A plurality of levels of predetermined musical styles are determined,
and values of one or more parameters in accordance with the song data structure
are limited to predetermined ranges corresponding to the particular musical style.
A first user input is received for selecting a particular musical style. A second
user input is received for one or more musical components, and music characteristics
in accordance with the song data structure corresponding to the musical components
are modified in accordance with the user input, and the user input modifies the
values of one or more parameters within the predetermined ranges. In response to
the user input a modified song may be created based on user modifications to the
music characteristics. The user input for selecting a particular style may select
a level of a particular musical style, and the predetermined ranges for a particular
musical style at a first level of musical style may provide a greater range for
modifying the musical characteristics as compared to the particular musical style
at a second level of musical style. The user input also may modify music output
corresponding to one or a plurality of instruments, audio samples or microphone
input. The modified song may be stored for subsequent playback and/or played in
real time as a live performance.