Author Topic: Generative chord/arp/sequence by Key/Scale?  (Read 156 times)

zacklur

  • Newbie
  • *
  • Posts: 2
    • View Profile
Generative chord/arp/sequence by Key/Scale?
« on: August 23, 2018, 05:21:51 PM »
I'm loving my Gecho so far, and I'd be happy if it never could do anything more than it currently does.  But since you're asking... I feel like this would be so great for background music that is generative so that the notes and patterns change over time, but conform (or notes quantized) to a particular key/scale.  That way you could set a mood and just leave it plugged in for hours at a time to do its thing (e.g., for ambient music at a shop/hotel/airport/art installation/yoga studio, etc.) without driving anyone mad from the repetition.  One button to set the root tone (or random of 12), and then another to cycle through scales (or random).  Can imagine many different ways it could be set up, e.g., with a slow tempo to just "ding" every few seconds (but not necessarily at regular intervals) with a note from a particular scale over the rolling water sound from #1.  Kind of a combination of 1, 41, and 222 (periodically chiming as S4 will do interactively), but with the ability to easily select a root/scale.  I don't know--maybe you get the idea of what I'm thinking.  Apologies if this is something that's been discussed or implemented already (how to do?), or beyond current limitations.  :)

mario

  • Administrator
  • Jr. Member
  • *****
  • Posts: 70
    • View Profile
Re: Generative chord/arp/sequence by Key/Scale?
« Reply #1 on: August 26, 2018, 03:32:07 PM »
Hi! Thanks for the idea, it is definitely possible, and has not been much discussed on the forum. It would be great to make the generative channels less repetitive. With 222[...] (or 314[...] which are pretty much the same, just using different source of "randomness") it is easy to "move on and reload new chords" every now and then, but that would not make them fit a particular key. However in the beginning user could enter the desired chord (or maybe even two, three, four), the same way how #41 does it, in order to keep the user interface consistent, then the random data would be used to vary chord expansions, arpeggiator etc..

I don't entirely follow what you mean by "set the root tone" vs. "cycle through scales" by two buttons, is it that the first button would act like a "transpose" to tune it up with some other instrument / source - for example a guitar or other small synth? And cycle through scales would select a particular mode - major/minor, or dorian/phrygian/lydian...? The "chord expander" function which translates a 3-note chord into (typically) 8 frequencies to feed all IIR filters for richer polyphony, already somewhat results in variations among the possible degrees of a diatonic scale (hope I am using the correct terminology here :) ) i.e. tonic/dominant/subdominant at the moment, as the octaves for the voices are shifted up and down, and it is trivial to change this into something more interesting.

This chord expander also feeds arpeggiator, and it uses a hard-coded set of rules for now, this should be improved by adding more ways how to "expand a chord" and cycle through them with a button, or select next one every time the bar or song loops around Maybe even a fully randomized / evolving one.

All this only requires very small amount of CPU power and memory (both FLASH for code and RAM for data), so it is not much of a technical problem, rather the question is how to merge these new options into the UI in most accessible way.

zacklur

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Generative chord/arp/sequence by Key/Scale?
« Reply #2 on: August 27, 2018, 03:47:08 AM »
Thanks for the reply--I'm not super-adept at music theory, so not entirely sure what I mean either! You've gotten me to think it through some more.  I suppose it's mainly just the idea of evolving randomness within harmonic parameters so that you can set and forget but still establish an initial mood.  Yes, anything that you might characterize as "evolving" is maybe what I'm looking for, and there are so many ways to do that that people set up with modular patches.

When it comes to randomness, maybe I'm thinking about the Turing Machine module (like the 2hp TM), which creates random sequences of notes with two main parameters: steps (sequence length) and probability (amount of randomness).  Using those two parameters, you can create a random sequence that changes every time, or which only changes notes every now and then, or not at all (if you find a sequence you particularly like and want to freeze it).

As for harmonic constraints, I'm thinking about something like a quantizer module (like the Intellijel uScale II), which takes a random voltage in and outputs frequencies at the nearest tone which is either manually entered or is part of a preset scale.  You also have the ability to set the root note and transpose.  It also has a secondary output which will produce an interval tone of your choice.  But I'm still experimenting with it. 

So, I guess different scales have different numbers of tones and the firmware could store as many of the scales as you felt was feasible. Each scale could be referenced by a 2-digit code, which a chart in the manual.  The scale code could used as a an extender on any channel as appropriate, channels having different themes (combinations of melody & backgrounds).  If a scale is specified, it would only play notes from that scale, subject to transposition by the buttons.

For my idea of those two modules (quantized random patterns), I'm thinking buttons would cycle through, indicated by lights: (1) number of steps from 1-8 or more; (2) amount of randomness-from 0-100%; (3) key/root note, which yes, would really function as a transposer; (4) arp pattern.  If you can already cycle through 3-note chords, why not include options for more notes?

I tried to do something with the DSI Rev 2 the other day and it came out pretty well--I was able to leave it running for an hour and it was very soothing without becoming repetitive, though still not as evolving as I might have liked.  On Layer B (background), I set up some long attack/release noise and then modulated it with several random LFOs aimed at volume, cutoff, & slight panning, I think.  Then on Layer A (melody), I dialed in a bell-like tone and turned on the arpeggiator in random mode--also had a random LFO modulating volume (to add variety but within a limited range to avoid big swings).  I also added some delay, not unlike the Gecho's, for rhythmic interest.  I then turned on "hold" and entered all the notes of a scale that I pulled from a scale reference book at random. I then slowed the BPM way down and it kind of got the effect I was looking for: random notes of a given preselected "mood" plucked over some gently rushing waves (or any undulating drone).