Here's how you do basslines without having to bother with Markov chains. Notes have their own probability matrix. Basslines have arrays of notes. For the first pass, you just take the average of the note array, and use that number as a weight on your lynchpin number which drives the note probability matrix. You could even make a matrix of weights; for instance, you're in G, every time you add a G to the array, you decrease the probability of hearing that root again, and increase the probability of hearing the 5, the 7, or the 3.
A hack like this is not going to replace Flea with robots, but what it can do is give you automated bass lines in a weekend.