This first two examples are freely inspired by a Doublebass excerpt from the fouth movement of the L. van Beethoven's VII Symphony. Constant use of enharmonic notes and complex legato grouping. With this program the user can select the total number of legato groups and the minimum and maximum number of note in each group. The exercise proceeds by half-steps and the melodic direction is inverted every time a new group is started.
A second run of the same program that generated Example 1.
The VII Symphony excerpt is not so hard to play. "The bionic doublebass player" programs should be able to generate exercises of different level of difficulties.
Examples 3 and 4 are rhythmic variations of a major scale (1 octave). The program has a data base of rhythmic patterns and the exercise is generated by applying a random sequence of patterns to the notes of the scale, reversing the melodic direction each time the programs reaches a boundary of the scale.
The user can select the total number of rhythmic pattens and the probability
that a note is replaced by a rest.
This is a second run of the same program that generated Example 3: I used a greater number of patterns and a greater value of "pause probability". The triplets of rests are an example of difficulties in writing such a kind of software, but this one is easy to solve.