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-08 by Richard

wow!
now i know for sure I'll never do any sysex programming! :)
Richard
----- Original Message -----
From: Carbon111
Sent: Thursday, June 08, 2006 5:12 PM
Subject: Re: [Evolver] cakewalk INS files?

Paragraphs and line breaks are your friends ;)
Best Regards, James

>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. XOk, 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 & ZNow 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,00000 0001 = 0,10010 0000 = 2,00000 0001 = 0,10000 0001 = 0,10010 1010 = 2,A <<<<< Program Parameter for LFO Amount 1 = 420000 0110 = 0,6 <<<<< LS for 198 = 60000 1100 = 0,C <<<<< MS for 198 = 1921111 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 ...........................................................................................................................................................................................

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.