searching for special chord tension converting tool

bilo2014's icon

Hello,

Unfortunately I couldn't find a suitable tool under Maxforlive Devices that would implement my idea.

Below I have added a picture that visually represents my idea.

Let's take the chord Am7 as an example. As soon as I send GACE via MIDI, the tool should expand the note tension in real time and play it back in CAEG.
This note extension or tension should be implemented with all 12 notes.

Does anyone here have an idea or example of how this could be implemented.

Regards

B.T

Source Audio's icon

in real time ?

1- need reliable chord detector

2- if chord type is matched reorder chord voices

but pass unmatched as is .

I don't see it really without too much latency.

Sébastien Gay's icon

For the exercise. This patch is a step by step implementation of what you describe, and it works for any transposition of the Am7/G or any chord of 4 notes having the 2 lower notes separated by a minor or a mojor second :

Max Patch
Copy patch and select New From Clipboard in Max.

But depending on what your exact goal is, it may not be flexible enough.

bilo2014's icon

Hello Sebastien,

thanks for example but im maxforlive beginner. I attached your example and add notein and noteout but have hanging notes.

Regards

B.T

chord spreader.amxd
amxd 14.53 KB

Sébastien Gay's icon

After [notein], you should add [stripnote], in order to avoid notes repetitions :

But this was just ideas. My proposal covers the description provided in OP but I am not sure it is fully functional.

bilo2014's icon

Thanks for the hint.

The pitch transposition works, but the notes are kept constant, which is not how it should be.

This also causes the other incomming notes to overlap.

Can this be remedied somehow?

Regards

B.T

Source Audio's icon

let's ignore any midi input other than 4 notes On and 4 notes Off

perfectly played at same time.

Let's also ignore chord detection and just transpose 2 out of 4 notes.

We must store relation of input values and transpose values

to be able to kill transposed notes when releasing held chord.

example :

60 (original pitch) 72 (transposed pitch) 100 (velocity)

when you release 60 you send 72 0 instead.

check this to get an idea

Max Patch
Copy patch and select New From Clipboard in Max.