M from Cycling74 has been around since 1986 as you can see from the interface. M works really well in creating variations to MIDI notes which can be performed but It has a few bugs. It can’t save files reliably. Note data from a saved file will be scrambled if it appears at all and MIDI connections are also set up. The whole file save functionality is fraught since a file save operation can often crash the program. I have informed the Cycling74 support crew so I hope this can be resolved.
Despite these flaws I really like using M. I load up MIDI files, 4 instruments each with 6 sequences, and then set up the variations. The notes can be randomised, have various probabilities of being included, randomised accents, legato and lengths. The variables can have 6 setting and allocated directions which are used to move between the setting with the automatic conducting functions. I did a quick example on SoundCloud using “All the along the watch tower”
The next step I wanted to do was a more deliberate approach using snapshots of various setting and building up a song from those. There where two approach I was working through.
The first was to setup a sequence based on a music concept such as breakdown which reduces the note density of some instruments such as heavy percussion and randomise the notes to some instruments to give a reduced sequence. Another sequence would be drop like with all instruments in and fairly straight. There would be a snap shot for each of these variable collections which would serve as a basis in creating further sequences by changing the variations individually.
Another approach would be to create the variables separately and build up sequences with different arbitrary settings. For example with Note Density there would be setting 1 with all instruments having a high priority with other settings having different instruments with different probablitiies depending on the emphasis you wanted to develop. This would be done then form Velocity Range, Note Order and so on. A snapshot would then be assemble from the arbitrary collections of variables. Alternatively the automatic conduction function could be used and as you listen to the variations snapshots could be taken of the ones which sounded the best.
But I will wait for a fix because I just can’t do everything in one session.