08-19-2018, 07:55 AM | #1 |
Human being with feelings
Join Date: Feb 2013
Location: Germany
Posts: 239
|
How fast is OSCII-bot?
I mean, is OSCII-bot able to receive three or four SysEx messages within 1ms?
Attached is a screenshot of MIDIOX where you can see thirteen 14Byte messages transmitted very fast from a Yamaha 01V96 console. Also attached is a screenshot of my debug output where messages got lost two times, although the relevant messages were displayed in MIDIOX. Before I go further with this project, I have to know if this problem occurs because of my beginner coding or if these are the limits of OSCII-bot. Relevant code is in the range of line 134 to 203 of my script. Thanks in advance! |
08-21-2018, 01:57 AM | #3 |
Human being with feelings
Join Date: Feb 2016
Posts: 189
|
If you are sending MIDI over a classic serial MIDI cable then you should see no issues if the cable itself is not overloaded.
If you are sending MIDI over USB then anything is perhaps possible with buffers and fast streams. Here are some suggestions to help:- - You may be pushing the boundaries of OSCII-bot which has only fairly recently had SYSEX support added. Expect to do your own research since few may have been before you..... - Add SYSEX traffic incrementally which tips a reliably working implementation into the point of errors happening. Same for adding code. - Does the behaviour change if you don't look via MIDIOX, thus changing the timings or if you intentionally load up your CPU? - Use time_precise() function in log messages to see what is going on in your code |
08-21-2018, 06:21 AM | #4 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
I suppose OSCIIBot will only hit limits speed in very rare cases.
EEL is a compiled language and super fast, as it's designed for realtime audio calculation. So if you have some not too exotic EEL software in OSCIIBot between USB-Midi and a Network, there should be no practical problem. -Michael |
08-31-2018, 06:06 AM | #5 | ||||||
Human being with feelings
Join Date: Feb 2013
Location: Germany
Posts: 239
|
Thank you goldenarpharazon and mschnell
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Time between Rx messages: Time between Tx messages from OSCII-bot: |
||||||
09-02-2018, 06:38 AM | #6 |
Human being with feelings
Join Date: Feb 2016
Posts: 189
|
Is it definitely OSCii-bot?
The 01V96 manual contains the following where Yamaha perhaps suggest the device is a midi sysex brute. Quoting from parts of the manual "Some of the data transmitted from the 01V96 to the sequence software may occasionally drop out during Bulk Dump transmission. To avoid this, we recommend that you use the included Studio Manager software to store 01V96 data to an external device." INTERVAL This parameter specifies the interval between data packets during bulk transmission in 50 millisecond steps. If the external device drops part of the bulk data, increase this parameter value." From the MIDIOX millisecond timestamps it is clear that the 01V96 is throwing out SYSEX bytes at high rate. So it might help to put MIDIOX into the signal chain and experiment with its buffers? See http://www.midiox.com/cgi-bin/yabb/Y...num=1045021270 Last edited by goldenarpharazon; 09-05-2018 at 01:31 PM. Reason: Added MIDIOX buffer observation |
09-02-2018, 01:20 PM | #7 | |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Quote:
A chip I know I would be able to do that with is a PIC32. But a Linux system like a RasPI 3 supposedly would be easier to be handled. -Michael Last edited by mschnell; 09-12-2018 at 12:50 PM. |
|
09-02-2018, 01:24 PM | #8 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Supposedly the most likely limit to be hit is imposed by logging, not by receiving itself.
-Michael |
Thread Tools | |
Display Modes | |
|
|