frankenstein set of externals authors: dmorelli: www.davidemorelli.it pland: www.davidcasal.com with the help of vatic last update: 14-10-2005 ------------------- what is this? this is an attempt to build an intelligent system for realtime improvisation, a system that follows a human player and proposes rhythm, melody, chords sequences, formal structure. it learns the style in realtime. it uses various AI techniques: GA, searchs, ANN (maybe) description of files: chord_melo.c a GA melody generator. it takes a melody as input and evolves it over time. uses co-evolutionary techniques (Todd) chords_memory.c it is a directional graph which implements a memory of the played chords sequences, you can train it... and once trained you can ask questions like: in C major, from a D minor 7h where did I go most if the times? or in C major, from a D minor 7h build a chord sequence to bring me in D major in 4 steps using the chords sequences I used most harmonizer.c a GA external that build choir voicing for 5 voices: you pass it the midi value of each voice, starting chord, next chord and it outputs a list with the midi values of each voice. avoids hidden 8ves and 5ths. folders: doc/ implementation documents, notes, logs, ideas, etc.. patches/ example patches, help patches, some used in performances, etc.. aima/ python patches not yes used but interesting for agents ruby/ gridflow patches not yet used old/ old not used code test/ testing code, not to be used backup/ previous versions TODO: gluer/solderer an external that takes the input of two or more chord_melody, a chord sequence and glues the melody statemets together to build a long complete melody. form_manager an external that manages the form and structure of the piece: decide which melody statement to use, the chord sequence to ask for, etc.. various objects to detect played notes diatonic_melody.c same as chord_melody but without chord reference, only scale used (for post-tonal music non based on chords) chromatic_melo.c same as diatonic_melo but without any reference (for atonal music)