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 Richard

I would add to this thread that I did plead with Dave before he upgraded the OS to institute programmable CCs like those on the Alesis Andromeda or eventide eclipse - you have say ten controllers and you can choose them and do what you want with them: for example it could have opened the eveolver up to be the only fully fledged analog windsynth on the market. with programmable CCs in combination with NRPN you can really do anything and there is always an easy or more complex route.
the current static CC method is next to useless for me as there is not even any offset controls - and sysex, well, I do have a life....
I think dave dropped the ball on this one
Richard
----- Original Message -----
Sent: Thursday, June 08, 2006 8:10 PM
Subject: Re: [Evolver] cakewalk INS files?

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.