Interval transformations


    Apr 14 2021 | 2:11 am
    I'm not sure this is clear enough but I'm just putting it here for a friend who was inquiring about this topic. I hope someone might have some advise, suggestions or tips in regard. Thank you!
    _______________________
    "Is it possible to create a max patch to re-define midi inputs/keys so that they function as interval transformations instead of as fixed frequencies? If so, how?
    In this case, the program needs to function such that the present output state exists with respect to the sum of all previous positive and negative variations thereof in order to transpose said output by the corresponding midi variation in relation to that sum. Where C4 is 0 variation and 1 variation is the smallest interval that exists in the tuning system, values above C4 are positive interval values from 1 to n, and values below C4 are negative interval values from -1 to -n. Each re-iteration of a non-zero interval value must be able to additively vary the midi output for every articulation (and by an additional trigger like breath control) so that except for C4, playing the same key twice always produces a different interval which is the product of the interval value and the number of iterations triggered
    Behavior:
    Key: B3
    Input: 59
    Varies output by -1 (in 12tet half-step down) for each iteration, 
    Output:  (O-1, O-2, O-3, etc)
    Output if starting from no transformation: (59, 58, 57, etc)
    Key: C4
    Input: 60
    Varies output by 0
    Output: (O, O, O, etc)
    Output if starting from no transformation: (60,60,60, etc)
    Key: C#4
    Input: 61
    Varies by 1 (in 12tet half-step up) for each iteration, 
    Output: (O+1, O+2, O+3, etc)
    Output if starting from no transformation: (61, 62, 63, etc)
    Example: 
    Note 1: First iteration of Key: C4, Input: 60 produces no change of midi output value = Pitch: C4, Output: 60
    Note 2:  First iteration of Key: C#4, Input: 61 produces first change to midi output values of 1 = Pitch: C#4, Output: 61
    Note 3: Second iteration of Key C#4, Input: 61 produces second change to midi output value of 1 = Pitch D4, Output: 62
    Note 4: First iteration of Key B3, Input: 59 produces third change of output midi value of -1 = Pitch: C#4, Output: 61"

    • Apr 14 2021 | 2:17 am
      sure. transform anything you want into something else.
    • Apr 14 2021 | 12:03 pm
      It is a simple task to do that interval thingy on mono midi input. Still there are few things to consider : note number gets triggered on both note on and note off input. One has to use only note on to transpose and turn previous output note off. How does one reset the Note 1 ? I mean what is considered as first iteration ? If key 60 allways enforces output 60 and resets transposer, then it is clear. If not, and in case that Note 1 is 59, note 60 would produce output 59. To actually output note 60, one would have to play note 61... Playing few notes in higher or lower octave would bring quite fast output note to the min max limit of 0 - 127. And so on ...