Dave Smith Instruments SYNTHESIZERS group photo

Yahoo Groups archive

Dave Smith Instruments SYNTHESIZERS

Index last updated: 2026-04-28 22:43 UTC

Message

Re: [Evolver] Novation/Evolver SYSEX: was cakewalk INS files?

2006-06-12 by James Elliott

That sux! Sorry man!


----- Original Message ----
From: Andrew Capon <acapon@...>
To: DSI_Evolver@yahoogroups.com
Sent: Monday, June 12, 2006 2:35:35 PM
Subject: RE: [Evolver] Novation/Evolver SYSEX: was cakewalk INS files?


Hi,
 
I just got a new remote SL, super duper Automap, most advanced controller ever. Blah, blah, blah.
 
It still works the same with SYSEX as the old models, so basically pretty useless.
 
Andy
 



From: DSI_Evolver@yahoogroups.com [mailto:DSI_Evolver@yahoogroups.com] On Behalf Of James Elliott
Sent: 09 June 2006 20:39
To: DSI_Evolver@yahoogroups.com
Subject: Re: [Evolver] Novation/Evolver SYSEX: was cakewalk INS files?
 
I wrote a very long letter earlier today to Novation explaining their poor SYSEX implementation and how it would benefit them as well as the rest of us if they added a couple additional parameters to their message. I will share their response with the group - if and when I get it.
 
-Jim
----- Original Message ----
From: Trevor <nucleic_acid@...>
To: DSI_Evolver@yahoogroups.com
Sent: Friday, June 9, 2006 2:02:05 PM
Subject: Re: [Evolver] cakewalk INS files?
Thanks for the detailed explanation. I will definitely have to study
it, as working with sysex is new to me. The math seems relatively
simple, but doable. I have to echo the final sentiment in you post,
which is part of the reason I had convinced myself that there just had
to be more parameters, given who designed the synth. It seemed almost
inconceivable that a person who was such a dominant figure in Midi ,
would design a synth that is not compatible with current midi
standards. Love the synth, but this sysex thing is driving me nuts. 

