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
I find 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.
Without 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.