Architect : any object to split a chord in separate notes?

Official support for: loomer.co.uk
RELATED
PRODUCTS

Post

Hi, i need to separate an incoming chord in separate MIDI notes. Is there any Architect object to do it?
thanks
a.

Post

Damn , this was actually harder then I thought but I think I got it
Unless single unpacking , you need to unpack a polyphonic midi stream .
If you just unpack the incoming notes , the unpack note will unpack each note in serial order , and it will do that for each note .
We want to distinguish ,separate the incoming notes and we can do this by assigning an I.D. , the i.d. is then used to route the notes to the outputs of a midi switch , iow the first note got I.d. 0 , so this note it routed at the leftmost output , the second note got I.D. 1 etc...
I think there is a more streamlined way , but it works
Image
Eyeball exchanging
Soul calibrating ..frequencies

Post

Edit , no need to unpack the tuple ( unless you want more infomation about the midi ) , just putting in a get key or get note on module is enough.

Image
Eyeball exchanging
Soul calibrating ..frequencies

Post

That's a good solution. I guess whether this works for you or not depends on exactly what you want to do with the individual notes. Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

Hi all and thanks for the hints.
Basically i need this thing to process indipendently the notes in the chord.
One thing is that i don't know how many notes the chord will have. i can probably make a version for 10 note chords as a maximum and see what happens

Post

Noted. Let me think about this and see if I can either come up with something that works in the existing version, or add something in the future that will handle this sitatuion easily (ie, without too much duplication!)
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

colin@loomer wrote: Fri Oct 22, 2021 10:40 am That's a good solution. I guess whether this works for you or not depends on exactly what you want to do with the individual notes. Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
If your incoming chord has fewer notes then the amount of outputs in a switch module , there is no problem at all , once it exceeds the amount of outputs , we'll get an error .
But since the switch module can have 32 outputs , it's really suited to split incoming chords into notes ( using the i.d.module to route switch )
Eyeball exchanging
Soul calibrating ..frequencies

Post

I was just trying to achieve the same today and I am glad I looked in on this thread! In the end I am trying to assign each incoming note a separate midi channel. Lowest note always on 1, next lowest note on 2, etc. if it's in a chord sequence. If individual notes come in then they would always be assigned to channel one, for now. The Note Priority module would probably be the closest thing to what I am looking for if it could allow the assignment of more than just the lowest or the highest note. I figure that the only near-time solution is start making a LUA script for this unless Colin sees something else that would work.

As an example I would like to run Scaler2 into Architect and separate the notes. Then I could setup an instrument Layer/Selector Container in Bitwig to deal those notes in individual streams.

Post

colin@loomer wrote: Fri Oct 22, 2021 10:40 am That's a good solution. I guess whether this works for you or not depends on exactly what you want to do with the individual notes. Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
Ouch, this is a pity. I was toying with the idea to pickup my old project for harmonizing sequences using chordrecognition using Lua bla bla bla, but if I can't intercept notes as a single chord it's doomed to fail. :(

Post

bronswerk wrote: Tue Oct 26, 2021 8:15 pm
colin@loomer wrote: Fri Oct 22, 2021 10:40 am That's a good solution. I guess whether this works for you or not depends on exactly what you want to do with the individual notes. Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
Ouch, this is a pity. I was toying with the idea to pickup my old project for harmonizing sequences using chordrecognition using Lua bla bla bla, but if I can't intercept notes as a single chord it's doomed to fail. :(
I used that project and I am a big fan. I am hoping Colin gets this sorted!

Post

bronswerk wrote: Tue Oct 26, 2021 8:15 pm Ouch, this is a pity. I was toying with the idea to pickup my old project for harmonizing sequences using chordrecognition using Lua bla bla bla, but if I can't intercept notes as a single chord it's doomed to fail. :(
Could you send me a link to this project, please, if it's still available to the public? I'll see if I can do something similar in Architect (and if not, work out what needs to be added so that I can.) Thanks.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

colin@loomer wrote: Fri Oct 22, 2021 10:40 am Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
Sending a chord into the give note id module and then into the switch module shows the midi note output of the switch is always highest note to lowest note. Anyway to reverse this order? Using your example I am not getting C,E,G. I am getting G,E,C.

Post

lalo wrote: Wed Oct 20, 2021 2:30 pm Hi, i need to separate an incoming chord in separate MIDI notes. Is there any Architect object to do it?
thanks
a.
While I try and figure this out in Arch I found a pizmidi (midichordsplitter) plugin that seems to do the trick. If you don't have them already you can find an archive of them at Google's code archive. In Bitwig there is no gui but I was able to figure it out for the most part from the exposed parameters. Hope this helps. And yes, I would still rather accomplish this in LA.

edit: the piz midipolyphony is probably a better fit

Post

UncleAge wrote: Thu Oct 28, 2021 4:35 am ending a chord into the give note id module and then into the switch module shows the midi note output of the switch is always highest note to lowest note. Anyway to reverse this order? Using your example I am not getting C,E,G. I am getting G,E,C.
I expect that this is due to the order that MIDI events are being received. There is no standard to say that a DAW should send MIDI notes at the same tick from low-to-high, or high-to-low. (I think pretty much everywhere Architect sends low-to-high, but it wasn't by design, it just happened to work that way.)

Image

If you are receiving MIDI events from an external source, this order is largely the luck of the drawer. Bronswerk has kindly PM'd me some details about his project, and so I'm currently looking into building some modules, macros, or scripts, that will simplify note-by-note processing of chords, and which will hopefully suit your needs too.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.

Post

UncleAge wrote: Thu Oct 28, 2021 4:35 am
colin@loomer wrote: Fri Oct 22, 2021 10:40 am Architect treats chords as separate notes anyway: if you play say a C chord, you will get three consecutive `noteon` events with the C, E, and G notes. This may be enough for your purposes. And if it isn't, by all means elaborate and I'll be happy to explore the idea further.
Sending a chord into the give note id module and then into the switch module shows the midi note output of the switch is always highest note to lowest note. Anyway to reverse this order? Using your example I am not getting C,E,G. I am getting G,E,C.
That's probably becasue you are playing the g key first , then E , then c
If you're sending a chord from your daw this could depend on which note is send first
Example , If i put c,e,g on ONE line in renoise , architect will process it in that order , but If I put in the E first , architect will process the E first
I guess this depends on how the host processes midi data .
Image
Eyeball exchanging
Soul calibrating ..frequencies

Post Reply

Return to “Loomer”