A
system and method for generating a new composition based on a
database of pre-recorded performances of existing compositions. A
system and method for generating an
automated method for converting existing performances and associated
MIDI transcriptions to a
database and generating a new composition from the
database. Musical improvisations are performed by musicians, in
digital audio format. The
digital audio data is transcribed to
MIDI data and stored in a song file. The tempo, chord symbols used and
key signature are input, and added to the song file. The
digital audio file is analyzed and markers for the start and the end of phrases are added in a
phrase marker
text file. The
system analyzes the
MIDI transcriptions, chords, and
phrase marker text. Information about sections and phrases of the solo from the
phrase market text are stored in a “Riffs” file. The MIDI data transcriptions, the chord symbols and the Riffs files are combined into a Soloist
Database File, consisting of one or more MIDI transcriptions of the audio improvisations. The musician's performances are stored as digital audio files such as WAV format files. An Options file is created by the user to
control parameters about the solo to be generated. The system then generates a new improvisation based on any input chord progression and key, and the Options file, by choosing portions of the Soloist
Database and corresponding portions of the digital audio files to construct the new improvisation. MIDI transcriptions corresponding to the digital audio performance are displayable as notation,
piano roll, and on-screen instrument keyboard or fretboard.