Jump to content

SysEx range other than 0-127


Pietr

Recommended Posts

Hi!

 

I have a DSI Evolver (desktop) synth that I would like to be able to control from Logic. I've made it to the point where I can record notes and so on without any problems.

My problems start when I want to automate the Evolver's parameters from Logic.

Since the synth sends and recieves SysEx data I've created a SysEx fader in the environment that sends values to the synth. The connection is sort of working as the parameters on the synth are changing. However as I slowly move my fader back and forth between 0-127 the parameter on my synth jumps between different values and the top and bottom values are not even the same each time. This parameter (filter cutoff) has a range of 0-164 which, I guess, complicates things a bit. I thought about and tried using a transformer to translate 0-127 to 0-164 but without success. I don't have that much experience with the transformer object yet..

 

Any ideas on how to solve this?

 

My MIDI setup is: Logic->MIDISport 2x2 OutA->Evolver->MIDISport 2x2 InA-Logic

Link to comment
Share on other sites

It would be much easier all around if you used CC's to control sound parameters. See the MIDI implementation in the manual to find out which parameters can be controlled by CC's. Suggest you use CC's where you can, because it will always be the easiest approach.

 

For those parameters which can only be manipulated by sysex (or for which you want or need to manipulate via sysex), you can't ever have a value higher than 127 for any data byte in a sysex message (for any device). And it's for that very reason that transformers won't allow you to generate values higher than 127 for any data byte. Background: in MIDI, only status bytes can have a value of 128 - 255. So parameters that have a range of values exceeding 127 cannot be transmitted as a literal value. When this is the case, the value has to be nibblized (broken down into two 4-bit words). On page 47 of the Evolver manual you'll see the sysex format that requires two nibbles for parameter values.

 

BTW, you'll need to nibblize parameter data values for Evolver sound parameters even when the value of the parameter is within the 0 - 127 range. In other words, you have to fulfill the values for both nibbles required by the parameter sysex string, even if one of them ends up being set to zero.

Link to comment
Share on other sites

OK, I will try the CC's method instead and see if it solves the issue of automation from Logic to the synth.

 

But how about if I want to record and edit automation in Logic as I tweak away on the synth? Maybe this should have its own thread..

I'm pretty sure the Evolver sends its parameter data as SysEx only.

 

You write about "nibblizing parameter data values".. any idea of where i can find info on how to do this?

Hopefully I won't need to do this since most parameters can be manipulated using CC's.

 

Thanks a lot for your answer!

Edited by Pietr
Link to comment
Share on other sites

If the synth has a tricky sysex implementation, recording the parameter changes isn't difficult, but editing them in Logic might be.

 

Sysex isn't designed to be easily edited in a DAW/sequencer, which is why manufacturers started implenenting CC parameter control.

 

The manual of your instrument should contain all the info about it's sysex format that you need, but if you are unaccustomed to working out sysex formats then you might find it tricky at first. Every manufacturer and device may do it differently, and there are some *weird* formats out there, particularly for instruments back in the 80s and 90s.

Link to comment
Share on other sites

You're welcome!

 

If the Evolver only sends parameter data as Sysex then realistically I don't think you will be able to edit the data in any easy way. I'd be very surprised if DSI didn't provide a method for tweaking the synth and sending out CC's for those controls, but you will know better because you own the synth; I'm only looking at the MIDI charts in the manual.

 

Taking an 8-bit word and turning it into two 4-bit nibbles should be as easy as splitting out the high and low bits and then converting to decimal. For example, a decimal value of 64 (01000000 in binary) would be nibblized into two 4-bit nibbles:

 

0100 & 0000

 

Thus...

 

MSN = 0100 = 4 (decimal)

LSN = 0000 = 0 (decimal)

 

In the documentation, the LSN goes in the first value, the MSN in the second. From the manual:

 

0000 vvvv Parameter value, LS Nibble

0000 vvvv Parameter value, MS Nibble

 

So in a case where your parameter value had to be higher than 127, such as 164 (per your first post)...

 

164 (decimal) = 10100100 (binary)

 

MSN 1010 = 10 decimal

LSN 0100 = 04 decimal

 

Hope that helps.

 

Cheers,

 

Ski

Edited by ski
Link to comment
Share on other sites

I think I could come a long way using only CC's. And in cases where I need SysEx I guess I could just record automation manualy from the synth and re-record it if I need to "edit" something..

 

I think I understand the principle of nibblizing values and i recognize the MSN and LSN terms from the manual.

 

How and where would this principle be implemented in Logic?

Link to comment
Share on other sites

Hi Pietr,

 

