… a Musical Frog jumping around a harmonic lake!
The MusiFrog is a simple deterministic algorithm that can be used to produce nice pseudo-random melodies that I discovered while experimenting with generative-music (but perhaps someone else has already found it).
It is based on a frog that jumps over a sequence of stones. Each stone has a jump value and is associated with a musical note. Initially the frog is on stone 1 and suppose it has jump value X. The note associated with stone 1 is played, and the frog jumps forward X steps on stone N=1+X; the jump value of stone 1 is increased by 1. Then the note associated with stone N is played, the frog jump forward according to the jump value of the stone which is then incremented by one. The process is repeated and when the frog jumps off the last stone it “wraps-up” and return to the beginning of the sequence.
The following table represents an example of a MusiFrog sequence:
There are many possibilities for experimentation:
- the underlying scale can be different, and can also contains “pauses/silences”, or span multiple octaves, or represent a melodic line;
- the initial jump values of the stones can be set all equals to 1, but can also be different; for example:
- 1,2,3,4,…. ;
- 1,2,4,8,16,… (powers of 2)
- 2,3,5,7,… (primes)
- the number of stones can be be varied;
- the jump value increment can be different (though the value of 1 guarantees that all stones are visited).
I implemented the algorithm in a VCV Rack module ; you can download it and subscribe to the AlgoritmArte modules to experiment with it.
This is a short demonstration video (music is generated with this example VCV patch).
UPDATE 2021-10-23: I’m working on some of the above variants and the results are promising. This is a piece where the two voices have been generated using the MusiFrog algorithm; the time/dynamics are played (improvised) live and only very few adjustments were made to the tracks (mainly to underline/adjust some “pseudo-cadences”):