Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
please help!- scaling half-cycle transients above a given thresh to a given limit
fir
KVRer
- profile
- pm
- e-mail
PostPosted: Sat May 26, 2012 6:33 pm reply with quote
I was wondering if anyone knows of a vst plugin that functions the same as this:
http://tap-plugins.sourceforge.net/ladspa/limiter.html

Note, that this plugin is not really a limiter (its more of just a title). I am not after any type of normal compressor or limiter.

This plugin looks ahead to analyze half-cycles (from zero-cross to zero-cross)and are individually scaled down to the limit level (only those that have peaks above the limit, of course).

Please read the info from the link above, and any info on a vst plugin like this would be great.

or if anyone has the ability to take the source code (it is open source), and make a vst version of this ladspa plug, that would be most excellent. Cool
Thanks
^ Joined: 26 May 2012  Member: #281127  Location: Los Angeles
camsr
KVRAF
- profile
- pm
PostPosted: Sat May 26, 2012 9:44 pm reply with quote
Something like that would create a good amount of subsonic rumble, if not flat DC. But I suppose if it is highpass filtered afterwards it would be fine. It would most likely also generate large spikes in the high frequency area. IOW it must sound really brash.

I think you can make something like this using SynthEdit, the modular VST creator. Check it out.
----
^ Joined: 16 Feb 2005  Member: #58183  
Tale
KVRist
- profile
- pm
- www
PostPosted: Sun May 27, 2012 1:00 am reply with quote
I don't know of any VST, but there is a JS effect (LOSER/ZeroCrossingMaximizer) included with REAPER that I think does just that.
----
Martinic Combo Model V & F
^ Joined: 12 Apr 2010  Member: #229644  Location: Lowlands of Holland
fir
KVRer
- profile
- pm
- e-mail
PostPosted: Sat Jun 02, 2012 8:10 am reply with quote
camsr wrote:
Something like that would create a good amount of subsonic rumble, if not flat DC. But I suppose if it is highpass filtered afterwards it would be fine. It would most likely also generate large spikes in the high frequency area. IOW it must sound really brash.

I think you can make something like this using SynthEdit, the modular VST creator. Check it out.


Thanks for the reply camsr. Why would it create flat DC/subsonic rumble?
did you happen to look at the "before" and "after" waveforms here?

This plugin claims to be able to do 7db reduction transparently, but thats not what my intention is. I was thinking of actually using this as the first step in my signal chain on possibly a fingerpicking acoustic guitar or a snare, and using it very mildly (maybe 2db reduction at most)... this way since it only scales the most intensive half-cycle transients, by a little bit. It keeps the peaks away from the "bulk of the audio" (rms), and also keeps the peaks of the waveform perfectly intact (just scaled to a lower amplitude), after this would be eq and compression etc. I feel if used mildly, a scaling limiter like this would actually be very transparent and would allow one to compress a little less later, thus leading to the most unobtrusive way of maintaining overall dynamics while increasing volume.

As to never using anything like this, I could easily be wrong, so let me know!
Cheers.
^ Joined: 26 May 2012  Member: #281127  Location: Los Angeles
fir
KVRer
- profile
- pm
- e-mail
PostPosted: Sat Jun 02, 2012 8:12 am reply with quote
Tale wrote:
I don't know of any VST, but there is a JS effect (LOSER/ZeroCrossingMaximizer) included with REAPER that I think does just that.

Thanks for the reponse, have you tried this js effect? what are your opinions if so?
^ Joined: 26 May 2012  Member: #281127  Location: Los Angeles
fir
KVRer
- profile
- pm
- e-mail
PostPosted: Sat Jun 02, 2012 8:14 am reply with quote
camsr wrote:
Something like that would create a good amount of subsonic rumble, if not flat DC. But I suppose if it is highpass filtered afterwards it would be fine. It would most likely also generate large spikes in the high frequency area. IOW it must sound really brash.

I think you can make something like this using SynthEdit, the modular VST creator. Check it out.


