Troubleshooting
Any MIDI setups known to properly receive SYSEX into Lemur?
Started by bint on .
Sign in or create an account to join the conversation.
Hello,
I'm trying to receive a SYSEX dump from my DSI Evolver into Lemur through my iRig interface. The size of the data received by Lemur is inconsistent - the data is truncated but not to a consistent length. Searching the forums I found that other people have experienced similar issues. Has anybody got this working consistently, and if so using what hardware?
In my case the total data size is 220 Bytes so it fits within the 256 Byte limit for Lemur arrays. If I request a different type of dump that is smaller in size, eg a single patch name, it works consistently.
Thanks.
I'm trying to receive a SYSEX dump from my DSI Evolver into Lemur through my iRig interface. The size of the data received by Lemur is inconsistent - the data is truncated but not to a consistent length. Searching the forums I found that other people have experienced similar issues. Has anybody got this working consistently, and if so using what hardware?
In my case the total data size is 220 Bytes so it fits within the 256 Byte limit for Lemur arrays. If I request a different type of dump that is smaller in size, eg a single patch name, it works consistently.
Thanks.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
HiJust tried sending sysex messages from Max to Lemur via Daemon without issue - up to 256 bytes . . .
Will set up a hardware connection via iConnectMIDI and post results a bit later . . .
Cheers
MM
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
That's encouraging. I'm still finding my feet a little here - does that mean you used Daemon's virtual MIDI ports to route SYSEX from Max to Lemur over WiFi? thanks for the response.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Hi Yes - Max out via Daemon to Lemur over WiFi . . .
I checked with wired MIDI and there are dropped data/incomplete messages
I have referred the matter through to the dev team to investigate further.
Cheers
MM
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Thanks. I'm guessing there's a way to route the DSI Evolver MIDI ports over WiFi by using a hardware MIDI interface on my MacBook. Will try this tonight and report back.Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Worked perfectly using the Daemon and my NI sound card. If I can borrow a camera connection kit I'll test the various MIDI devices I have access to - I would love to portable synth programming rig that doesn't need a laptop.Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
I spoke too soon. I've been working on my Template today and am finding that the packets are still sometimes coming in truncated. Using the iRig I could never get the full packet so things have improved but it's only working about half the time.
On top of this Lemur is crashing pretty regularly. At this stage I'm requesting a Program Dump, then pulling out a subarray and displaying it on a Monitor object.
The crashes seem to happen when I'm doing stuff with large arrays - either displaying them (on a Monitor object), or subarray them then display the subarray.
FWIW I'm on iOS5 - I have no desire to upgrade to iOS6 but would do so if iOS5 is no longer supported.
I've attached the file - maybe I'm doing something boneheaded that's making it crash. The idea is that you hit a button, it runs one of the RequestXXXDump scripts, and then ReceiveState runs, triggered by incoming Sysex MIDI.
Any ideas welcome.
thanks.
EvolverProgrammer.jzml
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Hi BintIf you are able to find the crashlog for one of those crashes in ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
please send it in to support@liine.net with the project and a description of what you were doing at the time it crashed, that would be great.
Will have a look at the project you just posted . .
MM
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
UPDATE: Using a MIDI monitor it looks like I'm getting inconsistent packet data off the MIDI interface, so I'm going to try another interface and see if the problem persists.Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
UPDATE: tried another MIDI interface and the problem persisted but then realised that i was sending the sysex when a pad triggered an event, so if i touched the pad quickly, it was sending two request in rapid succession. Fixing this should sort it out!Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Hi Had a quick look - heres some comments . .
Your buttons scripts are set to 'any' for there execution this means it responds to down and up messages
So your script is being called twice in quick succession, sometimes only a few ms apart
Not sure how your device will respond to this but if it send 2 lots of responses it could cause problems . . .
There also seem to be a number of Monitor.value assigns that supersede each other - was that just for debugging and not all commented out?
Try changing the execution setting and see how it goes . .
MM
PS Initial message did not send due to net dropout but posting anyway even though you seem to have found it . . .
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Thanks for giving my script the once-over.I made the fix and as a result, the Evolver is now consistently returns the same size Sysex packets - confirmed with MIDI monitor.
Strangely however Lemur is now always truncating the packets to exactly 31 bytes (they should be around 220 bytes). It is also frequently crashing.
You are correct that the superseded assigns were for debugging - I was lazy and didn't comment them out.
As I side-note, I find I'm having to futz around to get the iPad connected over an Ad-hoc network. I can't find a reliable repeatable way to make this happen. Sometimes it will drop out and I will have to spend around an hour trying static IPs, rebooting devices etc.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
ok, here's an interesting data-point.There are two types of dump i'm requesting:
the first just asks for the main parameters - Evolver correctly returns a 38 byte packet, and after throwing away the first byte (as expected), Lemur gives me 37 bytes - so I am getting everything I'm supposed to.
the second asks for all the patch parameters - Evolver correctly returns a 228 byte packet, and after throwing away the first byte (as expected), Lemur gives me 31 bytes - so it's truncating the rest of the data.
so the issue is only occurring for large arrays. I might try finding a program that lets me create arbitrary sysex packets and throw them at Lemur, and see exactly when it falls over.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
UPDATE:I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.
To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.
Trying to think what else I can change/try..
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Receiving large SysEx messages over Wi-Fi with Lemur Daemon seems 100% accurate over here.However, It does indeed look like receiving large SysEx messages through certain hardware is a bit unreliable. Investigating.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?bint wrote:I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.
To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.
If not, please let me know exactly in which cases messages were truncated.
I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.
Thanks,
Nicolas
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
EDITED as I remembered a detail about what happened.
Yes I can confirm that long SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated.nick_liine wrote: Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?
If not, please let me know exactly in which cases messages were truncated.
I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.
Thanks,
Nicolas
Initially I was able to receive long SySex messages (>200 Bytes)! But was getting an incorrect number sometimes.
I found this was because I had a bug in my script that was causing the SysEx request to get sent twice for each button push.
When I fixed this bug, I started getting consistently truncated messages, say 32 Bytes, instead of 220 Bytes.
Let me know if you would like me to try anything or if you need any more info about my setup (ipad 3 and mbp)
thanks,
David
PS I can ALSO confirm that long sysex messages sent FROM the computer TO the Lemur with iRig MIDI are getting truncated.
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
I've attached a template I made that is the simplest I could think of that would reproduce the problem (for me). Change the hex in RequestDump() to adapt if for a different hardware synth.
I thought maybe it was a timing issue, eg maybe Lemur was unhappy making the request then immediately receiving the
dump, so I tried just sending SysEx through my MIDI interface without a request. The packets were still truncated.
Also, I tried re-introducing the bug that i fixed just before the truncation problem began. The packets were still truncated
so I can't see a reliable link between these two things.
thanks,
David
Basic SysEx Test.jzml
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Quick update:It looks like there is an issue with the Lemur Daemon's handling of large SysEx messages from hardware MIDI ports - but I have a work-around! Not ideal but a good stop-gap while it gets sorted out
Use the SysExLbrarian at the link below to capture the SysEx packet coming off the hardware MIDI input, and then Play it back to one of the Daemon Outputs which is routed into your iPad. A little clunky but it has been solid so far. Holler if this is unclear. If I get time I'll write MaxMSP patch that does this automatically and share it on here:
http://www.snoize.com/SysExLibrarian/
Subject: Re: Any MIDI setups known to properly receive SYSEX into Lem
Nicolas,nick_liine wrote:Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?bint wrote:I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.
To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.
If not, please let me know exactly in which cases messages were truncated.
I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.
Thanks,
Nicolas
Any update? Does Liine plan to fix this? It is a serious problem for many people that try to use my template which makes heavy use of SYSEX. Some of these users are unable to use the template (because of Lemur's serious SYSEX bug) and I have suggested they request a refund for the Lemur IOS app.
Thanks in advance for your consideration.