Chords where every note has it´s own Midi ch???

analogholic

2016-07-23 21:45:26

Ok,

Emailed Florian this (a bit simplified version though) a while a ago asking if this was possible...he said YES!!!

So, what I want to do is this:

I want to simulate a brass section live with my synths/laptop. The old problem with this on a synth is always that obviously every note plays the same sound in a chord (If you have 4 instruments and play a 4-note chord, you end up with 16 instruments as all instruments play all chord notes. Fake!)
Whereas a in a real brass section obviously one player plays one note of the chord.

So can the MT map so when I play one note it goes to midi ch 1 triggering a sax, next note would go to midi ch 2 a trombone
etc. If a play a four note chord all four notes would transmit on different midi channels with limit of one note polyphony.
Even more "problematic", the lowest note in the chord should always be ch 1, next lowest ch 2, etc to keep the brass voicings with instruments correct. I other words i.e I want the trombone always to be on the bottom, saxes in the middle and trumpet on top for every 4-note chord I play.

So if this is not enough...I also want to inject some "randomness" in the equation :)
Keyword here is realism!
Is it possible to have something like random velocity triggering midi delays?
I have this function in my Kurzweil synths for the internal sounds only (not midi) where there is a parameter called RandVel.
This can randomly by velocitey trigger the attack or start of the sound.
So I guess midi delay would be closest to this.

Thanks in advance!

DvlsAdvct

2016-07-23 22:58:05

Hi analogholic

Yeah, what you're looking to do is definitely possible. It's a complex problem to solve, but it's definitely solvable. I have some questions about different variables that can change how we process the math.

When you play a chord, do want the chord to wait to trigger for all four notes to be pressed? Or do you want to play a single note, which as the first note is always the lowest instrument? The problem I foresee is that if you play note 1, it would logically trigger the lowest instrument, but if note two is lower it changes the instrument for note 1. If it waits for all four notes to be pressed, though, it won't play anything unless all four notes are pressed.

And what we can do is program extra delays per instrument based on the velocity of the incoming note. Would that work?

Jared

analogholic

2016-07-25 19:46:20

Thanks a lot Jared for your reply!

Actually the idea was when I play one note, all four brass instruments would play in unison.
In other words midi ch 1-4 would play simultaneously. This I can control with my Kurzweil synths. Switching between chord and unison with a foot switch.
However, I realized that I won´t be able to always bring the Kurzweils for gigs but have to play what the venue can provide, ususally Nord Stage. Can´t do stuff like this with them, so this would also have to be done by the MT.

So, actually in "chord mode", the way to go would be if i play one note, it would trigger one instrument, the i.e lowest, ch 1.
If I play two notes, it would trigger two instruments, ch 2 etc up to four.
This way I would have more flexibility if I would need to play a 3-note chord all of a sudden :)

And when I press the foot switch, all instruments play in unison ch 1-4.

Regarding the delays, is it possible to set them differently for "each player" ? To get more "live feeling".

DvlsAdvct

2016-07-28 03:10:33

Oh, I think I made it more complicated based off the description.

But for your alternative, it's also totally doable. You play up to four notes, it sends the notes to different channels. The problem we need to solve is timing. You aren't going to hit all four notes at the same exact time, so we'll need to build in a natural delay... maybe 30 to 50ms depending. And you can always play with that.

As far as natural delay, it can get a bit more delicate. We can't really randomize it, though we can create a sense of randomization, maybe by having 10 delay presets that it cycles through, depending on which note is hit? That could actually be kind of interesting. Like, the first time the key is pressed it's assigned a 5ms delay. The second time a key is pressed its output is delayed by 15ms, and on and on, and just cycles. I like that idea, personally.

So let's take these problems one at a time, and start with chord mode. What we need to do is create four translators that record the incoming message, and set a series of global variables for the note value and velocity. Each note will use a different set of global variables (g, h, i and j) for simplicity's sake, so we can recall what we need easier. Each note will trigger the same timer, so that all notes trigger around the same time when the timer goes off after a small delay to account for multiple notes being pressed. We are also going to count up the delay of each note to give it a kind of natural feel, though that may be finalized later.

That is all to say this is REALLY complicated, and I've called in some extra help. Give me a little bit to try and figure this out.

Thanks
Jared

DvlsAdvct

2016-07-30 19:07:46

Alright, I had to consult the boss man but he gave me a really good response. I've added the project test to this forum post. You'll just need to connect it to your personal devices.

Jared
Attachments
Mult Channel Chord.bmtp
(3.6 KiB) Downloaded 161 times