Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: SV Filter - Higher resonance / self oscillate?

  1. #1
    Member
    Join Date
    Jan 2015
    Location
    Toms River, NJ USA
    Posts
    37

    SV Filter - Higher resonance / self oscillate?

    How can I get higher resonance or self oscillation out of the SV filter? Is it limited for some reason?

    Thanks

  2. #2
    Junior Member
    Join Date
    Jun 2019
    Posts
    4
    From Julius O Smith on Wikipedia: Higher Q increases the likelihood of arithmetic overflow.

    In filter_variable.h, the following method is defined for setting resonance:

    Code:
    void resonance(float q) {
        if (q < 0.7) q = 0.7;
        else if (q > 5.0) q = 5.0;
        // TODO: allow lower Q when frequency is lower
        setting_damp = (1.0 / q) * 1073741824.0;
    }
    If I were you, I would simply remove the upper limit and see what happens. I don't think you'll brick anything.

    Sorry I can't explain how that 5.0 limit was originally determined. I'd definitely be interested to hear the reasoning behind it.

  3. #3
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    2,583
    The following article describes the basics of the digital state variable filter and how to transform it easily into an oscillator by making the damping zero: https://www.earlevel.com/main/2003/0...riable-filter/

  4. #4
    I've been wondering too about self-oscillation of the state variable filter. I did exactly what cdh suggests, remove the limitation in the resonance setter.
    With a resonance value of about 50000 the filter self-oscillates and produce a very nice sine wave, with pitch changes following cutoff frequency.

    For the 5.0 limit, I believe it's an arbitrary level. The sound really changes between 0.5 and 5. If you go beyond 7, there's almost no audible difference. The more you increase, the less it makes a difference. And then at some point it starts oscillating.
    I believe using some exponential scalling you permit both a usefull range and the ability to self oscillate, but I failed to find something working. I know some vintage analogue synth use an exponential potentiometer for resonance control.

  5. #5
    Senior Member ETMoody3's Avatar
    Join Date
    Mar 2014
    Location
    New Ulm, Mn
    Posts
    129
    I've raised the upper limits of the Q to 20.0 with no harm. I'd have to say it still doesn't reach levels of self oscillation common to many synthesizers. I'll have to look into reducing/ removing the damping as suggested. Sounds like fun.

    50000? Uhm yeah , Ill have to try removing the clamping...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •