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] cakewalk INS files?

2006-06-09 by Trevor

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.