Howdy list,
just discovered, that [vcf~] produces output after its input has decayed for a cutoff frequency of 0Hz, but not for values higher 0.
A minimal working example is attached. Is this behavior known? Could it be mentioned in the help patch maybe?
cheersz, P
the problem is your input, with a DC component (0 hz). This doesn't seem to happen with [osc~] and seems like normal behaviour and not something to be documented
cheers
Em qua., 10 de abr. de 2024 às 11:56, Peter P. peterparker@fastmail.com escreveu:
Howdy list,
just discovered, that [vcf~] produces output after its input has decayed for a cutoff frequency of 0Hz, but not for values higher 0.
A minimal working example is attached. Is this behavior known? Could it be mentioned in the help patch maybe?
cheersz, P _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
the problem is your input, with a DC component (0 hz). This doesn't seem to happen with [osc~] and seems like normal behaviour and not something to be documented
I see, phasor~'s waveform is not symmetric around 0, good point. But why will vcf~'s output evnetually decay to -inf dB for a cutoff of 1Hz but not for a cutoff of 0Hz?
That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz implies that its output is constant (any change would involve frequencies > 0Hz).
Antoine
Le jeu. 11 avr. 2024 à 13:08, Peter P. peterparker@fastmail.com a écrit :
- Alexandre Torres Porres porres@gmail.com [2024-04-10 22:19]:
the problem is your input, with a DC component (0 hz). This doesn't seem
to
happen with [osc~] and seems like normal behaviour and not something to
be
documented
I see, phasor~'s waveform is not symmetric around 0, good point. But why will vcf~'s output evnetually decay to -inf dB for a cutoff of 1Hz but not for a cutoff of 0Hz?
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz implies that its output is constant (any change would involve frequencies > 0Hz).
Thanks Antoine,
Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant?
I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter
Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black!
Antoine
Le jeu. 11 avr. 2024 à 14:08, Peter P. peterparker@fastmail.com a écrit :
- Antoine Rousseau antoine@metalu.net [2024-04-11 13:40]:
That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz implies that its output is constant (any change would involve
frequencies >
0Hz).
Thanks Antoine,
Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant?
I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau antoine@metalu.net escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black!
Antoine
Le jeu. 11 avr. 2024 à 14:08, Peter P. peterparker@fastmail.com a écrit :
- Antoine Rousseau antoine@metalu.net [2024-04-11 13:40]:
That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz implies that its output is constant (any change would involve
frequencies >
0Hz).
Thanks Antoine,
Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant?
I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...). Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0. Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black! Antoine Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com <mailto:peterparker@fastmail.com>> a écrit : * Antoine Rousseau <antoine@metalu.net <mailto:antoine@metalu.net>> [2024-04-11 13:40]: > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz > implies that its output is constant (any change would involve frequencies > > 0Hz). Thanks Antoine, Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant? I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~]. I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output. If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get. I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1. Thanks for all hints! Peter _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list> _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list>
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
oh sure, but that's more like a slew or glide and you don't go down to zero anyway :)
and if you're filtering audio, you don't want to keep inaudible stuff. All I'm saying is that if you are soing this to fade to slience you need a DC filter
Em sex., 12 de abr. de 2024 às 04:12, cyrille henry ch@chnry.net escreveu:
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low
as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <
antoine@metalu.net mailto:antoine@metalu.net> escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q,
slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move
faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it will
just stop, and will show the same image forever; it won't fade to black!
Antoine Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com
mailto:peterparker@fastmail.com> a écrit :
* Antoine Rousseau <antoine@metalu.net <mailto:
antoine@metalu.net>> [2024-04-11 13:40]:
> That doesn't seem incorrect to me; after all, a lowpass
filter at 0Hz
> implies that its output is constant (any change would involve
frequencies >
> 0Hz). Thanks Antoine, Why does a lowpass filter, that has a cutoff frequency of 0Hz
imply that
it's output is constant? I will describe the problem again hoping that I will understand
it
better myseld: I have an oscillating input signal that has some DC offset
(unipolar
sawtooth from phasor~). I fade this signal's amplitude to -inf
dB using
[line~]. I also fade down the filter cutoff (defined as the -3dB point of
the
filter curve) from 400Hz to 0Hz. The filter will then continue
to produce an
non-decaying output. If I fade down the filter cutoff down to only 1Hz, it's output
will decay (somehow
counterintuitively to me). This is the part I don't get. I understand that vcf~ is a resonant filter, and it can have a
gain
greater 1 around the cutoff frequency, especially for high Q
values. The
above behavior can also be observed for Q=1. Thanks for all hints! Peter _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list < https://lists.puredata.info/listinfo/pd-list%3E
_______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list < https://lists.puredata.info/listinfo/pd-list%3E
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Alex made a great point there!
It's that very reason why DAW plugins usually don't let you go down all the way to zero. (Typically, they stop at 20 Hz or something.) If your signal has components below that, you'd need a high pass filter.
On 12.04.2024 09:35, Alexandre Torres Porres wrote:
oh sure, but that's more like a slew or glide and you don't go down to zero anyway :)
and if you're filtering audio, you don't want to keep inaudible stuff. All I'm saying is that if you are soing this to fade to slience you need a DC filter
Em sex., 12 de abr. de 2024 às 04:12, cyrille henry ch@chnry.net escreveu:
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic) cheers c Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit : > and you got a strong DC component over there :) > > anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing. > > cheers > > Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <antoine@metalu.net <mailto:antoine@metalu.net>> escreveu: > > Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...). > > Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0. > > Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black! > > Antoine > > > > Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com <mailto:peterparker@fastmail.com>> a écrit : > > * Antoine Rousseau <antoine@metalu.net <mailto:antoine@metalu.net>> [2024-04-11 13:40]: > > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz > > implies that its output is constant (any change would involve frequencies > > > 0Hz). > > Thanks Antoine, > > Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that > it's output is constant? > > I will describe the problem again hoping that I will understand it > better myseld: > I have an oscillating input signal that has some DC offset (unipolar > sawtooth from phasor~). I fade this signal's amplitude to -inf dB using > [line~]. > > I also fade down the filter cutoff (defined as the -3dB point of the > filter curve) from 400Hz to 0Hz. The filter will then continue to produce an > non-decaying output. > > If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow > counterintuitively to me). This is the part I don't get. > > I understand that vcf~ is a resonant filter, and it can have a gain > greater 1 around the cutoff frequency, especially for high Q values. The > above behavior can also be observed for Q=1. > > Thanks for all hints! > Peter > > > > _______________________________________________ > Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list> > > _______________________________________________ > Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list> > > > _______________________________________________ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list
Just expand on Antoine's post, let's look at the formula of Pd's 1-pole lowpass filter:
k = freq * 2pi / sr
y[i] = x[i] * k + y[i-1] * (1 - k)
For freq=0 this becomes:
y[i] = y[i-1]
As you can see, this would just repeat the previous output infinitely, ignoring the input altogether. There is no decay to zero!
The same reasoning applies to bandpass filters such as [vcf~].
Christof
On 12.04.2024 09:10, cyrille henry wrote:
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black!
Antoine
Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com mailto:peterparker@fastmail.com> a écrit :
* Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> [2024-04-11 13:40]: > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz > implies that its output is constant (any change would involve frequencies > > 0Hz).
Thanks Antoine,
Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant?
I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter
_______________________________________________ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
_______________________________________________ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Thank you Christof,
your equation helped me a lot, and now I see why some DC component will be circulating the filter forever.
Thank you Edwin,
explaining that "0 Hz is an infinite amount of octaves below 20 Hz" made me understand that a cutoff at 0Hz will not reduce DC by -3dB.
Looking at [vcf~]'s help patch closer, I read that the filter's real and complex outputs may be combined to allow for other filtering possibilies than band-pass and low-pass. Does anyone have a quick example of such a combination? I reckon that I make a highpass filter by subtracting the lowpass-filtered signal from the same unfiltered signal?
Thanks again to everyone, Peter
Just expand on Antoine's post, let's look at the formula of Pd's 1-pole lowpass filter:
k = freq * 2pi / sr
y[i] = x[i] * k + y[i-1] * (1 - k)
For freq=0 this becomes:
y[i] = y[i-1]
As you can see, this would just repeat the previous output infinitely, ignoring the input altogether. There is no decay to zero!
The same reasoning applies to bandpass filters such as [vcf~].
Christof
On 12.04.2024 09:10, cyrille henry wrote:
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 Ã s 15:40, Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> escreveu:
   Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...).
   Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
   Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black!
   Antoine
   Le jeu. 11 avr. 2024 à  14:08, Peter P. <peterparker@fastmail.com mailto:peterparker@fastmail.com> a écrit :
       * Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> [2024-04-11 13:40]:         > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz         > implies that its output is constant (any change would involve frequencies >         > 0Hz).
       Thanks Antoine,
       Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that        it's output is constant?
       I will describe the problem again hoping that I will understand it        better myseld:        I have an oscillating input signal that has some DC offset (unipolar        sawtooth from phasor~). I fade this signal's amplitude to -inf dB using        [line~].
       I also fade down the filter cutoff (defined as the -3dB point of the        filter curve) from 400Hz to 0Hz. The filter will then continue to produce an        non-decaying output.
       If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow        counterintuitively to me). This is the part I don't get.
       I understand that vcf~ is a resonant filter, and it can have a gain        greater 1 around the cutoff frequency, especially for high Q values. The        above behavior can also be observed for Q=1.
       Thanks for all hints!        Peter
       _______________________________________________        Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list        UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
   _______________________________________________    Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list    UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Hi,
