four parallel markov chains
for maybe doing something interesting
have significantly retooled and reappraised upload in due process over the course of taking inventory of a few projects that are planned for being inter-functional / interrelated, this being among them. it doesn't try to offer as much but guarantees more, namely providing all of the necessary basic function of a properly working markov chain. four of them in parallel actually, though i'd no longer advertise it as being built for the purpose of chords
the previous version was never fully rid of errors, poor understanding and implementation. under certain conditions a column of probability training data would not add up back to 1 due to miscount, throwing off the next transition to the proper note. tables which were meant to be written to and from mono-phonically were never set for that and thus training input notes were being written to tables multiple times unnecessarily (not so good for a process that relies on precise counting for its operation, though this over representation may have actually 'helped a bit at its original goal of working for chords) it also no longer pre sort the notes in ascending order before input, which results in more 'note mixing' acrosos the chains, providing more of a justification for using four of them in parallel
but we do not worry about that. there''s a button that activates training ( input is midi note data) and midi gate triggers output of notes as soon as there is enough data built up (output is midi or complementary courtesy audio preview / sawtooth). not much in the way of features but the structure was cleaned up considerably with the idea that anyone who is keen can get in and navigate the structure well enough, with the exception of the markov process cells which were too intimidating to unravel with the combination of bad building practices and other parts that worked perfectly while beyond my present self's comprehension. markov training is a bit of an art , they can get stuck or need a lot of input to begin working well but overtraining can also happen fairly easily, many interesting things can come about in the subtle fleeting zone between
i rolled it back to version 1.0, because the damn thing was always broken before. now it is fixed, and if you play only c major, the output will be all in c. this was not always the case before due to a table read issue. also a note can now be followed by itself in the state space. the practical utility of this ensemble has thus gained exponentially
to use turn on the Training Button and play it some chords. turn it off and now every midi gate will trigger chords like what you put in. there is also a variable length loop buffer of up to the last 16 chords with various options for introducing some repetition
its artificial intelligence run amok!