OSCar filter behavior with dual SVF
  • The Oxford OSCar synthesizer featured a dual filter that could run in parallel. One of the unique features was a "separation" control that would set the filter frequencies apart from one another. The resonance and cutoff knobs would control both filters together but with the cutoffs offset from one another you would have 2 resonance peaks near each other rather than one, resulting in a very unique (i.e. awesome) sound. It would seem possible to achieve this behavior with the dual SVF board. Is this something that is currently implemented? If not, would it be terribly difficult to implement? I'm a programmer so I could try my hand at implementing it if need be...

    Here's a pic of the plugin that emulates the OSCar just in case that's helpful:
    http://www.gforcesoftware.com/sites/all/themes/gforce/images/1600.png

    Amazing project by the way. I'm definitely getting one for christmas, just trying to decide which filter module I want.

    Thanks,
    -r
  • This is where the value of the “cutoff 2” parameter is read from the patch data structure and copied to the place where it will ultimately be routed to the CV:

    boom

    If you use engine.patch_.filter_cutoff_1 + engine.patch_.filter_cutoff_2 there (beware: you might need to do the addition on uint16_t and check for clipping), the cutoff 2 will behave as an offset from cutoff 1 rather than as an independent value.

  • couldn’t that be done in the matrix by using slightly different cutoff values for both filters but apply the same cutoff and CV1 modulation?
    or are you talking of something else?

  • This could also be done by routing one of CC A, CC B, CC C, CC D, CV1, CV2, CV3, CV4 to both filters with the same amount ; and then use the CC / CV to control the “coupled” cutoff.

  • It might be worth adding to the firmware, though, let’s see if it fits (I’m thinking of adding an extra set of modes for filter 1, in those modes, filter 1 will become the “master” of filter 2 and filter 2’s settings will be relative to those of filter 1).

  • Cool. Seems like this will be possible in several different ways. Of course I would vote for it becoming a new filter mode but if not then the other options seem reasonable. I say this without ever hearing what the Shruthi would sound like in this mode... I suppose I should just get one and play with it :)

    Thanks for the quick response,
    -r
  • The OSCar also has a additive mode where you build waveforms by controlling 24 harmonics via the keyboard that could be interesting to add to Shruthi-1 as well, but I guess that will not fit into the memory.

  • I’ve implemented the filter cutoff coupling mode.

    The way it works is that filter 1 now has 3 new mode (lp<, bp<, hp<... if you have a better idea of symbol to use…). In those modes, the cutoff of filter 2 follows the cutoff of filter 1 ; and cutoff2 sets the difference. 64 = same cutoff ; 76 = cutoff of filter 1 + 12 ; 52 = cutoff of filter 1 – 12 and so on. Yes, that’s quirky, but the UI parameter ranges are stored in ROM so it is not possible to modify the range of the parameter at runtime. Since this forces cutoff 2 to be always positive, that’s the solution I came up with to allow positive / negative differences, not the prettiest thing I know…

  • That’s excellent, pichenettes!

    a|x

  • Thank you! I'm very excited to try it out. How does it sound?
  • Awesome idea. I gotta get one of these dual SVF boards to play with this, I imagine it sounds pretty juicy and probably delay-like when tweaked vigorously.
    As far as the symbol to use, how about an equals sign? Slightly confusing I guess but actually accurate when cutoff2 is set to 64 (a.k.a. zero :D)

  • I’ll try to record samples. It sounds weird, especially when one is set to LP and the other to HP (so it creates a notch of adjustable width). Unlike anything I have heard – some of the sound I got reminded me of additive synthesis ; not analog subtractive synthesis…

  • sounds extremely promising! can’t wait to hear the samples.

    @fcd74: about those 1u np caps you were going to order, are they all spoken for yet? :)

    [edit:] hey wait – ‘notch with adjustable width’? shouldn’t that also be possible with all other filter boards with both a lp and a hp filter – like the ssm board?

  • It works better when both filters are connect in parallel. On the SSM board they are connected in series.

  • @mic.W

    as always, i need 2 and ordered 50 . . . .

  • Wow, that last bit is delicious.

  • Excellent !
    Thank you, Pichenettes !
  • Excellent idea randy909 and beautifully executed pichenettes ;-) OSCar filter separation rules OK!

  • wow.. just did a svf board to play with this.. is the source on the github?

  • @pichenettes: have you tried the same firmware mod on the ssm board? i would be extremely curious to hear what it sounds like with the filters in series instead of in paralel. maybe it’s still also useful on the ssm board?

  • @mic.w

    there is only one filter on the SSM

  • nope, it’s got lp + hp – but connected in series rather than in parallel, as pichenettes has pointed out earlier.

    and the hp is a very simple one w/o resonance, using the ssm2164.

    still, it might be interesting to hear its cutoff frequency modulated in ‘oscar mode’...

  • Will see what I can do for the SSM, but there’s little hope – there’s not even a menu to select the filter mode!

  • hey wait, can’t the same ‘oscar’ effect be achieved in the modulation matrix by assigning the same modulation source to both hp and lp cutoff with the same modulation amount – but with opposite polarities? or am i missing something here?

    [edit:] hm, that would only get you the ‘spread’ part. in addition you need to be able to control both hp and lp cutoff in parallel. so you would need to modulate both lp and hp cutoff by two modulation sources, one with opposite polarities for ‘spread’, and one with the same polarity for regular cutoff control, right?

  • whoah, a new fw build! is there a changelog anywhere? any new features apart from oscar filter mode for svf boards? maybe start an extra thread for v0.95?

  • @mic.w: yes, this can be achieved by routing exactly the same modulations to both lp cutoff (cutoff) and hp cutoff (CV1). Why would you have opposite polarities? The point is that one tracks the other.

    v0.95 is not ready for release, I have just uploaded it to satisfy altitude’s curiosity. There’ll probably be some extra new features before I release. You can see the current state of the changelog here

  • i meant opposite polarities for the ‘spread’ aspect of things. (cf my edit above)

    it’s important to control the cutoff frequency offset, too, isn’t it? to me that sounds like an important part of it from rany909’s original description…

    [edit:] in fact, he called it ‘separation’ control, not ‘spread’. or did i misread this part? anyway, that sort of thing (controlling a hp and a lp by the same modulation source with opposite polarities) is great fun, i like to use it on the modular. try it sometime! :)

  • re fw 0.95: jeez, how could i forget about those two new mixing modes! and the new ssm filter page also seems like an excellent idea. still, i’ll wait for the final release.

  • As long as exactly the same stack of modulation are applied to both filters, they always follow each other, and you control the “spread” through any modulation of one of the two filters’ cutoff which is not applied to the other one.

  • hm ok then maybe i misunderstood the whole oscar thing.

    but still, it’s a cool effect to have a resonating hp and a resonating lp responding to the same envelope or lfo (or sequencer or whatever) with opposite polarities! anybody with a 2x svf board, try it in the modulation matrix, you won’t regret it. :)

  • Oops, should have RTFM (or the previous page of the thread).

    a|x

  • I think the reason this sounds weird is because the resonance tuning doesn’t scale the same across the keyboard. I spent some time getting the 2 filters tuned as close as possible but there are still ranges where the two are totally out of tune. Or maybe I’m tuning it wrong? Is there a better way to tune them or maybe a hack to the circuit that will link them?

    What I did was tweek the v/oct of filter 1 and the range of filter 2 to zero them in. Took several repetitions but eventually got close.

  • You need to patch “note” to “CV1” with a value of 63 (or better: 2 entries in the mod matrix with 32) to get cutoff 2 to track the note the same way cutoff 1 tracks it by default.

  • Yeah, I had the note to cv1 patched. Like I said, I had them very close, like c3 was in tune, c6 in tune, but c5 would be out. I was chalking it up to “analog behavior”, or at least the behavior if this circuit in particular. I will try 2 entries with 32 each and see if I can get it closer… Does that make the second filter receive a value that is closer to what the first filter gets?

  • If the second filter is set to 32 ; 32 and cutoff of both filters are set to the same value, both filters will receive exactly the same CV.

  • Otherwise (CV mod set to 63) you get an error of 20 cts per octave.

  • Excellent. Will try it when I get home. Thank you.

    Another thing: I was unable to get a true octave tuning while tuning the resonance. The range was always too “wide” (i.e the higher note was always sharp) even at the low end of the trimpot range. Is there a resistor I can swap to fix this? (I bought the parts from digikey FWIW)

  • Yes, try 30k or 36k for R19 and R20. If you look at each side of the TL082 near the trimmers, you see: 33nF cap, 15k resistor, 33k resistor, 33k resistor. That’s the last/lowest one. Man this board is dense, no room to print labels!

  • That worked. I had a 39k on hand so I put that in. That sent it to the other end of the pot but it was close enough. 36k would have been perfect.

    The “2 note->cv1 mods at 32” setup worked perfectly. Now both filters are in near-perfect tune. This is essential to getting closer to an oscar sound IMO. Might be worth mentioning on the Dual SVF page…

    Thank you!

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion