inbound MIDI system exclusive processing
Re: inbound MIDI system exclusive processing
Hi
Just a comment or two - -
I changed the execution of the request_sysex() to 0-1 transition because it sends 2 requests when set to 'any' . . .
Also, what you are calling 'ASCII' is really 'Decimal' compared to Hex - ascii is when the numbers represent characters/controls according to ascii standard . .
An example would be taking the patch name from hex, to decimal (where it is a dec. representation of text) and arraytostring()-ing it to text . . .
I will be looking at adding an address selection to the project so I can query specific parameters . . .
Cheers
MM
Just a comment or two - -
I changed the execution of the request_sysex() to 0-1 transition because it sends 2 requests when set to 'any' . . .
Also, what you are calling 'ASCII' is really 'Decimal' compared to Hex - ascii is when the numbers represent characters/controls according to ascii standard . .
An example would be taking the patch name from hex, to decimal (where it is a dec. representation of text) and arraytostring()-ing it to text . . .
I will be looking at adding an address selection to the project so I can query specific parameters . . .
Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
Re: inbound MIDI system exclusive processing
Thanks! Any tips are highly appreciated. I am new to this kind of scripting/programingMacciza wrote:Hi
I changed the execution of the request_sysex() to 0-1 transition because it sends 2 requests when set to 'any' . . .
Sorry for not being precise. I am already using the arraytostring function to retrieve patch names from my syntMacciza wrote:Hi
Also, what you are calling 'ASCII' is really 'Decimal' compared to Hex - ascii is when the numbers represent characters/controls according to ascii standard . .
An example would be taking the patch name from hex, to decimal (where it is a dec. representation of text) and arraytostring()-ing it to text . . .
As I said, any input would be highly appreciated! Btw, THANKS FOR ALL YOUR VALUABLE INPUT IN THIS FORUM!Macciza wrote:Hi
I will be looking at adding an address selection to the project so I can query specific parameters . . .
Cheers,
BxSj
Win7 64, Ipad Lemur, Cubase6 and a bunch of Roland Synths and Samplers
Re: inbound MIDI system exclusive processing
It may be worth the effort to create a list of MIDI interfaces that don't interact well with the Lemur Daemon for System Exclusive functions for the Liine team.
This can be tested with these steps :
1) Run the Lemur Daemon
2) Ensuring your MIDI interface is connected to computer and the same MIDI cable is plugged in loopback config, that is the cable goes from the input port to the output. Same port number.
3) Configure/assign your interface on front page of Lemur iPad under MIDI Targets, MIDI 0. If it is available it will be listed past the "Daemon Input (or Output)" entries (don't choose those for this test). For example my MIDIMAN 2x2 simply shows "Port A" and "Port B" but the AMT-8 interface showed "Port 1" through "Port 8"
Then run dsorlien's system exclusive test template, configure settings on it as mentioned in later post or for a basic guide:
Use a minlength of 5 and maxlength of 128 for full test.
Leave the delay setting to default you can adjust it down after the first test and run another if you like.
So far I have not so good (crashed Lemur app every time):
emagic AMT-8
Works fine:
M-Audio MIDIMAN 2x2 anniversary edition
J
This can be tested with these steps :
1) Run the Lemur Daemon
2) Ensuring your MIDI interface is connected to computer and the same MIDI cable is plugged in loopback config, that is the cable goes from the input port to the output. Same port number.
3) Configure/assign your interface on front page of Lemur iPad under MIDI Targets, MIDI 0. If it is available it will be listed past the "Daemon Input (or Output)" entries (don't choose those for this test). For example my MIDIMAN 2x2 simply shows "Port A" and "Port B" but the AMT-8 interface showed "Port 1" through "Port 8"
Then run dsorlien's system exclusive test template, configure settings on it as mentioned in later post or for a basic guide:
Use a minlength of 5 and maxlength of 128 for full test.
Leave the delay setting to default you can adjust it down after the first test and run another if you like.
So far I have not so good (crashed Lemur app every time):
emagic AMT-8
Works fine:
M-Audio MIDIMAN 2x2 anniversary edition
J
Last edited by analog604 on 25 Feb 2012 13:34, edited 1 time in total.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: inbound MIDI system exclusive processing
Darn it. I had a long message typed up and the forum logged me out before I could post it. I'll try again.
Great work everyone. Thanks for the template, bxsj. Great work. I wish i had seen yours before I worked on mine, it would have saved a little time with the hex conversion.
So ... before the forum hiccups ... I'll post the download link and describe it in the next post.
http://dl.dropbox.com/u/54889552/sysex_ ... 4.jzml.zip
(update: zipped file, updated link)
Great work everyone. Thanks for the template, bxsj. Great work. I wish i had seen yours before I worked on mine, it would have saved a little time with the hex conversion.
So ... before the forum hiccups ... I'll post the download link and describe it in the next post.
http://dl.dropbox.com/u/54889552/sysex_ ... 4.jzml.zip
(update: zipped file, updated link)
Last edited by dsorlien on 25 Feb 2012 05:20, edited 1 time in total.
Re: inbound MIDI system exclusive processing
The template in my post above has a nice data display, that should be familiar to programmers. SYSEX messages received on MIDI 0 will be displayed in hex and ascii.
To use the loopback test, create a feedback loop such that the Lemur MIDI 0 output is routed back to Lemur MIDI 0. This can be wireless only, or hardware MIDI, or a combination.
The test takes a long time to run. The progress and results are shown graphically using multisliders.
I hope we can share iPad screen grabs of our test results. I will be testing various configurations this weekend.
To use the loopback test, create a feedback loop such that the Lemur MIDI 0 output is routed back to Lemur MIDI 0. This can be wireless only, or hardware MIDI, or a combination.
The test takes a long time to run. The progress and results are shown graphically using multisliders.
I hope we can share iPad screen grabs of our test results. I will be testing various configurations this weekend.
Re: inbound MIDI system exclusive processing
I have copied the array to hex function from a post , honours go to mbncp!Great work everyone. Thanks for the template, bxsj. Great work. I wish i had seen yours before I worked on mine, it would have saved a little time with the hex conversion.
Cheers,
B.
Win7 64, Ipad Lemur, Cubase6 and a bunch of Roland Synths and Samplers
Re: inbound MIDI system exclusive processing
dsorlien, seriously excellent work on that test template! thanks for posting it, i'll update my previous posts.
I ran the loopback MIDI cable from the in to out on two USB to Lemur daemon connected MIDI interfaces.
emagic AMT-8: causes template to crash after a few moments into test with only 8byte to 9byte packets. Couldn't get a screenshot on iPad.
Got one here at the computer MIDI montor (the selected port doesn't actually have a Tempest on it.. only a label):
Then did a cable loopback on m-audio MIDIman 2x2 anniv, excellent results. I ran several of these, this one uses the lowest delay setting and 3-124 length:
Very interested in additional tests...
I ran the loopback MIDI cable from the in to out on two USB to Lemur daemon connected MIDI interfaces.
emagic AMT-8: causes template to crash after a few moments into test with only 8byte to 9byte packets. Couldn't get a screenshot on iPad.
Got one here at the computer MIDI montor (the selected port doesn't actually have a Tempest on it.. only a label):
Then did a cable loopback on m-audio MIDIman 2x2 anniv, excellent results. I ran several of these, this one uses the lowest delay setting and 3-124 length:
Very interested in additional tests...
dsorlien wrote:The template in my post above has a nice data display, that should be familiar to programmers. SYSEX messages received on MIDI 0 will be displayed in hex and ascii.
To use the loopback test, create a feedback loop such that the Lemur MIDI 0 output is routed back to Lemur MIDI 0. This can be wireless only, or hardware MIDI, or a combination.
The test takes a long time to run. The progress and results are shown graphically using multisliders.
I hope we can share iPad screen grabs of our test results. I will be testing various configurations this weekend.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: inbound MIDI system exclusive processing
Great template! I did some more tests with different interface scenarios (see attached screen shots). Here are the results. Could that be a limitation in the buffer sizes of the interfaces themselves?
Scenario 1:
Ipad to an IConnect Midi interface; via USB cable into PC; soft midi loop using MIDI OX.
Scenario 2:
Ipad via camera connection kit to a cheap no-name USB interface to physical midi in of an MOTU firewire interface; soft midi loop using MIDI OX.
Scenario 3:
Ipad via WIFI and Lemur Daemon to USB MIDI of a MOTU firewire interface; hard midi loop with a midi cable.
Seems like in my setup the WIFI connection gives me the best results.
Scenario 1:
Ipad to an IConnect Midi interface; via USB cable into PC; soft midi loop using MIDI OX.
Scenario 2:
Ipad via camera connection kit to a cheap no-name USB interface to physical midi in of an MOTU firewire interface; soft midi loop using MIDI OX.
Scenario 3:
Ipad via WIFI and Lemur Daemon to USB MIDI of a MOTU firewire interface; hard midi loop with a midi cable.
Seems like in my setup the WIFI connection gives me the best results.
- Attachments
-
- SysexScenarios.zip
- (169.69 KiB) Downloaded 175 times
Win7 64, Ipad Lemur, Cubase6 and a bunch of Roland Synths and Samplers
Re: inbound MIDI system exclusive processing
Some test results:
iPad, wifi connection to MacBook, running Lemur Daemon and Midi Patchbay. Using Midi Patchbay I create a connection between Daemon 0 in and Daemon 0 out, creating the loopback path.
iPad, wifi connection to MacBook, running Lemur Daemon and Midi Patchbay. MIDI from Daemon 0 is routed to one port of a MOTU MicroLite USB midi interface. A MIDI cable is used to create the loopback path, MIDI data is routed from the MOTU MicroLite to Daemon 0 output, and back to the iPad over wifi.
iPad with camera connection kit USB adapter, using my DIY MIDI interface and a plug that loops mid out back to midi in. The code running on the Teensy 2.0 buffers all incoming sysex messages of up to 256 bytes (which is more than enough for this test) before passing the message to the iPad.
iPad, wifi connection to MacBook, running Lemur Daemon and Midi Patchbay. Using Midi Patchbay I create a connection between Daemon 0 in and Daemon 0 out, creating the loopback path.
iPad, wifi connection to MacBook, running Lemur Daemon and Midi Patchbay. MIDI from Daemon 0 is routed to one port of a MOTU MicroLite USB midi interface. A MIDI cable is used to create the loopback path, MIDI data is routed from the MOTU MicroLite to Daemon 0 output, and back to the iPad over wifi.
iPad with camera connection kit USB adapter, using my DIY MIDI interface and a plug that loops mid out back to midi in. The code running on the Teensy 2.0 buffers all incoming sysex messages of up to 256 bytes (which is more than enough for this test) before passing the message to the iPad.
-
- Liine Staff
- Posts: 285
- Joined: 01 Oct 2010 11:06
Re: inbound MIDI system exclusive processing
Hi guys,
I've done a few tests. Did not experience the Lemur app freezing however, but I can confirm there seems to be some issues with long SysEx messages with certain hardware interfaces.
iRig MIDI — Confirmed that receiving SysEx is also problematic. SysEx messages are truncated to the first 2 bytes.
iConnect MIDI — Inconsistently truncated, especially with long messags (over 200 bytes).
Lemur Daemon — SysEx messages received flawlessly, up to 248 bytes (included 240 and 247 bytes),
Best,
Nick
I've done a few tests. Did not experience the Lemur app freezing however, but I can confirm there seems to be some issues with long SysEx messages with certain hardware interfaces.
iRig MIDI — Confirmed that receiving SysEx is also problematic. SysEx messages are truncated to the first 2 bytes.
iConnect MIDI — Inconsistently truncated, especially with long messags (over 200 bytes).
Lemur Daemon — SysEx messages received flawlessly, up to 248 bytes (included 240 and 247 bytes),
Best,
Nick