[PD] more |vcf~| things

Roman Haefeli reduzierer at yahoo.de
Wed Mar 9 12:46:19 CET 2005


i would have done it like you did, i don't know any better mehtod yet.
maybe one little thing came up, when i tested [vcf~] with your patch.
afaik, it makes more sense to use a pink noise instead of [noise~],
which produces white noise. the difference is, that in pink noise the
amount of energy is constant per octave (logarithmic), where in white
noise it is constant per frequency bandwith (<-may not the correct
expression, i mean linear: 100-200Hz has the same energy as
10100-10200Hz). afaik, the q-factor of [vcf~] refers to the logarithmic
scale, as our ears do. this (at least partly) explains why you get such
low q-values in the high regions to keep the level constant. i'm not
quite sure, but i think, another reason could be, that filters tend to
get an unlinear behaviour somehow, the closer the cutoff-freq gets to
the nyquist-frequency. you will get different results, when you change
the fs.
this probably makes it difficult to calculate in detail the behaviour of
[vcf~]. maybe someone else has a more 'academic' explanation for that
by the way: if anybody knows an external for producing pink noise,
please let me know.


----- Original Message -----
From: <julien.breval at tremplin-utc.net>
To: <pd-list at iem.at>

> hello
> (still talking about the |vcf~| filter)
> as there doesn't seem to be any simple nor complex mathematical
> between Q, cutoff frequency and level factor (|*~|) for having a
constant output
> level, I am now trying to find something empirical ...
> I made a table that gives the level factor you need to keep the same
level when
> you change Q
> the source is a |noise~| and the amplitude is measured by |env~|, and
'f' refers
> to the required level factor, which was found empirically (and
> I attached the test patch
> some values for vcf~_cutoff=50 Hz:
> Q=0 -- f=1
> Q=1 -- f=15
> Q=2 -- f=20
> Q=3 -- f=24.5
> Q=4 -- f=28
> Q=10 -- f=42
> Q=20 -- f=60
> Q=40 -- f=86
> some values for vcf~_cutoff=12800 Hz:
> Q=0 -- f=1
> Q=1 -- f=0.75 (see the remark2 below)
> Q=2 -- f=0.8 (see the remark2 below)
> Q=4 -- f=1.35
> Q=20 -- f=3.4
> Q=40 -- f=5
> remark1: for a constant Q, multiplying the cutov by 2 adds +3 to the
> value of |env~| (resp. dividing, -3)
> remark2: for Q=1 or Q=2 at 12800 Hz, the filter should normally not
increase the
> volume of the signal like this ... maybe it's due to some software
> implementation contraints (?)
> also, do you think the method I used for measuring is correct ?
> any suggestion, idea, web link about this, etc will be appreciated a
lot ...
> I will try to use a logarithmic-based compensation factor now
> cheers,
> -j

More information about the Pd-list mailing list