Simple idea… after a few attempts.
Wanted to explore the “modes” (rotations) of a given pitch-class set.
Ended up with:
use_bpm 80 use_synth :blade f7_19=(ring 0,1,2,3,6,8,9) live_loop :setmodes do use_transpose 47 play_pattern_timed (chord_invert f7_19, 5+tick), [0.25,0.125] end
chord_invert more suitable than rotate because (at least in my first attempts, with a scale). rotate sticks to the same octave.
If I use a scale instead of a ring, I need to add
.but_last(1) because it’ll double the octave from the root, otherwise.
use_transpose, it starts “arpeggiating” from note
0, which isn’t audible. And my favourite mode is actually the fifth mode from the “prime form” (0,1,2,3,6,8,9). On a windcontroller, that’s (G, A♭, B, C, D♭, F). As mentioned elsewhere, that’s my “noodling scale”. Really fun to play with this, especially with a few ideas from Set Theory.
In a way, I kind of wish I could define any pitch-class set as a scale, and use the scale operations. Still, it works fairly well.
I also wish I could display the note info for each note. Guess I would have to rebuild
play_pattern_timed to add
puts note_info for each note.
Even better would be a way to output as a MIDI file. Yet even better still would be to have some kind of note visualization (say, in a note grid like a “piano roll”).
At this point, though, I’ll probably try to explore “subsets”: what are all the note combinations in such a pitch-class set. In other words, which chords are found in this scale.
It’d also be fun to apply Hanon-style patterns to this set, as I can do in the Tessitura Pro app.