If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Multi-stage Envelope doesn't retrigger
8 posts
• Page 1 of 1
Multi-stage Envelope doesn't retrigger
I'm using this fancy multi-stage envelope that I believe is included in one of the stock module packs.
Does anyone happen to know why the retrigger option isn't working? I'm running poly through it, works fine, but I can't get it to retrigger with new notes. I have the retrigger options in the MIDI to Poly set to true, and the retrigger option in the envelope module itself enabled, but nothing. I replaced it with one of the simpler ADSR modules just to test and they retrigger fine as long as the MIDI to Poly setting are enabled.
Thanks
Edit: forgot to mention I'm sending a poly signal limited to 1 voice.
Does anyone happen to know why the retrigger option isn't working? I'm running poly through it, works fine, but I can't get it to retrigger with new notes. I have the retrigger options in the MIDI to Poly set to true, and the retrigger option in the envelope module itself enabled, but nothing. I replaced it with one of the simpler ADSR modules just to test and they retrigger fine as long as the MIDI to Poly setting are enabled.
Thanks
Edit: forgot to mention I'm sending a poly signal limited to 1 voice.
- Perfect Human Interface
- Posts: 643
- Joined: Sun Mar 10, 2013 7:32 pm
Re: Multi-stage Envelope doesn't retrigger
did u open the Gate module inside it?
- djbrynte
- Posts: 613
- Joined: Mon Jun 22, 2009 10:51 am
Re: Multi-stage Envelope doesn't retrigger
I don't think there is a retrigger option in the envelope only gate this should be off unless you have something connected to it
- Xtinct
- Posts: 106
- Joined: Fri Feb 11, 2011 12:06 am
Re: Multi-stage Envelope doesn't retrigger
I have the exact same problem: No retrigger in any mode with the stock multi-env. It just sits at the Sustain level and ignores new notes until the existing note is released (MIDI set to 1 voice). The stock basic ADSR retriggers fine in the same schematic if I replace the Multi-env directly with the ADSR.
If I right click inside the module's GUI there is an option to retrigger or not. It looks like the code for the envelope is ignoring this setting. I've tried having Gate not set and set with a wired connection and still ignored.
I need this to work for a current project so, if any genius can sort this, I for one would be VERY pleased
Cheers
Spogg
If I right click inside the module's GUI there is an option to retrigger or not. It looks like the code for the envelope is ignoring this setting. I've tried having Gate not set and set with a wired connection and still ignored.
I need this to work for a current project so, if any genius can sort this, I for one would be VERY pleased
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Multi-stage Envelope doesn't retrigger
Please will some lovely, handsome and super-intelligent genius mend this for me?
I've made a simple test synth to demonstrate the fault and added a comment box to explain.
I have a project that is nearly finished, a morphing synth, and I will upload it soon if this can be solved.
I just know that someone out there can sort this...
Cheers
Spogg
EDIT: I've managed, after many hours, to fix this. Dead simple fix as is often the case when you find it. In the section manager there was a line
GateAcc = GateAcc | gate;
The GateAcc float was then reset to zero and never got changed so I changed it to
GateAcc = gate;
I couldn't see a use for the GateAcc float actually. Someone's going to explain it to me for sure though
I also deleted the contents of the strings for Retrigger On and Retrigger Off in the Right-click module, since they do nothing anyway. You can alter the retrigger possibility on the MIDI side so I don't think anything has been lost by the modification. The various right-click settings all seem to still work ok and it's not necessary to wire in the gate connection.
I'll upload the 2 fixed ones in another topic for anyone who comes late to the party.
I've made a simple test synth to demonstrate the fault and added a comment box to explain.
I have a project that is nearly finished, a morphing synth, and I will upload it soon if this can be solved.
I just know that someone out there can sort this...
Cheers
Spogg
EDIT: I've managed, after many hours, to fix this. Dead simple fix as is often the case when you find it. In the section manager there was a line
GateAcc = GateAcc | gate;
The GateAcc float was then reset to zero and never got changed so I changed it to
GateAcc = gate;
I couldn't see a use for the GateAcc float actually. Someone's going to explain it to me for sure though
I also deleted the contents of the strings for Retrigger On and Retrigger Off in the Right-click module, since they do nothing anyway. You can alter the retrigger possibility on the MIDI side so I don't think anything has been lost by the modification. The various right-click settings all seem to still work ok and it's not necessary to wire in the gate connection.
I'll upload the 2 fixed ones in another topic for anyone who comes late to the party.
- Attachments
-
- multi stage env -retrigger fixed.fsm
- Fixed! Also contains the original now fixed.
- (857.02 KiB) Downloaded 852 times
-
- multi env will not retrigger.fsm
- Demo of the problem...
- (605.8 KiB) Downloaded 824 times
Last edited by Spogg on Wed Jul 29, 2015 2:29 pm, edited 1 time in total.
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Multi-stage Envelope doesn't retrigger
I'm such a noob when it comes to dsp code, but from my coding knowledge, I dare to say that this multi-envelope is a work-in-progress that was never finished (some functionality isn't implemented, or only half-way through, for example "fast release").
If you select Retrigger from the popup menu, the boolean is sent only to the section player module. The dsp code in there uses it reversed in just one line of code:
Now this contributes nothing to getting out of a section and re-starting the envelope. The boolean RetrigOFF is false if you select Retrigger ON. RetriggOFF is or'ed with (section>0), which is true from the beginning of the attack section until finished.
The other module, Section Manager, stays in the sustain section until releaseOn is not 0. This last var is set by (basically) the gate input, and the gate input is triggered by the third module, Finish. And Finish checks its env input which is the standard env prim. This sends either 1, 3 or 4. 1 means on, 3 execute and 4 release. Finish sends true to the gate output if env sends 3, and false in all other cases. But finish is triggered only after the sustain phase (of course, it's a finsher).
The Section Manager is the root of the issue, I'm almost sure. But since my dsp code knowledge is so low, I don't really see an error in the code. It seems to just miss code (and an input) to get out of sustain and restart the envelope on retrigger. But that's up to the dsp gurus.
If you select Retrigger from the popup menu, the boolean is sent only to the section player module. The dsp code in there uses it reversed in just one line of code:
- Code: Select all
waveTemp = polarity - (section>0)|(RetrigOff)&(polarity - waveTemp);
Now this contributes nothing to getting out of a section and re-starting the envelope. The boolean RetrigOFF is false if you select Retrigger ON. RetriggOFF is or'ed with (section>0), which is true from the beginning of the attack section until finished.
The other module, Section Manager, stays in the sustain section until releaseOn is not 0. This last var is set by (basically) the gate input, and the gate input is triggered by the third module, Finish. And Finish checks its env input which is the standard env prim. This sends either 1, 3 or 4. 1 means on, 3 execute and 4 release. Finish sends true to the gate output if env sends 3, and false in all other cases. But finish is triggered only after the sustain phase (of course, it's a finsher).
The Section Manager is the root of the issue, I'm almost sure. But since my dsp code knowledge is so low, I don't really see an error in the code. It seems to just miss code (and an input) to get out of sustain and restart the envelope on retrigger. But that's up to the dsp gurus.
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Multi-stage Envelope doesn't retrigger
Hey tulamide, you are so good to look at this but I was writing the solution I found while you posted your ideas. See my post above.
The env is a complex beast, to say the least, but mine at least does what I wanted it to do now.
Once I've finished my Morphing synth I'll have a look at DX7 stuff. I still have some Lissajou stuff in mind but I need a change for a bit.
Cheers
Spogg
The env is a complex beast, to say the least, but mine at least does what I wanted it to do now.
Once I've finished my Morphing synth I'll have a look at DX7 stuff. I still have some Lissajou stuff in mind but I need a change for a bit.
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Multi-stage Envelope doesn't retrigger
Haha, good to see that it is solved. And I'm somehow proud to see that my assumption was right. It was the section manager *looking for a dancing emoticon*
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
8 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 56 guests