From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Zyxoas ·
Okay, I've been going nuts trying to figure this out. How does one manipulate the attack and release phases of audio input?
Naturally, you would use envelope followers in some way, but how?
Today, I accidentally found the following: http://lists.puredata.info/pipermail/pd ... 22326.html I do have Puredata, but it doesn't seem to work too well and I don't understand all the components (and it's really annoying to work with!). The schematic shows parallel attack and release processors, with each processor containing two envelope followers with different parameters. But I just can't see how everything comes together.
I imagine that, like compressors and de-essers, transient shapers have a mundane structure that's well-known, though I have still to find a clear description.
Any help, guys and gals?
Zyxoas ·
No takers yet?
As a reminder, here's what a transient shaper does:
There are four basic parameters, attack time, attack gain, release time, and release gain. The attack and release stages are handled independently. The length of the attack stage is set by the attack time parameter, and while the audio is in this phase it's volume gets multiplied by the attack gain (which can be either above or below 0dB), and the same is true for the release phase.
The effect is most useful on drums, especially live drums. It can be used for controlling the presence of a drum by adjusting the attack phase, and to control the room ambience by messing around with the release phase. It's also great for guitar, messing around with the decay/pick/pickup.
Disco_Steve ·
this is off the top of my head but I tthink it should work
a synth envelope used to put an envelope on sines etc, starts on a triger. (green data)
so 'all' you need to do is have a long ish rms, and a short rms (bufferd correctly so there is no group delay).
when the short rms exceds the long rms by amount X send a triger to a (stream blue data) elveope module that you or someone else has made. and insted of multiplying a sine with the gain envelope, mutiply it with the buffered input signal whala, enveloper 🙂
hope that helps
steve
Andrew J ·
I've built one, but forgive me for not sharing the details because I still have a vague hope of my work being worth something to me! Suffice to say, you seem to be on the right track.
Zyxoas ·
@Disco_Steve:
Sorry, but that hardly makes any sense to me. Care to elaborate?
@Andrew J:
Hey. Just because it's open source doesn't mean you can't make any money from it! Knowing how something works and actually building it are two different things. Care to give me a little hint?
One major problem I see with the envelope follower is that setting the attack to anything higher than 0 decreases the overall volume of the envelope produced. So, having two parallel envelope followers -- one with very low coefficients, and the other with low release but adjustable attack -- will result in the envelope follower with high attack being consistently lower in volume than the the other one. This would complicate comparing the two envelopes which, I believe, is the key to how a transient shaper works.
Though setting the release high does not result in similar problems of level differences, a problem that arises is that having an envelope follower with very low attack and release produces a somewhat chaotic envelope (as anyone who's experienced with compressors and limiters knows). I guess I could solve this by having a slightly longer default release time...
The release shaper seems much easier to do.
Andrew J ·
Zyxoas wrote: This would complicate comparing the two envelopes which, I believe, is the key to how a transient shaper works.
What's a simple way to compare two numbers? Try division, but watch out for a denominator of zero.
Zyxoas ·
Hey Andrew, division is exactly what I've been thinking of. I haven't tried it yet as I'm busy with other stuff -- such as making myself employable...
I was just saying that the attack stage would result in a permanent level difference which, once you divide, would result in a permanent level boost. Still thinking about it...
I just remembered that I also have the source for MDA Transient. It's hard to decode, just like every other MDA plugin's source (even the seemingly very simple ones). If I recall correctly he said somewhere that he wasn't a very good programmer, and started the project simply to test out a few electrical engineering theories. Right...
bootsy ·
the basics are explained here:
http://www.soundperformancelab.com/index.php?id=177&L=1
Zyxoas ·
Holy crap! Actual diagrams?!? 😮
I've just completed a very naïve porting of the MDA Transient plugin to SynthMaker in FL Studio (no, I didn't do it in 2 hours; I had abandoned the project a few weeks ago). I have no idea what the VST version sounds like (it's not part of the binary MDA VST distribution and I'm having difficulty compiling the source), but the SynthMaker port I've created from the source has a filter and attack control which sound too subtle, and the release control doesn't seem to work properly. I guess I might have made a mistake, or I've discovered why MDA never released the plugin...
I'll analyse those diagrams. I'll also scrutinise my port to see if I made any mistakes, or maybe even give it to someone here to upload on the forum.
Zyxoas ·
Ah. No diagrams. That just says what I already figured out yesterday.
And my concern still stands that an envelope with high attack is absolutely lower in volume than one with a low attack. I guess I could compare the gradients? Hmm, maybe that's why they call it DIFFERENTIAL Envelope Technology?
For example, imagine a sound that has a quick transient at 0dB, holds this value for a few milliseconds, then decays to zero. An envelope follower with zero attack and low release (but not too low) will follow the sound's level almost exactly. On the other hand, passing it through an envelope follower with a higher attack, will cause the envelope to rise slowly in the attack phase, then when the sound suddenly switches to decay it will decay, but it wouldn't have reached the level of the input sound (it would've been slowly approaching it during the attack phase, then decay at almost the same gradient as the envelope follower with 0 attack).
Andrew J ·
Zyxoas wrote: I was just saying that the attack stage would result in a permanent level difference which, once you divide, would result in a permanent level boost. Still thinking about it...
Thinking is good. Sometimes experimenting then thinking is even better! Just have a play with it for a bit. If you're still stuck, then pm me.
bootsy ·
Zyxoas wrote: Ah. No diagrams. That just says what I already figured out yesterday.
Of course there are, just have a closer look, it's all there.
Wrote something here? To have a post removed or your name hidden, write to [email protected].