āA simple matter of programmingā sure, but your value for simple may vary, depending not just on the task, but also on many extenuating circumstances (as we all can attest toā¦)
sweet!
Yeah, thatās the idea. Check out NDLR or Kordbot for a couple of examples of a theory-aware arpeggiator (in both cases) or sequencer (in the case of NDLR).
So, you know those show how you can noodle around in western common practice by twiddling a couple of knobs and get some pretty pleasing results.
I think it gets even more interesting if you start thinking about applying this approach to other styles. A 12-tone serialism capable sequencer? How about balinese gamelan scales and rhythms? If you can express it as theory, you can decompose into rules, and use rules to generate sequences.
Almost makes me wonder if Iām looking for a way of expressing rules of tonality, harmony, and rhythm in a DSL and/or file format, possibly similar to what scala does for scales?
Wow, yes! Surprisingly simple.
Similar: https://github.com/supercollider-quarks/ScalaTunings
Interesting: https://github.com/musikinformatik/GamelanPatterns
(Part of a VirtualGamelan Quark that includes synthesis classes)
Percussion, notes, chords, progressions: https://github.com/lvm/MusicalNotation
But Iād need to be tightly bound to whatever synthesis I also wanted to do in Supercollider? Iād prefer to find a way to separate these concerns, if possible. Seems like the way to do this in norns is to do it in lua. (Whereas if I were doing this with, say, a Pisound, Iād probably write a Quark?) Sort of wish I didnāt need to make that decisionā¦
OK. I can wait. And make peace with lua in the meantime, though I may not pursue my full ambition in the 2.0 timeframe.
This will absolutely be a good learning exercise for me.