I had some time this evening and played around alittle bit with an ESP32.
It currently plays 3 tracks, 32 steps, 1/32 per step, each track is configured by passing stepcount, pulsecount and offset to an euclidean “algorithm”.
ESP32 sends MidiClock and the notes via Serial to my Mac. There I have “hairless-midiserial” running, that sends the midi data from the controller to my digitakt.
It is hard to hear on my phone, but there is a offbeat hihat running too.
Code is currently handling up to 8 tracks (can handle more, but I just started). Configuration is done in code, so no interface yet.
Next will be playing around with scales and Chordprogression patterns to generate a bass-line and some chords.
I will see, how much of a music-result I can get with pure c++ coding. If I am happy with the result, I can think about making it useable with buttons and a display. But I know myself. I am not the best in finishing started projects
Thats the configuration for that simple FotF:
tracks[0].setChannel( 1); // Kick
tracks[0].euclid( 32, 4, 0);
tracks[0].setNote( 40);
tracks[1].setChannel( 3); // HiHat
tracks[1].setNote( 60);
tracks[1].euclid( 32, 4, 4);
tracks[2].setChannel( 2); // Snare
tracks[2].setNote( 60);
tracks[2].euclid( 32, 2, 8);
The euclid for track 0 is not in the video, as the sequence defaults to a FotF, because I tested with it.