synthmata / synthmata.github.io

GNU General Public License v3.0
30 stars 13 forks source link

Better EG display #6

Open dronus opened 4 years ago

dronus commented 4 years ago

The EG curves generated by DX7 or plugin clones are quite complicated in their behaviour. The simple line displays doesn't take into accout the different formulas for attack and decay, the won't mark well what happens if the key is hold different times and live in different timescales, so the interaction of the operators is hard to guess.

Some ideas: -All operators curves could be plot to a single window, or one beneath the other, sharing a common timescale. This way the interaction of operators would become more clear. -The EG curves mostly behave exponential in their effect, so we can keep most straight lines if we understand them as logarithmic plots. However, slow parts of envelope may show linear behaviour it seems, so it have to be shown as logharithmic curve, and even small jumps are possible. See https://github.com/google/music-synthesizer-for-android/blob/master/wiki/Dx7Envelope.wiki for some elobarations about the EG algorithm.

pbpraha commented 4 years ago

Hi Dronus, You might like to check out my fork, i have it hosted here : https://pbpraha.github.io/ There's definitely still something wonky with the graphs though ;)

synthmata commented 4 years ago

So, one issue with having everything to a single scale (and the reason that I don't do it and instead render a "multiplier" on top of the envelope to suggest the scale) is that at the longest and shortest extremes you can't see the fast envelopes - at most sensible sizes they go sub pixel.

From a sound design perspective, that's really a common circumstance (adding a percussive element to a longer sound as an example).

So I'm not sure the "one scale to rule them all" approach is practical?

I'll take into consideration the exponential element, but I think even without it, the linear plots still signpost the shape well enough do they not?