--- In DSI_Evolver@ yahoogroups. com, John Pascuzzi <johnp@...> wrote:
>
> At 11:53 AM 6/8/06, you wrote:
> >I don't know what happened!?!?
> >When I typed it up it was full of paragraph and line breaks! I am a 
> >programmer by trade, so white space IS my friend!
> 
> 
> Came in fine and formatted on my Eudora pc email client:
> 
> 
> >As far as I am aware, the Evolver transmits neither RPN or NRPN's.
It only 
> >transmits a few basic CC's, everything else is SYSEX. Programming
SYSEX 
> >isn't terrible. You just need a BASIC understanding of the binary and 
> >hexidecimal notations. MIDIOX will help you see what your Evolver is 
> >transmitting and a simple scientific calculator (like the one provided 
> >with windows) will help translating between binary, hexidecimal,
and decimal.
> >
> >For example (and I'm at work at the moment, not home in front of my 
> >manual, I am doing this from "memory"), I believe "LFO 1 Amount" is 
> >Program Parameter #42 and it can accept values of 0 through 200. If
you 
> >look in the manual, it will tell you how to format a SYSEX message
for the 
> >transmission of a Program Parameter. It's definition is in binary, 
> >something like 1111 0000 0000 0001 0010 0000 0000 0001 0000 0001
0XXX XXXX 
> >0000 YYYY 0000 ZZZZ 1011 0111 (XYZ are variables for different 
> >combinations 0's and 1's). The program parameter list is in
decimal, ie 
> >42, and can also be found in the manual. Your resulting SYSEX message 
> >needs to be in hexidecimal, ie F0 ..... F7.
> >
> >Here is a partial explaination of that binary string above. I am only 
> >going over the important parts as most of it will be a static hard
coded value.
> >
> >X
> >Ok, 0XXX XXXX represents the two bytes needed to convey what
parameter you 
> >are using - in this example we are using #42. If you use the
calculator 
> >provided by Windows, in scientific mode, 42 translates to '2A' in 
> >Hexidecimal. (or 0010 1010 in binary [notice the leading 0's, the
first 
> >one matches the template above, the second one was added because 42 in 
> >binary is only 6 characters long and two bytes is composed of 8 
> >characters, so the first is "given", the second is filler]).
> >
> >Y & Z
> >Now for the fun part. If I am not mistaken 0000 YYYY represents the
"least 
> >significant byte" (LS) of the Program Parameter VALUE. 0000 ZZZZ 
> >represents the "most significant byte" (MS) of the Program Parameter 
> >Value. Let's use 198 as our Program Parameter Value. The way it is
written 
> >in the sysex message is slightly backwards. For example the binary 
> >representation of 198 is "1100 0110" LS=0110 & MS=1100. To break that 
> >down MS=The byte containing "anything" over 15. LS=The byte that
contains 
> >15 and under. Broken down even further MS='1100'==192 (128 + 64) and 
> >LS='0110'== 6 (4 + 2) MS (192) + LS (6) = 198.
> >
> >So to put it together: 198 = '1100 0110' }--> MS=1100 LS=0110 }-->
0000 MS 
> >& 0000 LS }--> SYSEX LS MS == 0000 1100 0000 0110.
> >
> >Now to put our sysex message together translate your binary to
hexidecimal 
> >(two byte groupings)
> >
> >1111 0000 = F,0
> >0000 0001 = 0,1
> >0010 0000 = 2,0
> >0000 0001 = 0,1
> >0000 0001 = 0,1
> >0010 1010 = 2,A <<<<< Program Parameter for LFO Amount 1 = 42
> >0000 0110 = 0,6 <<<<< LS for 198 = 6
> >0000 1100 = 0,C <<<<< MS for 198 = 192
> >1111 0111 = F,7
> >
> >F0 01 20 01 01 2A 06 0C F7
> >
> >Anyway, I hope this made sense. I know it looks daunting, however one 
> >thing to keep in mind is typically the only value you ever have to 
> >calculate is the Program Parameter, like LFO 1 Amount. The LS and
MS are 
> >typically variables, so your editor will fill them in, you just
tell it 
> >where they reside in the SYSEX string.
> >
> >On my Novation Remote 25, it can only use values up to 127. So I
can not 
> >go all the way up to 200 for my LFO 1 Amount. And on top of that, I
can 
> >only have one variable in my SYSEX string. So I have to choose
whether I 
> >want to turn my MS or LS into a variable and then hard code the other.
> >
> >Here is what we are looking at:
> >LS can represent 0,1,2,3,4,5, 6,7,8,9,10, 11,12,13, 14, or 15
> >MS can represent 16,32,48,64, 80,96,112, 128,144,160, 176,192,208, 224,
or 240
> >
> >Since I can only use one variable and would have to hard code the
other, I 
> >would choose to hard code LS and turn MS into a variable so I can
have a 
> >wider range of control - so I could get any of the MS values plus
the hard 
> >coded LS. Since LFO 1 Amount only goes to 200 it makes no sense to
hard 
> >code the LS to anything other than 0-8, if I do, I will make my
control 
> >even LESS granular then it already is!
> >
> >So, on my novation, my SYSEX for LFO 1 Amount looks like:
> >f0 01 20 01 01 2a 0DV 00 f7.
> >0DV=variable= MS
> >00=hard coded=LS
> >
> >If you already knew this, then sorry for the long winded answer. If
you 
> >didn't I really hope you understood this. If you didn't then I will be 
> >glad to answer any additional questions. I hope I got it right myself!
> >
> >Now for my rant....
> >I'm going to complain to Novation, their controllers are VERY EASY to 
> >program, however they aren't very flexable with SYSEX messages!!!
> >
> >It also sux that Dave Smith didn't implement NRPN for their granular 
> >controls instead of SYSEX! HELLO DAVE, THAT IS WHAT NRPN IS THERE
FOR!!! 
> >YOU HELPED CREATE THE MIDI SPECIFICATION, SO WHY DIDN'T YOU USE NRPN!!
> >
> >Sorry Dave, I DO love your products though!
> >
> >-Jim
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.