From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Rellik ·
I've been thinking of trying to create a tempo-synced multi-point envelope, and I think I know how to do it - but not with SynthMaker :P.
I figure every Node should have a pointer to the next Node. You can have as many Nodes as you want. The Node has a function to interpolate along the curved line to the next Node, given sample-rate data as input (perhaps a trigger every sample). When the interpolation from one Node to the next Node reaches its end, the next Node becomes the current node. And when it reaches the end, the next Node of the last Node is the beginning Node, starting over the envelope.
The Nodes are represented graphically by draggable circles which have a certain amount of snap-to-grid, and the connections between the nodes are portrayed by lines between the Nodes. In the center of each line is a smaller circle, which controls the curving of the line.
The output of this module (which contains the grid, the nodes upon it, and the options) is the value output by the Node (the interpolation along the exponential/logarithmic curve between the points.)
And that's how I would do it - if I were using C, C++, or Java. But how would I make something like this in SynthMaker? It might be possible with the graphical components, but I would have no idea how. It would be easier to do with a Graphics Code block of some sort... hm
unkargherth ·
Rellik wrote: I've been thinking of trying to create a tempo-synced multi-point envelope
You, and th rest of us too 🙂
Rellik wrote: , and I think I know how to do it - but not with SynthMaker :P.
I figure every Node should have a pointer to the next Node. You can have as many Nodes as you want. The Node has a function to interpolate along the curved line to the next Node, given sample-rate data as input (perhaps a trigger every sample). When the interpolation from one Node to the next Node reaches its end, the next Node becomes the current node. And when it reaches the end, the next Node of the last Node is the beginning Node, starting over the envelope.
The Nodes are represented graphically by draggable circles which have a certain amount of snap-to-grid, and the connections between the nodes are portrayed by lines between the Nodes. In the center of each line is a smaller circle, which controls the curving of the line.
The output of this module (which contains the grid, the nodes upon it, and the options) is the value output by the Node (the interpolation along the exponential/logarithmic curve between the points.)
And that's how I would do it - if I were using C, C++, or Java. But how would I make something like this in SynthMaker? It might be possible with the graphical components, but I would have no idea how. It would be easier to do with a Graphics Code block of some sort... hm
Well The graphical part it's posibly doable (althought not tried), There has been at least two people that posted graphical ADSR thingies(check examples forum, the sticky message).
The bad news is that, until we get some kind of note management ( or advanced MIDID2poly ) we have no way to trigger the adsr's nor a way to create "Release states" (decay states once note is off)
Rellik ·
Why can't you trigger the ADSR/release state?
Could you just have a Sine wave or something trigger with the note on, and run it through an ADSR, and run that into a code component that gives RMS value - and then you'll trigger the ON when the RMS value is at where it should be, and you'll trigger RELEASE when the RMS value is between 0 and the high value and decreasing.
Say,
Trigger ON when {RMS = 1} (or whatever number)
Trigger RELEASE when {RMS > 0, RMS < 1, dRMS/dt < 0}
wouldn't that work for triggering?
Wrote something here? To have a post removed or your name hidden, write to [email protected].