[PD] SysEx In issue

Mario Buoninfante mario.buoninfante at gmail.com
Mon Feb 11 20:17:10 CET 2019


Hi Lucas,

I tried your patch on a MacBook Pro 2.7 GHz Intel Core i5 16 GB of ram and
I can easily send SysEx from your patch faster then 3 ms (1 ms is more than
fine and I'm sure we can go even faster).
I'm using a virtual MIDI port by the way. In fact the point is, if we're
talking about MIDI over MIDI DIN, there are some limitations. The max you
can cope with is roughly 3 bytes per msec (see MIDI HW baudrate), then of
course the HW device would probably have some internal buffer to use in
case it receives more msg than can actually handle.
In terms of USB MIDI the bandwidth is way bigger than that. We are talking
about 12 Mbit per second for a USB 1.0 device (let's say a class compliant
device that then doesn't use any special driver). I remember I found once
in the portmidi source code (
https://sourceforge.net/projects/portmedia/files/portmidi/217/ -
pmmacosxcm.c) a comment that says:

/* maximum overall data rate (OS X limit is 15000 bytes/second) */
and then
#define MAX_BYTES_PER_S 14000

I'm assuming other OSs would deal with something at least similar to that
(I know Windows is not as good as MacOS on that, and unfortunately Linux
with ALSA neither).
In my case I'm using and class compliant HW device connected via USB.
I know for sure MidiMonitor, Max/MSP and Python (using python-rtmidi) can
handle this data.
I'll try to create something we can use to test this and open an issue on
github.

Cheers,
Mario




On Mon, 11 Feb 2019 at 15:19, Lucas Cordiviola <lucarda27 at hotmail.com>
wrote:

> I did a test patch (attached)
>
> - I can send 7 byte sysex messages up to every 3ms
>
> - I can send noteout up to every 2ms
>
> This tests gave same results if using a midicable (cable loop on the
> sound-card) or using a virtual driver.
>
>
>
> Mensaje telepatico asistido por maquinas.
>
> On 2/11/2019 10:55 AM, Dan Wilcox wrote:
>
> (responding again in thread)
>
> It is most likely a bug, maybe introduced in the MIDI overhaul I did for
> 0.48. Does the same issue occur in 0.47?
>
> Can make a *re-produceable* patch and/or project for testing and open an
> issue on the pure-data Github repo? The simplest thing for me would be the
> syses messages you're sending as bytes.
>
> You could also check the output of the midi tester patch I added:
>
> Browser -> Pure Data/7.stuff/tools/miditester.pd
>
> Hi,
>>
>> Not too long ago I wrote here reporting an issue with receiving SysEx
>> messages.
>> When Pd receives a big quantity of SysEx, the MIDI IN port 'gets stuck'
>> and
>> then you need to go to 'Media->MIDI settings...' and re-select the port,
>> otherwise no MIDI messages will be received anymore.
>> Here's a video that shows the issue:
>> https://vimeo.com/316526250
>> it's a private video, the pass is: sysexissue
>> Does anybody know what could cause this behavior and if it's possible to
>> 'fix it'?
>> The first time I reported it, it was when I stumbled on this using my
>> personal Linux machine and Miller Puckette suggested to change the MIDI
>> buffer in the source code, but unfortunately also setting that to
>> something
>> insane like 2^20, the issue was still there.
>> Now I double checked on MacOS Sierra and Windows 10 and it is the same.
>>
>> Cheers,
>> Mario
>
>
> --
> Dan Wilcox
> @danomatika
> danomatika.com
> robotcowboy.com
>
> _______________________________________________Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190211/e1194655/attachment.html>


More information about the Pd-list mailing list