Jump to content

ADSR SysEx [SOLVED]


Dhayv
 Share

Recommended Posts

Hello all,

For the past week or so, I've been trying to learn my way around SysEx for the purpose of setting up a Behringer BCR2000 to program the sammichSID. After much trial and error, I have had some success, but I have hit a wall with the Voice Envelope ADSR.

Since Attack/Decay and Sustain/Release each share a respective address, I can't sort out how to control them independently without issue.

Currently, I am using the BC Manager software (https://mountainutilities.eu/bcmanager) with the help of the SID Ctrlr panel to send the following data (for OSC 1 L/R):

Attack: $F0 $00 $00 $7E $4B $00 $06 $01 $00 $62 val4.7 val $F7

Decay: $F0 $00 $00 $7E $4B $00 $06 $01 $00 $62 val0.3 val $F7

*Edit* - I am sending a value range of 0-15 for each.

This gets me part way there, but I am unable to have independent control over them. If I move the encoder I've assigned to Attack, it will affect the Decay value as well.

Here is the relevant part of the SysEx implementation (https://github.com/midibox/mios8/blob/master/apps/synthesizers/midibox_sid_v2/doc/mbsidv2_sysex_implementation.txt) Line 354:

0x062 | [7:4] DCA Attack Rate

| [3:0] DCA Decay Rate

I'm sure I'm missing something simple. Hopefully this makes sense to someone! :)

Thank you for reading, and any help is greatly appreciated.

Dhayv

PS - side question: in the hex above, what does the $06 $01 $00 represent? I have noticed it is included in almost every parameter I have come across so far.

Edited by Dhayv
Solved
Link to comment
Share on other sites

Hi Dhayv,

unfortunately there is no way to change these parameters via SysEx independent from each over. In the Ctrlr Panel I solved this with some LUA scripting, but with generic MIDI controllers this will be difficult (resp. impossible).

However, you could control it via NRPN instead, see: https://github.com/midibox/mios8/blob/master/apps/synthesizers/midibox_sid_v2/doc/mbsidv2_parameter_chart.txt

To the hex numbers:

$06 stands for "Direct Write of Parameter into Patch Buffer"

$01 is the WOPT, explanation in the sysex doc

$00 is the upper part of the parameter address

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks for replying, Thorsten!

 If I’m understanding the manual correctly, NRPN (along with CCs) are non-destructive and won’t allow me to save any modifications (as a new patch, for instance). Is this correct?

 If so, does that mean the only way to “destructively” modify ADSR parameters (and those with similar limitations) interdependently would be via the sammichSID itself, or the Ctrlr panel?

Thanks again for the help!

Dhayv

RE: the hex numbers, that makes sense and clears some things up for me. Thank you!!

Edited by Dhayv
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

Loading...
 Share

×
×
  • Create New...