Scales and transposition

OS_CE Forums Octopus New features Scales and transposition

Viewing 14 posts - 16 through 29 (of 29 total)
  • Author
    Posts
  • #1397
    gseher
    Keymaster

    btw, you can get sort of an arpeggiator out of the chord strum patterns in case you haven’t tried that yet.

    That’s another area of the Octopus which has great potential for further development.

    #1398
    gseher
    Keymaster

    LDT, about that "no keys, no sound" issue, I meant you are forced to hold down a key, so you don’t have your hands free for other things, like improvising some part on a keyboard. I still find that’s "not preferable" if that’s the only mode it should work, but I also said that a Hold feature is needed. So in essence you have both ways.

    I’m not trying to be negative here and all ideas are welcome, but for me the main principle is it should work as musically and logically as possible.

    In the past I had several experiences with a program called Artwonk. I’ve made stepsequencers with all kinds of bells and whistles possible. One of the things that was high on the list: How can I make a sequence pattern less rigid so that it follows my chordinput in "some way"? I do have some ideas and they come from experimenting, not just some wild thoughts.

    I don’t have an Octopus, but I do believe that the Octopus is flexible enough to go a step further without eleminating excisting features. If some sort of chordrecognition is possible, then you have the best of both worlds. The power of a stepsequencer and still be "musically free" because you can change scales on the fly.

    #1399
    gseher
    Keymaster

    Sorry, double post.

    Post edited by: bronswerk, at: 2008/04/12 17:58

    #1401
    gseher
    Keymaster

    Wow – what an excellent discussion! I do appreciate your creative input, as well as your considerations from all regards – musically and programmatically.
    From a conceptual view I have, bronswerk’s statement makes a great point:

    Quote:
    Forget scales, major, minor whatever. […] try to define a set of rules so there is always a musical result.

    I think the innovation here is to make good sounding stuff easily accessible to people like me :-), who do not think in scales and chords. I do happen to think in numbers, but that’s not the point here.

    No matter the representation (numbers or chords), we want to know what to do about a bunch of notes we have playing, given a bunch of notes we receive (via MIDI). bronswerk puts it very crisply:

    Quote:
    So, the situation to deal with is: sequence: 0-3-12-7-10-12-7-3 and (incoming)chord: 0-4-7. A set of rules is needed how one set infuences another set.

    Basically, we have so far two possible solutions (from what I understand):
    a) force the material to the "0-4-7" grid ("Hold" issues to be worked out later).
    b) extrapolate some scale from "0-4-7" and then force to that scale.
    Do I miss out on any other important aspect?

    Personally, I tend to prefer a) for a few simple reasons:
    – you are always in control, no constraints by pre-conceptions
    – immediate cause-effect relationship – no magic happening in the box
    – free way for many usability aspects (like Lars’ two way mode).

    Some background info: the Octopus logic defines scales as a base + an interval pattern. Hence the two things you can change about scales: base, and the interval pattern, which is really the note composition when you "Select" the notes in and out.Btw. the scale buttons Min Maj etc. are just macros for intervals.

    Finally, one point I picked up from the discussion with zinoff is that "re-flagging" a note as base in the same scale, which has no effect because there is no change to the note grid, should be re-built as "selecting a new base should also carry the interval pattern over". I have it running here and it is fun!

    Gabriel

    Post edited by: gseher, at: 2008/04/13 02:26

    #1402
    gseher
    Keymaster

    I am with version "a" too.

    Ok, I have the feeling that the chord-follow mode is what we already have (more or less), just tuned for realtime performance. But this interface part in very interesting. I have some ideas: (Please remember this is just a sunday morning brainstorm.)
    I am thinking: If you have something like a rhythmic one-chord pattern going, it makes fine sense in many a musical context to use the hardcore chord-follow mode. We play some notes on the keyboard and pattern are forced to that.
    But lets imagine a not unlikely musical scenario:
    We have the above chord pattern going forced to D-F-A (D minor). Now we also have this bassline of 8´th notes: D2-C#3-D3-D2-C#3-D3-D2-D3 (think ol-skool JMJ stuff, haha). The essence of our piece is very "clean" triads in the chord section, and the basslines fundamental octave notes with the important inclusion of the major seventh as "leading note". It would kill the bassline completely to have it forced to the "clean" triad of the chord, but it is obvious that it would work very well to only transpose it.
    So I imagine that it would be very rewarding if we can make an interface that allows for two separate functions in realtime: Transpose and chord-follow. I personally would like the compositional freedom of a two handed interface, meaning: Right hand plays the chord that dictates the notes for the chord-follow function while left hand plays one note that controls transpose.
    Please note that my basic intension is to use these two inputs separately: E.g. in the above case, the chord pattern would be set to chord-follow (not transpose) and the bassline would be set to transpose (not chord-follow).
    I can imagine that some people would like a one handed interface (in the arranger-keyboard tradition) so that transpose AND chord-follow is controlled with one hand leaving the other free. There is several ways that this could be implemented, and I won´t get into that now, but a one hand mode is probably a good idea as well. It will not have as great compositional flexibility, but having one hand free can be invaluable.

    A rough idea for this dual-input mode:
    Basic rule: The transpose note should be 12 or more semitones below lowest chord note. If there is less than 12 semitones between the lowest note and the next, the low note is regarded as a chord note. With only chord notes and no bass note, the lowest note of the chord will be output as bass note (transpose)

    Play one note: This will output a one note "chord"
    and a transpose note.
    Play two notes:
    a. They are 12 semitones or more apart: Low note will set transpose, hi note will set "chord" (force material into one note in this case).
    b. They are less than 12 semitones apart: Low note will set transpose, both notes will set chord.

    I just realized that this setup automaticly takes care of the on-handed mode I was talking about. Hmm, that is not so bad, is it?

    Post edited by: LDT, at: 2008/04/13 11:49

    Post edited by: LDT, at: 2008/04/13 11:51

    #1404
    gseher
    Keymaster

    I like this dual input mode (btw. it’s sligthly different then you said before ;) )and I see the advantages. Being in control of the transpose note and therefore in most cases the fundamental bass is a good thing. And sometimes you don’t want a sequence to be altered but just leave it the way it is other then transposing it.

    Post edited by: bronswerk, at: 2008/04/13 12:42

    #1403
    gseher
    Keymaster
    Quote:
    Finally, one point I picked up from the discussion with zinoff is that "re-flagging" a note as base in the same scale, which has no effect because there is no change to the note grid, should be re-built as "selecting a new base should also carry the interval pattern over". I have it running here and it is fun!

    Whatevever we do I am keen that first we explore what can be done from the Octopus itself (I want to manipulate from the octopus as much as possible), such as you descrive above.

    My requirements are way simpler, and in effect different from the one of the others (by no means better).

    There are two things I want to do, and I’d like them not to get lost in the discussion…

    1. To be able to transpose the scale, as Gabriel mentioned in the quoted bit above. ie. what started the thread. (yey! it’s already prototyped).

    2. Transpose the page and stay in the same scale.
    This is already there, why this is important to me…

    If my page is mainly playing in C maj steps, I have a C Maj scale selected when I transpose the page +2 I get Dm (dorian minor), +7 I get G7 and so on and so forth… (Ok this may boring stuff for you, but it’s important for me for improvisation).

    At present this can only be done from the Grid, or by selecting all tracks and changing the pitch. It would be nice if this could be done from inside the page maybe by pressing Page and turning Pitch… or whatever..
    or maybe even using the MOD but in a different way:

    A. doubleclick a scale note => page will transpose (c =0, c# =1, d=2.. g=-5, g#=-4 etc…)

    B. single click scale note + scale => scale will transpose. ( alternatively press SCALE (or MOD) + Main Knob and scale will transpose.)

    or whatever..

    What can I do with this…
    well I can play my Cmaj page as C, Am, F, G7 by just doubleclicking on a scale note, I can do C, E, Bb chords by clicking on scale note (root chord I want) and scale I want.

    But wait there’s more, I can mix the two. :P

    This, me thinks, would make me happy plenty!

    BTW while we’re here, a way to overwrite preset scales could make me happy as well!

    Cheers,
    /R

    #1405
    gseher
    Keymaster
    Quote:
    2. Transpose the page and stay in the same scale.
    This is already there, why this is important to me…

    At present this can only be done from the Grid, or by selecting all tracks and changing the pitch. It would be nice if this could be done from inside the page maybe by pressing Page and turning Pitch… or whatever..

    Actually, this should be working. Have you tried it? When in Page mode, hold the orange blinking PAGE button and turn the PIT encoder..
    Gabriel

    #1406
    gseher
    Keymaster

    Ooops must have missed that in the manual (I don’t venture much outside of what’s written in the manual as it can still be easy to get lost).

    So I’m 50% done with my requests :)

    #1408
    gseher
    Keymaster

    This is getting really, really productive. Thanks guys!

    It seems that zinoff’s points are covered functionally (we will get to the user interface point in the next iteration): page transpose from Page mode and scale transpose from page mode. This is stuff you can (shortly) do natively on the machine.
    Still to investigate: should access to these two functions be combined on one panel mode to give more immediate control? And what is here desirable? Zinoff? Anyone?

    Now on to the effect of incoming MIDI (Record active in SCL mode), and including here also the virtual channel use case, just to keep it separate.
    In MOD mode, you have transposition of scale, just like in native mode.
    The tricky part is in Select mode. Here my proposal from my understanding:
    Using Lars’ definition of left-hand notes (lhn) and right-hand notes (rhn), the active rhn override the current scale. Means, no rhn, no overriding (leave hold aside for now), and the sequence plays in its already set scale.
    Lhn input has the same effect as if it was coming in while in MOD mode.

    My question is now: since rhn input will contain at most 5 notes (fingers), does that mean that my sequence will be forced to a scale of at most 6 notes (1 base + 5 on top)?
    How would I achieve an 8-note scale then? Coming back to the point where extrapolating from the input would make sense after all.

    Let me know how far off I am from what you feel is desirable.
    Gabriel

    #1409
    gseher
    Keymaster

    What to do when 1 key is pressed, what to do when 2 keys are pressed etc?

    Suggestion:
    when 1 key down: only transpose, scale as it was before, as proposed.

    when 2 keys down: lower key is transpose key, upper key does ….? This is sort of limbo, one suggestion is to use the method mostly known as "easy chord" mode or something like that (as mentioned earlier), where 2 keys are enough to set a major, minor, major 7th and minor 7th chord.

    when 3 keys down: extrapolate scale from available keys. This can be tricky because inversion of chords can lead to different scale naming eg. C-Eb-Gb = C dim and Eb-Gb-C = Eb minor 6 (source Logic).

    when 4 or more keys are down:
    a extrapolate scale as above or ..
    b are you sure you don’t want an arpeggiator instead?

    Thoughts, when a scale is found, does this mean that:
    a the root is also the transpose key OR …
    b no, we always use the lowest note as transpose key?
    I can see benefits for both ways.

    There’s also a difference between chromatic transpose (mostly used) and diatonic or scalar transpose (transpose, but keep notes in same scale).

    #1412
    gseher
    Keymaster

    I was thinking about the "sets equation" method as earlier described. I used this method (sort of) in one of my earlier experiments in Artwonk, a program were you can make your own stepsequencer (and many more midi stuff) in software. This method don’t use chord analysis as such, but tries to force the sequence note directly to the nearest input chord note.

    It all comes down if a certain number in the sequence set has a nearest or perfect equivalent in the chord input set. I named this the "note distance". The "maximum allowed distance" (MAD, yes I know it’s crazy :blink: ) was a another parameter I could set, so I could experiment with different note distances.

    In practice this turns out to be a loop for each chord input note we have, so:

    note distance = 0 + MAD, we have a perfect match, so keep sequence note as it is.
    note distance = 1 + MAD, we have a near match, sequence note is forced to chord note
    note distance = 2 + MAD, we have a "lesser" near match, keep this in mind, maybe we find a more appropiate candidate in the next loop.
    note distance = 3 + MAD, now we are too far, keep sequence note as it is.

    NB: in this scenario the lowest note was always the transpose note. It was a bit fiddly to use, and sometimes you did get unexpected but beautiful results.

    Post edited by: bronswerk, at: 2008/04/14 21:15

    #1413
    gseher
    Keymaster
    Quote:
    My question is now: since rhn input will contain at most 5 notes (fingers), does that mean that my sequence will be forced to a scale of at most 6 notes (1 base + 5 on top)?
    How would I achieve an 8-note scale then? Coming back to the point where extrapolating from the input would make sense after all.

    When I was writing about these things, I was only thinking about a mode where the material in forced to the RHN´s, nothing more, nothing less. So I am not thinking about it as a way to create scales but only as a way of creating harmonies that exactly follow your fingers.
    I can see that it would be nice to have extrapolated scales from your RHN´s. Although I think it looks like a frightning task to get the machine to make the right choices here. So if it was up to me I think I would skip that part. But on the other hand, even if the machine does not do what you expect, this can still be very useful and fun.
    The problem I see is like: I play a C chord, Octopus thinks: That´s easy, I will make a C major scale. Then I play a D7 followed by G, and by now it is clear that the first scale should have been lydian: F# instead of F. Just a silly example, but just to make the point.

    Anyway, if we include scale generation, then we should be able to in an easy way to set a page to
    1. Transpose (LHN)
    2. Chord (RHN)
    3. Scale (Extrapolated from RHN (or perhaps better for the scale engine to listen to both hands if present).

    I will be happy to see 1 and 2 at some point, and will take 3 a bonus.

    #1410
    gseher
    Keymaster

    gseher wrote:

    Quote:
    It seems that zinoff’s points are covered functionally (we will get to the user interface point in the next iteration): page transpose from Page mode and scale transpose from page mode. This is stuff you can (shortly) do natively on the machine.
    Still to investigate: should access to these two functions be combined on one panel mode to give more immediate control? And what is here desirable? Zinoff? Anyone?

    I’ve played around with the Page pressed and pitch circle (note selection) and it works fine even when in scale mode(this is the functionality I hadn’t spotted originally), it’s just a bit cheesy since it transposes always up unless you hit C first to change octave… If we could find a way to transpose/wrap the octave around an ideal note (ie, tone of C G=-5/Ab=-4…D=+2/D#=+3…) it would be more musical.

    That’s where the scale base (scale transpose) could come handy… The scale base could set the note to wrap around from.

    Next, I think for the scale transpose, we can either:
    1. double click the note from the circle (but I think you are using double click on C for transpose),
    2. implement it a-la chord transpose way, but it’s less immediate.
    3. or akin to existing PAGE-Pitch click, do Scale -pitch click, or MOD-pitch click (or something along this line).

    cheers,
    /R

Viewing 14 posts - 16 through 29 (of 29 total)
  • You must be logged in to reply to this topic.