## 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"