February 13, 2018 at 8:32 am #81881
I already have the panel in a working state, now it´s time to fix some minor issues.
1. I have no idea how to create “negative” values. I understand, that there is nothing in MIDI which could be a negative value, but I have some sysex formulas, which manage a range from -127 to 127, for example the LFO 1 amount.
My sysex string for this parameter is:
– F0 18 0C 01 03 61 40 LS MS F7.
and obviously only works with positive values:
Any idea how to fix this?
2. How can I receive preset data from Morpheus in such a way, that the synthesis parameters are correctly shown in my CTRLR panel?
For the moment I can create sounds from scratch, but without receiving preset data there is no comfortable way to adjust existing presets.
Thanks in advance for your help.
RogerFebruary 14, 2018 at 10:43 am #81886
there are a few ways how you can transmit negative values. You have to look in the sysex implementation chart of the Morpheus how emu did it. E.g. there is the “signed values” method. That means that the upper range is representing negative values. E.g. 0 to 63, positive values / 192 to 255, negative values (-1 to -63).
In Ctrlr displaying custom values is done with fixedSlider or with listBoxes. Look at my first post in this thread:February 14, 2018 at 1:39 pm #81887
I just figured it out (well, with some help from you and another program).
First of all, the FixedSlider is the perfect tool for that, thank you very much for the hint.
One question: Do you possess a Morpheus?
Here comes the explanation:
For negative values there is an offset of 16384.
Example: Pan PRIMARY VOICE (range from -7 to +7)
formula: F0 18 0C 01 03 54 41 LS MS F7 (from manual)
Turns out, that the MSB starts with negative values at 7E and will be wrapped to 00, once it arrives at full MSB. I just had to multiply 7E as MSB, then adding 120 (= -7 in Panning), and so on.
-7=16377 = LSB 121, MSB 7E
-6=16378 = LSB 122, MSB 7E
-5=16379 = LSB 123, MSB 7E
0=0 = LSB 00, MSB 00
1=1 = LSB 01, MSB 01 etc.
Thanks a lot for your help. I really appreciate it.
All the best.
February 14, 2018 at 11:02 pm #81900
- This reply was modified 1 week ago by firstname.lastname@example.org.
yes this is the method filling the range from the top with negative values. I forgot, it is called “signed magnitude representation”. You can look at the most significant bytes (upper MSB) like being the -/+ signs. If they are 1 this means -, 0 means +. Btw Wiki shows some other methods:
No, I don’t own a Morpheus.February 16, 2018 at 4:08 pm #81926
yes that sounds familiar: i have an emu orbit v1,
and i think it does the same thing.
You must be logged in to reply to this topic.