I do not own this device but my curiosity was quite enough to do a search for the manual and see if the device receives CC. I got two documentation manuals (Evolver Operation Manual & the Evolver Keyboard Operation) Manual from this link : http://www.davesmithinstruments.com/support/evolver_downloads.php

 

In page 44 I found out "Additional received CCs:". According to that table it seems that CC#52 controls the "Low Pass Filter Frequency" etc. If that works you can easily control your synth by CC# drawing using the Hyper Draw directly in the Arrange, crating a Hyper Set (with parameter names) in the Hyper Edit or creating an Editor with knobs, faders etc in the Environment.

 

How and where would this principle be implemented in Logic?

 

To my opinion using a transformer set to "Sys Mapper" Mode template. We have a long comment about the broken sysex faders (inc. Sys Mapper transformer) checksums in Logic 8 and 9 some time ago. I show a simple example workaround (in the link below) how to use the Sys Mapper Transformer. There is a download template so you can get it from that link:

http://www.logicprohelp.com/forum/viewtopic.php?p=374995#p374995

 

Regards

Edited by Audiogrocery
Link to comment
Share on other sites

.......In page 44 I found out "Additional received CCs:.......

 

This is precisely the kind of information I was referring to in one of my previous posts. Pietr, you can do as Scandor suggested -- drawing in various CC's in the hyperdraw display or by using a hyper set. But if my feeling is correct, I think you'd find it to be more intuitive to use hardware to change synth parameters. So...

 

Suggest the first thing you check is whether or not the Evolver is capable of generating CC's from its controls. From what I read in the MIDI documentation it doesn't seem possible, but it doesn't hurt to experiment and prove the point one way or the other... There are several MIDI transmit modes in the Evolver and maybe -- just maybe -- one of them will enable the output of CC's. If you can find a mode that outputs CC's then you're in luck.

 

Otherwise, if you have another hardware controller that outputs CC's you can use its controls to manipulate the Evolver's parameters and record that same CC data in Logic. And if necessary, there are ways you can use the Environment to map its CC's to the Evolver's CC response.

 

If all else fails, I might be seeing Dave Smith next week so I'll ask him about the situation. Meanwhile, if you decide to experiment, please post back and let us know your results!

 

Cheers,

 

Ski

Link to comment
Share on other sites

Pietr,

 

Could you provide at least two Sys messages say for the Filter Cutoff & Resonance. Create a new Logic song, create a new track, hit record and slowly tweak (full range) the Cutoff parameter of your external synth. Stop the recording (a new region must be recorded with the Cutoff Sys messages). Name that region Sys Cutoff. Move the playhead a few bards forward and record another region tweaking the Reso parameter (name it Reso). Zip that song and provide it as attachment here. I'd like to do some experiments...

Regards

Link to comment
Share on other sites

Scandor, I have the manual and I've read most of it quite thoroughly, although the part with System Exclusive messages isn't exactly crystal clear since I'm pretty far from a MIDI expert (yet..).

Thanks for making me notice the part with "Additional received cc's". I believe I've read earlier about the Evolver and SysEx and must have been made to believe it could ONLY handle SysEx, which obviously isn't the case here. But I'm pretty sure it can only transmit SysEx, none of the "MIDI Xmit"-modes will generate cc's as far as I (and Logic) can tell.

 

Ski is right I'd much rather use knobs than a mouse!

I just tried programming my Axiom USB MIDI-controller to send the correct cc values to logic from where they are sent to the Evolver. I recorded the automation and displayed it in the hyper editor. And it worked just fine!

I haven't tried doing it through the environment and I probably won't unless I need to, but I will keep it in mind.

I will check out the broken sysex faders-topic also!

 

Scandor, I did as you wrote and attached the zipped project-file. I'm guessing you will inform us if you find out something interesting.

 

 

I would like to point out that I've only recently started using Logic. I got it in order to be able to have as much control over my first couple of hardware synths as possible. So I'm learning both Logic and MIDI here.

I may not understand all of the procedures you're describing so I might be asking questions that seem pretty basic compared to what we're discussing here. I will search the forums and other resources first though in order to keep this thread in order.

 

Thank you both very much for sharing your knowledge!

Evolver_SysEx-test.zip

Link to comment
Share on other sites

  • 2 years later...

I automate the Evolver via CC, in Logic, all day long. In fact, the Evolver has the most excellent Control Change options on any synth I've ever used. You can do SO much with it, and really create complex evolving patches, hence the name.

 

I prefer not to use hyper draw though. There are many ways to do this in Logic as with most things. Try out a few and see what works best for you.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...