...that deal with pure data
You are not logged in.
Has someone a simple noise gate patch to share?
Release (in ms.), threshold (db), hold (in ms.) and attack (in ms.)
Thanks a lot in advance for your help.
Offline
One can be built with [env~] and [>~] for the thresholding, [line~] for the attack and decay, and some signal multiplication. This is the kind of thing that is fun to throw together yourself, but I can post one after work...
Offline
_think_ there is more than one thing wrong with it
attacktime seems to release it too as soon as > fails
because of the |$1 $2(
also dont like how line~ gets its control msgs
just a feeling
need sleep and stuff
Offline
_sure_ there is more than one thing wrong with it. ;-)
Just a hasty example of the elements needed for such a thing.
Offline
You can get a continuous envelope from the audio signal with:
in
| \
[*~]
|
[lop~ 10]
|
env
then you can turn it into a digital signal with parameters for a low pass filter for attack/release:
threshold attack coefficient
| |
env [dbtopow~] | release coefficient
| | | |
[expr~ $v1>$v2; if($v1>$v2, $v3, $v4)]
| |
d.env coef
next, you can low pass filter to smooth the signal, at different rates for attack/release:
d.env coef
| |
[pd low-pass-filter] -- check Miller's book on how to build filters using czero~ cpole~ etc
|
l.env
then multiply the input by the envelope :)
in l.env
| |
[*~]
|
out
hold time is more tricky to implement, and I'm not quite sure what that means for a noise gate.
I built a compressor/limiter in a similar way, not a very good one, but enough so that if I'm live-coding I can just feed everything into it and not have to worry too much about adjusting the volume to avoid clipping etc.
Offline
Excuse the naivety, but really how is this any different from a noise gate like so:
input
| \
| [env~]
| |
| [> 60]
| |
| [pack 0 100]
| |
| [vline~]
| |
[*~]
|
[dac~]
Offline
bump
Offline
a little noise gate gui, fairly configurable and automatable.
http://www.dafe.lukifer.net/pdpatches/c … nvelope.pd
Offline
looks nice, but where does the threshold go?
Offline
I'm sorry, misthought the topic of discussion. I was thinking envelope generator for some reason.
Offline
ClaudiusMaximus wrote:
You can get a continuous envelope from the audio signal with:
in
| \
[*~]
|
[lop~ 10]
|
env
then you can turn it into a digital signal with parameters for a low pass filter for attack/release:
threshold attack coefficient
| |
env [dbtopow~] | release coefficient
| | | |
[expr~ $v1>$v2; if($v1>$v2, $v3, $v4)]
| |
d.env coef
next, you can low pass filter to smooth the signal, at different rates for attack/release:
d.env coef
| |
[pd low-pass-filter] -- check Miller's book on how to build filters using czero~ cpole~ etc
|
l.env
then multiply the input by the envelope :)
in l.env
| |
[*~]
|
out
hold time is more tricky to implement, and I'm not quite sure what that means for a noise gate.
I built a compressor/limiter in a similar way, not a very good one, but enough so that if I'm live-coding I can just feed everything into it and not have to worry too much about adjusting the volume to avoid clipping etc.
wow, that's elegant.
[mavg] is too cpu expensive? or at least more expensive than [*~] and [lop~]? I use [mavg] when need a smoother signal.
well, thankyou very much Claudius Optimus et Maximus.
Offline