sorry here's the link to the before and after waveforms. Thanks for the help.
http://tap-plugins.sourceforge.net/ladspa/limiter.html
^ Joined: 26 May 2012  Member: #281127  Location: Los Angeles
camsr
KVRAF
- profile
- pm
PostPosted: Sat Jun 02, 2012 1:25 pm reply with quote
It creates subsonic rumble because the area underneath the waveform is no longer symmetric. Also, given some material that peaks highly in one polarity but has no DC offset, will be given DC offset by this algorithm. This is separate of the peak value, because it's the integral of the waveform that matters here. The value of the integral of the waveform will be symmetric when there is no DC offset present.

Your idea for gently limiting the guitar should work okay. But without a windowing function, it would result in discontinuities at the zero crossings, adding harmonics, and aliasing might result. So, recording at a high sample rate and processing at the same rate is advised. Then you should downsample to your mix rate. I hope this helps. Smile

http://en.wikipedia.org/wiki/Integral
----
^ Joined: 16 Feb 2005  Member: #58183  
fir
KVRer
- profile
- pm
- e-mail
PostPosted: Sun Jun 03, 2012 12:50 am reply with quote
camsr wrote:
It creates subsonic rumble because the area underneath the waveform is no longer symmetric. Also, given some material that peaks highly in one polarity but has no DC offset, will be given DC offset by this algorithm. This is separate of the peak value, because it's the integral of the waveform that matters here. The value of the integral of the waveform will be symmetric when there is no DC offset present.

Your idea for gently limiting the guitar should work okay. But without a windowing function, it would result in discontinuities at the zero crossings, adding harmonics, and aliasing might result. So, recording at a high sample rate and processing at the same rate is advised. Then you should downsample to your mix rate. I hope this helps. Smile

http://en.wikipedia.org/wiki/Integral


Ah gotchya, makes perfect sense. I know calculus, but am just beginning teaching myself dsp. All help is much appreciated, this is my first experimental plugin...I think I may have figured a way to reduce subsonic rumble. What if instead of scaling half-cycles that pass a certain threshold to one specific amplitude, they were scaled down to a range of 2 or 3 db (centered around the limit level the user specifies)? The area under the waveform would still not be entirely symmetric, but i would think scaling down to a range like this would be very organic to the ears?

I hope to figure a way of dealing with half-cycle transients that is transparent as possible.
^ Joined: 26 May 2012  Member: #281127  Location: Los Angeles
Tale
KVRist
- profile
- pm
- www
PostPosted: Sun Jun 03, 2012 12:22 pm reply with quote
fir wrote:
Thanks for the reponse, have you tried this js effect? what are your opinions if so?

Yes, I have used the effect on the master track to make the output a little hotter, which worked pretty well.
----
Martinic Combo Model V & F
^ Joined: 12 Apr 2010  Member: #229644  Location: Lowlands of Holland
camsr
KVRAF
- profile
- pm
PostPosted: Sun Jun 03, 2012 12:47 pm reply with quote
If this idea were just applied to transients in the signal, the result would be cleaner obviously, but would still add an artifact in the low frequency region, if only briefly. It would kind of be the same as when you run a DC signal through a high pass filter, where there is a creation of an impulse with respect to the filter frequency. As the filter's frequency was raised, the impulse got shorter. Likewise, in this algorithm, it's like the filter's frequency changed with the length of the half cycle. This needs to be taken into consideration.
----
^ Joined: 16 Feb 2005  Member: #58183  
ro.cking
KVRer
- profile
- pm
PostPosted: Tue Sep 18, 2012 2:20 am reply with quote
Tale wrote:
I don't know of any VST, but there is a JS effect (LOSER/ZeroCrossingMaximizer) included with REAPER that I think does just that.


A VST (Windows 32bit, Linux 32bit, Source Code (for platforms without provided binary distribution)) is available at http://loser.asseca.com/

[Sorry for thread resurrection.]
^ Joined: 30 Aug 2012  Member: #287011  
All times are GMT - 8 Hours

Printable version
Page 1 of 1
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012