PURE DATA forum~

...that deal with pure data

You are not logged in.

#1 2008-07-04 16:05:11

pineapple
Member

simple noise gate

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

 

#2 2008-07-04 23:59:49

nestor
Member

Re: simple noise gate

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

 

#3 2008-07-05 05:23:40

nestor
Member

Re: simple noise gate

Here is a simple noise gate.  Attack and Decay are linear.

Last edited by nestor (2008-07-05 05:24:33)


Attachments:
Attachment Icon gate.pd, Size: 887 bytes, Downloads: 412

Offline

 

#4 2008-07-05 08:03:23

slur
Member

Re: simple noise gate

_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


pd redefining mathematics |expr fact(0)|==0

Offline

 

#5 2008-07-07 17:48:52

nestor
Member

Re: simple noise gate

_sure_ there is more than one thing wrong with it.  ;-)

Just a hasty example of the elements needed for such a thing.

Offline

 

#6 2008-07-17 15:13:09

ClaudiusMaximus
Moderator

Re: simple noise gate

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

 

#7 2009-01-06 22:32:01

arif
Member

Re: simple noise gate

Excuse the naivety, but really how is this any different from a noise gate like so:

input
|   \
|   [env~]
|   |
|   [> 60]
|   |
|   [pack 0 100]
|   |
|   [vline~]
|   |
[*~]
|
[dac~]


Dual 1.8 IBM G5: Mac OSX 10.4.11 -- Asus eeePC 701: Pure:Dyne / eeeXubuntu GNU/Linux -- myspace.com/thearifd

Offline

 

#8 2009-01-11 05:14:44

arif
Member

Re: simple noise gate

bump


Dual 1.8 IBM G5: Mac OSX 10.4.11 -- Asus eeePC 701: Pure:Dyne / eeeXubuntu GNU/Linux -- myspace.com/thearifd

Offline

 

#9 2009-01-11 08:13:46

sunji
Member

Re: simple noise gate

a little noise gate gui,  fairly configurable and automatable.

http://www.dafe.lukifer.net/pdpatches/c … nvelope.pd


any technology distinguishable from magic is insufficiently advanced.

Offline

 

#10 2009-01-11 20:34:50

arif
Member

Re: simple noise gate

looks nice, but where does the threshold go?


Dual 1.8 IBM G5: Mac OSX 10.4.11 -- Asus eeePC 701: Pure:Dyne / eeeXubuntu GNU/Linux -- myspace.com/thearifd

Offline

 

#11 2009-01-12 05:52:15

sunji
Member

Re: simple noise gate

I'm sorry, misthought the topic of discussion.  I was thinking envelope generator for some reason.


any technology distinguishable from magic is insufficiently advanced.

Offline

 

#12 2009-01-12 19:16:07

pulsed
Member

Re: simple noise gate

maybe [threshold~]

LP


Steffen Leve Poulsen

Offline

 

#13 2012-04-10 18:19:39

Re: simple noise gate

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

 

Board footer

Powered by PunBB
Copyright 20022005 Rickard Andersson


pd.webring info