On 13.04.24 10:57, Peter P. wrote:
Thank you Christof,
your equation helped me a lot, and now I see why some DC component will be circulating the filter forever.
Thank you Edwin,
explaining that "0 Hz is an infinite amount of octaves below 20 Hz" made me understand that a cutoff at 0Hz will not reduce DC by -3dB.
Looking at [vcf~]'s help patch closer, I read that the filter's real and complex outputs may be combined to allow for other filtering possibilies than band-pass and low-pass. Does anyone have a quick example of such a combination? I reckon that I make a highpass filter by subtracting the lowpass-filtered signal from the same unfiltered signal?
Yes, but not as simple as that, because there is a phase shift at the cutoff frequency, so that you will get artifacts.
https://dsp.stackexchange.com/questions/75064/what-is-phase-shift
Thanks again to everyone, Peter
- Christof Ressi info@christofressi.com [2024-04-12 09:36]:
Just expand on Antoine's post, let's look at the formula of Pd's 1-pole lowpass filter:
k = freq * 2pi / sr
y[i] = x[i] * k + y[i-1] * (1 - k)
For freq=0 this becomes:
y[i] = y[i-1]
As you can see, this would just repeat the previous output infinitely, ignoring the input altogether. There is no decay to zero!
The same reasoning applies to bandpass filters such as [vcf~].
Christof
On 12.04.2024 09:10, cyrille henry wrote:
I don't think it's weird for a lowpass filter to go under 20Hz. They are not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q, slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it will just stop, and will show the same image forever; it won't fade to black!
Antoine
Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com mailto:peterparker@fastmail.com> a écrit :
* Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> [2024-04-11 13:40]: > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz > implies that its output is constant (any change would involve frequencies > > 0Hz).
Thanks Antoine,
Why does a lowpass filter, that has a cutoff frequency of 0Hz imply that it's output is constant?
I will describe the problem again hoping that I will understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter
_______________________________________________ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
_______________________________________________ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Em sáb., 13 de abr. de 2024 às 06:30, Peter P. peterparker@fastmail.com escreveu:
Looking at [vcf~]'s help patch closer, I read that the filter's real and complex outputs may be combined to allow for other filtering possibilies than band-pass and low-pass. Does anyone have a quick example of such a combination?
I don't, and this information was there before I revised all help files. I suspect Miller wrote this, but I can't see how this is helpful or insightful information. This would not be something particular to [vcf~], any filter can be cascaded or combined in parallel, and I guess this is beter suited for the raw filters, that can be used and combined to more properly design filters. I would vote for just suppressing this information, unless someone convinces me there's a good point and example.
I reckon that I make a highpass filter by subtracting the lowpass-filtered signal from the same unfiltered signal?
Well, this is not MAX, we do have [hip~] :)
Thanks again to everyone, Peter
- Christof Ressi info@christofressi.com [2024-04-12 09:36]:
Just expand on Antoine's post, let's look at the formula of Pd's 1-pole lowpass filter:
k = freq * 2pi / sr
y[i] = x[i] * k + y[i-1] * (1 - k)
For freq=0 this becomes:
y[i] = y[i-1]
As you can see, this would just repeat the previous output infinitely, ignoring the input altogether. There is no decay to zero!
The same reasoning applies to bandpass filters such as [vcf~].
Christof
On 12.04.2024 09:10, cyrille henry wrote:
I don't think it's weird for a lowpass filter to go under 20Hz. They
are
not restricted to audio signals. I use them a lot to smooth control signals, or to replace line~. (I really hate line~ to control sound amplitude or preset transition, it's way too robotic)
cheers c
Le 12/04/2024 à 08:01, Alexandre Torres Porres a écrit :
and you got a strong DC component over there :)
anyway, it also seems weird to have a lowpass or a bandpass going as low as in the 20hz range. If you wanna do it just so it fades out to silence, you need a DC filter, something like a [hip~ 5] object, so when the lowpass, bandpass gets there, then you have nothing.
cheers
Em qui., 11 de abr. de 2024 às 15:40, Antoine Rousseau <antoine@metalu.net mailto:antoine@metalu.net> escreveu:
Well, let's simplify a bit, forget all the filter complexity (Q,
slope, definition of the cutoff frequency...).
Let's just say that the output of a lowpass filter cannot move
faster than the cutoff frequency: a 1Hz filter output cannot move faster than 1Hz (so it can't go back and forth in less than a second or so), a 1kHz can't go back and forth in less than about 1ms, etc. The output of a 0Hz filter can't move... at all. When you set the cutoff to 0Hz, the output freezes to its current value. It won't magically decay to 0.
Hey, if you set the framerate of a movie to 0 frame/second, it
will just stop, and will show the same image forever; it won't fade to black!
Antoine Le jeu. 11 avr. 2024 à 14:08, Peter P. <peterparker@fastmail.com
mailto:peterparker@fastmail.com> a écrit :
* Antoine Rousseau <antoine@metalu.net
mailto:antoine@metalu.net> [2024-04-11 13:40]: > That doesn't seem incorrect to me; after all, a lowpass filter at 0Hz > implies that its output is constant (any change would involve frequencies > > 0Hz).
Thanks Antoine, Why does a lowpass filter, that has a cutoff frequency of
0Hz imply that it's output is constant?
I will describe the problem again hoping that I will
understand it better myseld: I have an oscillating input signal that has some DC offset (unipolar sawtooth from phasor~). I fade this signal's amplitude to -inf dB using [line~].
I also fade down the filter cutoff (defined as the -3dB
point of the filter curve) from 400Hz to 0Hz. The filter will then continue to produce an non-decaying output.
If I fade down the filter cutoff down to only 1Hz, it's
output will decay (somehow counterintuitively to me). This is the part I don't get.
I understand that vcf~ is a resonant filter, and it can have
a gain greater 1 around the cutoff frequency, especially for high Q values. The above behavior can also be observed for Q=1.
Thanks for all hints! Peter _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing
list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
_______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list