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 splitter confusion
9 posts
• Page 1 of 1
midi splitter confusion
Tried to use the midi splitter to extract velocity, easy you say just connect to the velocity output,
works great until you move your modulation wheel or pitch bend then it outputs their values
maybe its just me or the fact that its 5 in the morning but I cannot find a solution anyone have any ideas
works great until you move your modulation wheel or pitch bend then it outputs their values
maybe its just me or the fact that its 5 in the morning but I cannot find a solution anyone have any ideas
Last edited by Xtinct on Fri Jun 20, 2014 1:44 pm, edited 1 time in total.
- Xtinct
- Posts: 106
- Joined: Fri Feb 11, 2011 12:06 am
Re: Flawed midi splitter
OK found a solution using a filter from the wonderful Trogs tools, but I still consider this a bug
- Xtinct
- Posts: 106
- Joined: Fri Feb 11, 2011 12:06 am
Re: Flawed midi splitter
like you already found out you need to filter the datatype!
if its anote event, velocity is sent on the second data byte, but if it is not a noteevent some other data is sent on the second databyte, this can be cc controller values or pitchbend like you also found out already!
midi data is structured like this and its not a bug...
this is also the reason why you have an extra trigger output to update the data, like this its easy to trigger only if the status is the kind of midi data you want.
here is a small reference to this:
http://www.indiana.edu/~emusic/etext/MI ... IDI4.shtml
if its anote event, velocity is sent on the second data byte, but if it is not a noteevent some other data is sent on the second databyte, this can be cc controller values or pitchbend like you also found out already!
midi data is structured like this and its not a bug...
this is also the reason why you have an extra trigger output to update the data, like this its easy to trigger only if the status is the kind of midi data you want.
here is a small reference to this:
http://www.indiana.edu/~emusic/etext/MI ... IDI4.shtml
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: Flawed midi splitter
My bad not a bug but a badly worded manual
"Data 2 - (0-127) the second byte of data received (for note events this is the velocity)"
No mention of other controller data being output from Data 2, but then again it doesn't say it isn't.
An extra line or two in the manual would be helpful, or the reinstatement of the wiki where greater explanations of the components could be posted.
"Data 2 - (0-127) the second byte of data received (for note events this is the velocity)"
No mention of other controller data being output from Data 2, but then again it doesn't say it isn't.
An extra line or two in the manual would be helpful, or the reinstatement of the wiki where greater explanations of the components could be posted.
- Xtinct
- Posts: 106
- Joined: Fri Feb 11, 2011 12:06 am
Re: midi splitter confusion
One for the tool box to go with the cc, bend and after touch primitives
- Xtinct
- Posts: 106
- Joined: Fri Feb 11, 2011 12:06 am
Re: midi splitter confusion
Xtinct wrote:..the reinstatement of the wiki where greater explanations of the components could be posted.
+1
whats also interesting, the numbers like 144 and 128 are representation of the decimal values of the statusbyte
so 144 => 10010000
the 1st part represents the status 1001 = note on
the 2nd part repesents the channel 0000 = channel 1 (it counts from 0 to 15 so 0 = ch 1 ... 15 = ch 16)
so 145 => 10010001
the 1st part represents the status 1001 = note on
the 2nd part repesents the channel 0002 = channel 2
and so on
my question now is, when i want to receive note from another channel then 1, do i need to filter from 128 - 143 for note off and 144 - 159 for note on(176 - 191 for CC)?
because the common version of note on and off events is 144 for note on ans 128 for note off (176 for midi CC) which would be only for midi channel 1? never tried this out in a DAW - somebody did this already?
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: midi splitter confusion
Hi Nubeat,
With the MIDI primitives you don't need to worry about it - the 'Status' and 'Channel' connectors will split and combine the two parts as required - so you can safely use just the "channel 1" version of the status code.
Likewise with Ruby - the MIDI objects divide the values four ways into Status, Channel, Data1 and Data2. Makes life a whole lot easier!
With the MIDI primitives you don't need to worry about it - the 'Status' and 'Channel' connectors will split and combine the two parts as required - so you can safely use just the "channel 1" version of the status code.
Likewise with Ruby - the MIDI objects divide the values four ways into Status, Channel, Data1 and Data2. Makes life a whole lot easier!
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
Don't stagnate, mutate to create!
-
trogluddite - Posts: 1730
- Joined: Fri Oct 22, 2010 12:46 am
- Location: Yorkshire, UK
Re: midi splitter confusion
here the whole list:
128 (- 143) = note off (channel 1-16)
144 (- 159) = note on (channel 1-16)
160 (- 175) = polyphonic aftertouch (channel 1-16)
176 (- 191) = control change (channel 1-16)
192 (- 207) = program change (channel 1-16)
206 (- 223) = aftertouch (channel 1-16)
224 (- 239) = pitchbend (channel 1-16)
240 System Exclusive
241 MIDI Time Code Qtr. Frame
242 Song Position Pointer LSB MSB
243 Song Select (Song #) (0-127)
244 Undefined (Reserved)
245 Undefined (Reserved)
246 Tune request
247 End of SysEx (EOX)
248 Timing clock
249 Undefined (Reserved)
250 Start
251 Continue
252 Stop
253 Undefined (Reserved)
254 Active Sensing
255 System Reset
128 (- 143) = note off (channel 1-16)
144 (- 159) = note on (channel 1-16)
160 (- 175) = polyphonic aftertouch (channel 1-16)
176 (- 191) = control change (channel 1-16)
192 (- 207) = program change (channel 1-16)
206 (- 223) = aftertouch (channel 1-16)
224 (- 239) = pitchbend (channel 1-16)
240 System Exclusive
241 MIDI Time Code Qtr. Frame
242 Song Position Pointer LSB MSB
243 Song Select (Song #) (0-127)
244 Undefined (Reserved)
245 Undefined (Reserved)
246 Tune request
247 End of SysEx (EOX)
248 Timing clock
249 Undefined (Reserved)
250 Start
251 Continue
252 Stop
253 Undefined (Reserved)
254 Active Sensing
255 System Reset
Last edited by Nubeat7 on Fri Jun 20, 2014 8:49 pm, edited 3 times in total.
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: midi splitter confusion
trogluddite wrote:Hi Nubeat,
With the MIDI primitives you don't need to worry about it - the 'Status' and 'Channel' connectors will split and combine the two parts as required - so you can safely use just the "channel 1" version of the status code.
Likewise with Ruby - the MIDI objects divide the values four ways into Status, Channel, Data1 and Data2. Makes life a whole lot easier!
hello trog! first of all great to have you back, hope you`re fine
thx for the fast answer, that´s good to know!
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
9 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 74 guests