Avatar

Please consider registering
Guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed sp_TopicIcon
2 ADSR envelopes in Minisynth ?
No permission to create posts
November 1, 2016
5:43 pm
Avatar
Gwen
Member
Members
Forum Posts: 32
Member Since:
November 1, 2016
sp_UserOfflineSmall Offline

Hello !

i actually study the minisynth project who's really nice. But this project has only 1 ADSR envelopes for all (pitched osc, filter & DCA)

i saw that the Minisynth has already the possibility to have 4 ADSR envelopes.

So i added a second attack, sustain, decay , release section (DCA Amp ADSR) in the minisynth.cpp by adding the lines:

"// --- EG2:
m_GlobalSynthParams.eg2Params.dAttackTime_mSec = m_dAttackTime2_mSec;
m_GlobalSynthParams.eg2Params.dDecayTime_mSec = m_dDecayReleaseTime2_mSec;
etc. ..."

in the minisynthvoice.cpp, added the lines:

"// 2) --- set any component specific stuff
m_EG2.setEGMode(analog);
m_EG2.m_bOutputEG = true; // our DCA EG"

adding GUI ADSR2 implementation. ADSR 1 : actual envelope, ADSR 2: DCA envelope.

But there is a problem. The 1rst and second ADSR go in conflict with the first. If the second ADSR (the filter ADSR) is all set to zero, the first ADSR work.

i think the problem is in the voice.h, here:
"inline virtual bool isActiveVoice()
{
if(m_bNoteOn && m_EG1.isActive())
return true;

return false;
}

// we are in a state to accept a noteOff message
// WILL need to override this for FM Instrument or any parallel-osc algorithm with multiple output amp EGs
inline virtual bool canNoteOff()
{
if(m_bNoteOn && m_EG1.canNoteOff())
return true;

return false;
}"

i tried to add the EG2 in it, but always the same problem.
what am i doing wrong ?

Gwen.

November 4, 2016
3:36 am
Avatar
Hungryman93
Member
Members
Forum Posts: 11
Member Since:
January 29, 2016
sp_UserOfflineSmall Offline

Hi Gwen,

First off, welcome to the forum and nice to see you are interested in the RackAFX software.

Just so I've got an idea, you are trying to create a new envelope to control an individual part of the synth, right?

Currently minisynth uses one EG for all the aspects so you'll want to unlink EG1 from the other components that you don't want it to control then you can assign your new EG2 to what you want then it should work independently from EG1 which is your current problem of conflict.

But I don't want to detail it too much in case this isn't what you wanted to do.

November 5, 2016
12:50 am
Avatar
Gwen
Member
Members
Forum Posts: 32
Member Since:
November 1, 2016
sp_UserOfflineSmall Offline

hello Hungryman 93 !
thanks for reply ­čÖé
yes my goal was to create a VCA/DCA ADSR EG. So like you wrote: disconnect DCA to EG1 (and all function like filter, osc, etc. ... directly bridged beetween EG1 and DCA output.

and that's DONE ! ­čśÇ
i forgot changing some "lines" in the voices (voice & minisynthvoice .cpp & .h) sections. Now EG1 is ADSR for osc, filter & LFO. EG2 is adsr for DCA.

So now i have a 4 piched osc + sub osc +noise osc, SVF SEM filter, 2 ADSR EG (VCF/DCF & VCA/DCA)

http://img15.hostingpics.net/pics/943743polysynth.jpgImage Enlarger

November 5, 2016
2:42 am
Avatar
Hungryman93
Member
Members
Forum Posts: 11
Member Since:
January 29, 2016
sp_UserOfflineSmall Offline

Yes, that was what I was going to suggest to do next if you were still stumped.

As I was looking over the code for mini synth, not everything is just contained in the mini synth cpp although it would be possible to override the standard source and destination points using the mod matrix, as you did you can also edit them directly in the voice and minisynthvoice sections.

Well done, looks great from your pic!

Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online:
5 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 47

Peter: 41

Derek: 41

clau_ste: 39

Frodson: 38

Gwen: 32

EZB: 24

lppier: 23

Msalda├▒a: 18

Jorge: 17

Member Stats:

Guest Posters: 1

Members: 476

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 482

Posts: 1876

Newest Members:

sam, annaharris, Marie Weaver, kev, Steven, Mr Anderson, mguy, omelc

Moderators: W Pirkle: 143

Administrators: Tom: 65, JD Young: 80, Will Pirkle: 0, W Pirkle: 143