A method for electronically generating a song is disclosed. At least one parameter
value representing a range of note pitch values associated with a musical instrument
is accessed and program instructions are executed. One or more music composition
algorithms are applied to musical data to generate a musical note data unit associated
with the musical instrument. A musical note data unit is compared to the parameter
value to determine whether the musical note data unit is within the range of note
pitch values. In the event that the musical data unit is not within the range of
note pitch values, the musical data unit is modified to be within the range of
note pitch values. In the step of receiving user input associated with the musical
instrument, the range of note pitch values may be modified in accordance with user
input. In accordance with the claimed invention, methods for creating, modifying,
interacting with and playing musical compositions may be provided.