A method for playing a song in a handheld device is disclosed. A visual representation
for a plurality of musical components is provided. The visual representation includes
a plurality of lanes, with each lane corresponding to one of the musical components.
User input is received for one or more musical components, and musical characteristics
corresponding to the musical components are modified in accordance with the user
input. In order to modify musical characteristics corresponding to a particular
musical component, the user selects the particular lane corresponding to the particular
musical component. A first user input may be received to modify musical characteristics
corresponding to a particular musical component, and the user enters a first level
of the visual representation beneath the particular lane and provides user input
to modify the musical characteristics corresponding to the particular musical component.
A second user input may be received, and in response to the second user input,
at least a second level of the visual representation is entered beneath the first
level. Program instructions may be executed, and one or more music composition
algorithms may be applied to song data in accordance with a song data structure
to generate music output for the song. The visual representation may include an
animated display synchronized with one or more of the musical components. Modifications
to musical data corresponding to a particular musical component may be accompanied
by a change in a visual effect corresponding to the modifications to the musical characteristics.