Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Midi Help

For general discussion related FlowStone

Midi Help

Postby Drnkhobo » Wed Sep 10, 2014 10:32 am

Hey guys, im trying to understand some midi issues im having. . .

So basically its regarding midi messages (note) and their impact with respect to timing. . .

If I play say one key (midi note 40 for instance) and quickly play it again, the 'history' (thanks Trog's analyzer module) shows me the following:

STATUS:144
NOTE: 40
STATUS:128
NOTE:40


This makes sense as:

# Note ON
STATUS:144
NOTE: 40

#Note OFF
STATUS:128
NOTE:40


Cool, so now I make a module which subtracts 1 to the midi note number if midi note == 61. What this means is that if I press the note C# it will send a midi note with number 60(C) as opposed to 61(C#). Basically im just messing around.

Ok, so all good. Now the issues comes in when Im trying to trigger the same note while holding them. lets take an example we can understand:

The naturalist I am, I take to the computer keyboard & enable it inside FS to play a synth (Midi In = keyboard). looking good. . . 8-) OK so then I decide to play a sustained set of two notes over an interval. Only two notes, C and C#.

I gently hold down the 'Q' key and loose myself in the sustained sine tone of C. I then (while still holding the 'Q' key) press & hold the '2' key (C#) quickly and let go of the 'Q' key (I will miss you my dearest C note). Now you should be expecting me to say I get lost in the sustaining sine tone of C#. But no. Its not sustaining. Its like a one shot. "Blip". . . .


So I look to the analyzer of the midi notes after. . . this is what I get:

STATUS:144
NOTE:60
STATUS:144
NOTE:60
STATUS:128
NOTE:60
STATUS:128
NOTE:60


That makes sense again:

# Note ON (C)
STATUS:144 <----------- This means I pressed the 'Q' key (note C)
NOTE:60

# Note ON (C#)

STATUS:144 <----------- This means I pressed the '2' key (note C#)
NOTE:60

# Note OFF (C)

STATUS:128 <----------- This means I let go the 'Q' key (note C)
NOTE:60

# Note OFF (C#)
STATUS:128 <----------- This means I let go the '2' key (note C#)
NOTE:60

What this shows me is that because I have set if input midi note == 61 then output 60 (as above). However it seems to conflict with the already initiated midi note of 60 (the original C). So when I press the '2' key (C# midi note 61) it 'switches' off the original C note (60).

Are midi messages sent as their own respective instance? Or are they bundled together? because from what I have seen, midi out notes which are sent in succession with the same note number switch off each other and cause interference (because the original midi note didn't switch off (was not let go) ) but they shouldnt????

I have probably confused the crap out of anyone reading this. . .and im sorry. I will try attach a example when I get the chance today. :|
Drnkhobo
 
Posts: 312
Joined: Sun Aug 19, 2012 7:13 pm
Location: ZA

Re: Midi Help

Postby billv » Wed Sep 10, 2014 1:22 pm

Drnkhobo wrote:midi out notes which are sent in succession with the same note number switch off each other and cause interference

Your basicly "interfering" your first note with your second, because they live in the
same place identity-wise. A "midi format" thing....trog explained it well somewhere..(can't find link)
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: Midi Help

Postby KG_is_back » Wed Sep 10, 2014 1:24 pm

Problem you are experiencing is slightly more complicated and nor related to midi itself - but the midi to poly module.

Midi to poly module creates new voice when midi 144 with pitch "X" is received and kills the voice when midi 128 with the same pitch is received (or it sends "release" order to the envelope follower if one is in the schematic, and that one kills the voice when release phase is over).
There are several settings on the midi to poly module that define the behavior when the same note is retriggered (message 144 with pitch X is received while the note X is still playing). Go down to midi to voices prim and change that bunch of boolean settings and play with it a little.
KG_is_back
 
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Midi Help

Postby Drnkhobo » Wed Sep 10, 2014 5:30 pm

Thanks guys, I must say that I tried it "outside" FS & I still get the same issue. So KG, I understand the midi 2 poly settings and note management. But it's not that I'm afraid as it's happening with external synths too.

It seems to be like Billv says, a midi format thing. Because essentially you can't be holding down a note & then triggering that note again if the first instance was not 'killed' beforehand.

I think it's a limitation of the midi protocol and so my plans are bungled!!! :roll:

@billv if you could find that link. . . . ;)
Drnkhobo
 
Posts: 312
Joined: Sun Aug 19, 2012 7:13 pm
Location: ZA

Re: Midi Help

Postby billv » Wed Sep 10, 2014 7:31 pm

Drnkhobo wrote:if you could find that link.

Found it....it was earlier in the thread than i looked before.
Some other talk about the subject in the thread, might help to read through it all.
http://www.dsprobotics.com/support/viewtopic.php?f=2&t=2356&start=30#p13436
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: Midi Help

Postby Drnkhobo » Wed Sep 10, 2014 8:04 pm

Thanks for finding it again!!! :lol: :D
Drnkhobo
 
Posts: 312
Joined: Sun Aug 19, 2012 7:13 pm
Location: ZA


Return to General

Who is online

Users browsing this forum: No registered users and 69 guests