[L2Ork-dev] Fwd: MIDI SysEx (long Bulk Dump) - Big Bug when SENDING from Purr Data 2.15.2 ONLY under GNU/Linux

Jonathan Wilkes jon.w.wilkes at gmail.com
Sat Mar 6 14:02:46 EST 2021


Thanks for the detailed report.

I think Albert and others know a bit more about MIDI than I do. But
I'll comb through your report when I get a chance.

Best,
Jonathan

On Sat, Mar 6, 2021 at 5:54 AM Linux ROUEN Normandie <linux.rouen at free.fr>
wrote:

> To try making my point clearer.
> I include hereafter additional tests I have conducted during the last
> weeks using 'amidi' (part of alsa-utils-1.2.2) with the same MIDI setup
> than in my previous email, except of course Purr Data...
>
> 1- joe at mint20:~$ amidi -l
> Dir Device    Name
> IO  hw:1,0,0  MIDISPORT 2x2 Anniv MIDI 1
> IO  hw:1,0,1  MIDISPORT 2x2 Anniv MIDI 2
>
> 2- RECEIVing Big MIDI Bulk Data -FROM- my Electone HS-6
> #!/bin/bash
> # Yamaha Electone HX/HS Series => ALL-RAM Data (Bulk Dump) => PC
> amidi -p hw:1,0,0 -r hs6-dump.xram -t 1 -i 500 -S F043707010F7
> #   1- Sends the MIDI command "Request-HX/HS-To-Send ALL-RAM"
> (F0h...10...F7h),
> #   2- Saves the received ALL-RAM Data from Electone in file
> "hs6-dump.xram" on PC, and
> #   3- Stops recording after the Electone has finished sending data to the
> PC (when no data has been received for one second).
> #   NB: -S MUST be after -r, if not the beginning of the SysEx Data
> recorded is Missed!
> Okay, it's working like a charm like with Purr Data!
>
> 3- I reset my HS-6 to factory default settings; i.e. cleaning all user
> settings and data.
>
> 4- SENDing MIDI Bulk Data -TO- my Electone HS-6
> #!/bin/bash
> # PC => ALL-RAM Data (Bulk Dump) => Yamaha Electone HX/HS Series
> amidi -p hw:1,0,0 -S F043707020F7 -i 100
> amidi -p hw:1,0,0 -s hs6-dump.xram -i 100
> #   1- Sends the MIDI command "Request-HX/HS-To-Receive ALL-RAM"
> (F0h...20...F7h), and
> #   2- Sends ALL-RAM Data in file "hs6-dump.xram" from PC to Electone,
> with 100 milliseconds delay in between each SysEx message.
> #   NB: -S and -s MUST be on 2 separate command lines, if not Syntax Error!
> OKAY, it's working like a charm, quite the contrary of Purr Data which is
> not working at all in this case! See my here below email.
>
> 5- So for me, there is a Big Bug in Purr Data regarding the management of
> SENDing Big MIDI Bulk Data under GNU/Linux, at least with Linux Mint &
> Manjaro Linux.
>
> Best, Joseph
>
> -------- Message transféré --------
> Sujet : MIDI SysEx (long Bulk Dump) - Big Bug when SENDING from Purr Data
> 2.15.2 ONLY under GNU/Linux
> Date : Fri, 5 Mar 2021 18:14:29 +0100
> De : Linux ROUEN Normandie <linux.rouen at free.fr> <linux.rouen at free.fr>
> Pour : l2ork-dev <l2ork-dev at disis.music.vt.edu>
> <l2ork-dev at disis.music.vt.edu>
>
> *Hello Folks,*
>
> *1- Problem -only- under GNU/Linux; i.e. here Linux Mint 20.1 (Ubuntu
> base) and Manjaro Linux 20.2 (Arch base)*
> I have a new major MIDI issue with Purr Data 2.15.2 regarding the handling
> of BIG Bulk Dump (not below +/- 100 bytes -but only- when higher from +/-
> 100 up to few 10,000s bytes), and -only in one way-; i.e. MIDI-OUT from
> Purr Data to the external equipment.
>
> Otherwise in both directions (receiving & sending):
> - Under Windows 10, MIDI Messages & SysEx data (up to few 10,000s bytes)
> are working pretty well,
> - Awa under GNU/Linux just for MIDI messages (notes, PC & CC, etc.) and
> small Bulk Dump (less than +/- 100 bytes).
>
> I'm using the same:
> - PC / Laptop HP Pavilion DV8-1190ef (CPU Intel Core i7 4x2 @ 1,6 GHz -
> RAM 8 GB) - 11 years old,
> - YESXR (Yamaha Electone SysEx Recorder) project (pure MIDI - no
> Audio/DSP) built with Purr Data v.2.15.2 under GNU/Linux & Windows,
> - MIDI/USB I/Fs / M-Audio (MidiMan) MidiSport Uno (1x1) & MidiSport 2x2
> Anniversary (both class-compliant operation), and
> - Yamaha Electone HS-6 (MIDI organ but not GM compliant which is not an
> issue for just SysEx Bulk Dump).
>
> My YESXR project is targeting the Bulk Dump management of Yamaha vintage
> Electone HX/HS/US/EL Series (32x organ models marketed between 1986 and
> 2001).
>
> *2- Under GNU/Linux when sending big Bulk Dump*
> After a lot of tests and investigations, it seems to me there is a kind of
> big bug somewhere between the [midiout] and the OS-MIDI-PORT (i.e. before
> the MIDI/USB I/F). This is true under both Purr Data 2.15.2 (with its
> default libraries) awa Pd Vanilla 0.50-2 (Mint) / 0.51-4 (Manjaro) using
> ALSA MIDI with patchbays like QjackCtl 0.50/0.90 or Patchage 1.0.0/1.0.2 or
> AconnectGui 0.9.0.
>
> [image: YESXR SysEx-Out Test2]
>
> * Explanation & comments:*
> In the above screen capture (Linux Mint 20.1), I'm sending back an FMP
> (Full Music Programmer) Bulk Dump to my Electone HS-6.
> [print sx-out] is connected to the ouput of [seq] which is well sending
> the ~ 19,000 bytes of the FMP file (see the console output - checked line
> by line with no error message), but it's not received by my Electone which
> freezes during this procedure (I repeat -only- under GNU/Linux and not
> under Windows 10!).
> Helped by MidiSnoop (note: it's not displaying the SysEx's F0 & F7h), I
> was able to determine that YESXR was only able to send the initial (small)
> Request-to-Receive "F0, 43, 70, 70, 23, F7h" (43 70 70 23 - line #1 in
> MidiSnoop) to my Electone but not the next FMP big Bulk Dump "F0, ..., ...,
> ..., F7h" (~ 19,000 bytes).
> Sending again something from YESXR unblocks the situation, e.g. a burst of
> MIDI notes (using the YESXR's TEST MIDI Note button). But this notes burst
> rather than starting as expected with 'Midi On, Channel 1' is beginning
> with a 'SysEx Bulk Dump' (line #2 in MidiSnoop) and then only sending the
> 'MIDI notes burst', like if this (part of) SysEx was stored somewhere. In
> add this 'stored somewhere Sysex Bulk Dump' is only 514 bytes rather than
> the whole ~ 19,000 expected bytes. It's very strange!
> Note that the [print] objects in YESXR are only used for debugging purpose
> and are not part of the application itself.
>
> *3- Simplified test patch*
> I have build a simplified patch of my YESXR just for testing purpose and
> the issue is still the same under -only- GNU/Linux when trying to send big
> Bulk Dump (receiving is still okay).
> And under Windows 10, this simplified patch is working as good as YESXR
> for both receiving & sending big Bulk Dump (SysEx).
>
> [image: YESXR SysEx-Out Test3]
>
> The above screen capture has been done under Windows 10 v.20H2.
>
> *4- Questions*
> I'm mainly using GNU/Linux and much less Windows (but I have to pay
> attention to it as the majority of PC users are still with this OS). I
> cannot test under macOS as I don't own an Apple (to much expensive for my
> wallet).
>
> * Q1:* Under GNU/Linux when sending big MIDI Bulk Dump, is there a hidden
> conflict with an API or an API which is not working properly / has some
> kind of limitations?
>
> *Q2:* Do any Purr Data / Pd Vanilla users have faced to such kind of MIDI
> SysEx bug under GNU/Linux? Yes! And what was the fix?
>
> This new problem is really getting me crazy.
> Any help, suggestion and/or guidance are more than the welcome.
> Thanks a lot.
>
> *5- Cyclone - A side note*
> Purr Data v.2.15.2 (with Pd engine 0.48-0) is using an outdated version of
> the Cyclone external (a set of Pure Data objects cloned from Cycling'74
> Max/MSP). Purr Data still carries a very old Cyclone v.0.2 (compatible only
> with ~ Max 4.0.x) which is more than 5 years old and on its own is not yet
> fully ported to Purr Data.
> Currently Cyclone is in v.0.5-5 (compatible with ~ Max 7.3.5) released on
> November 25th 2020 (needs at least Pd Vanilla engine 0.51-3), so Purr Data
> is incompatible with it.
>
> [image: Cyclone External History]
>
> - - - - - - - - - - - - - - - - - - - -
> Best,
> *Joseph Gastelais*
> - - - - - - - - - - - - - - - - - - - -
> _______________________________________________
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
> https://disis.music.vt.edu/listinfo/l2ork-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20210306/126851c5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: YESXR - SysEx-Out Test2.jpg
Type: image/jpeg
Size: 286504 bytes
Desc: not available
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20210306/126851c5/attachment-0003.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: YESXR - SysEx-Out Test3.jpg
Type: image/jpeg
Size: 129700 bytes
Desc: not available
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20210306/126851c5/attachment-0004.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Cyclone External History.jpg
Type: image/jpeg
Size: 99881 bytes
Desc: not available
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20210306/126851c5/attachment-0005.jpg>


More information about the L2Ork-dev mailing list