Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Envelope Self Modulation #1613

Closed
baconpaul opened this issue Mar 5, 2020 · 3 comments
Closed

Envelope Self Modulation #1613

baconpaul opened this issue Mar 5, 2020 · 3 comments
Labels
Feature Request New feature request Modulation Modulation related issues Won't Be Done Issues we decided not to fix/implement, with good reasons behind. We'd welcome pull requests though!

Comments

@baconpaul
Copy link
Collaborator

ampeg can't modulate ampeg attack (or filteg attack for that matter) because of ModulationSource.h / canModulateModulators

So what bad thing happens if we lift that restriction? And how do we compensate for that thing?

Raised by slack user 'stamp'

@mkruselj mkruselj added the Modulation Modulation related issues label Apr 11, 2020
@baconpaul baconpaul added this to the Currently Unscheduled milestone May 9, 2020
@mkruselj mkruselj added the Feature Request New feature request label Aug 22, 2020
@mkruselj
Copy link
Collaborator

mkruselj commented Apr 19, 2021

@baconpaul I tested out lifting that restriction. Nothing terribly bad happens, but it doesn't seem to work properly either. So if I self-modulate filter EG attack with filter EG (digital mode for env, all stages linear), I don't hear any added curving in the envelope shapes, just the duration of the stage becomes longer or shorter depending on modulation amount.

The intention behind this FR is to be able to change the shape of the envelope curvature, and this is how it was done in Access Virus for example (through self-modulation). However, we don't need to do it like that, at all. The proper solution for this request is making attack/decay/release curve 3-position switches actual continuous controls that would reshape the curvature with more granularity (say, up to 10th power and 1/10th power in the other direction). Of course, this would make things a bit more CPU expensive, since we'd need to resort to using pow() rather than simple multiplication that is done currently, but the benefit is we could have finer-grained curvatures (there's a world of difference between linear phase and quadratic phase * phase in ADSREnvelope.h).

@mkruselj
Copy link
Collaborator

mkruselj commented Sep 13, 2021

@baconpaul I think this is a "won't be done".

After some thinking I'm kinda not a fan of the solution proposed above (due to increase in CPU usage that would be incurred). I'd rather leave this sort of thing to MSEGs. So, fair to close by applying "Won't be Done" label?

@baconpaul
Copy link
Collaborator Author

yeah with mseg and (especially) with formula you can do literally what you want. agree.

@mkruselj mkruselj removed this from the Currently Unscheduled milestone Sep 13, 2021
@mkruselj mkruselj added the Won't Be Done Issues we decided not to fix/implement, with good reasons behind. We'd welcome pull requests though! label Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature request Modulation Modulation related issues Won't Be Done Issues we decided not to fix/implement, with good reasons behind. We'd welcome pull requests though!
Projects
None yet
Development

No branches or pull requests

2 participants