you may want to check a couple of externals I made together with David Casal:
[chords_memory] and [harmonizer]
[chords_memory] takes as input chords names (as given from the [chord] external from maxlib) and is able to learn your style while you play. when you have trained it a bit you can ask for chords sequences in your style. it stores the probabilities of transitions between chords in the current tonality in a weightened graph.
for example if you train it with this sequence: in the C major tonality, C maj, D min, G 7th, C maj, F maj, C maj, F maj, G maj, C maj you can then set the current chord to C maj and ask for a next chord with a high probability and it will tell you F maj, if you ask for a lower probability it will tell you D min. you can change tonality. you can also store the graph in a file for later usage.
[harmonizer] creates voicing for you: given the current chord and the current voices in MIDI values it attempts to create a nice voicing to a target chord. you can set some parameter like how much you like parallelisms, etc.. it can handle as many voices as needed but you must tell it the number of voices at creation time (as the first argument). it uses genetic algorithm but i noticed that the optimal solution is found at the first generation.
they are in CVS in /externals/frankenstein
i'm sorry i didn't wrote any help patch yet (no time so far), if you are interested ask me for more details and i'll be happy to help
ciao, davide.
-----Messaggio originale----- Da: pd-list-bounces@iem.at [mailto:pd-list-bounces@iem.at] Per conto di Damian Stewart Inviato: venerdì 11 agosto 2006 7.15 A: PD-List Oggetto: [PD] pd-based procedural chord progression database..
hey everyone
i'm setting out to build an automatic chord progression system - you tell it to start in C Major, centre around E minor, with a given deviance factor, and then bang it repeatedly and it spits out a new chord/voicing each time you bang it, that makes harmonic sense and sounds good as a progression.
(why? it struck me while i was listening to my friend's set the other night that too much dance- or dance-derived music is harmonically static. simple solution: make a quasi-intelligent system that knows what progressions sound good, and get it to do all the work. imagining coupling it up to fiddle~ and a vocalist..)
based on jazz harmony theory, which i have had the tiniest of nosies into, this will involve encoding knowledge about all twelve scales, major and minor, as well as the modes and relationships between them. before i start, is there anything i should look at that might help, or solve the problem for me, or make the whole idea irrelevant?
cheers d
-- f r e y live music with machines http://www.frey.co.nz
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list