[Csnd] SEM / Oberheim filters?

Hello list, I’m curious, given Victor’s recent filter opcode additions, whether there is in a plugin or anywhere an emulation of the SEM filters used in Oberheim Matrix series synthesizers.

Or perhaps if someone knows of an open source implementation it would be a good “baby’s first filter opcode” project for me… :slight_smile:

thanks!

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Not that I know much about vintage analog synths, but I'm a bit confused. Do you mean de CEM filters used in Oberheim Matrix serie, or the filters used in the Oberheim SEM? Or is it just my confusion?

Oops, my mistake, I thought the Matrix 6 was an SEM. Anyway, for my money those Oberheim filters are the best on chords. So uh, either / both? :slight_smile:

thanks!

Matrix 6 was based on the CEM3396 “synth on chip”, which had oscillators (well waveshapers), mixer, vcf and vca into one.
It’s pretty much the same used in the DSI Prophet 8 and REV2 (with an added audio in).

The filter in this has two options, 2 and 4 pole. The 4 pole is likely to be an OTA-based cascade of 1st order sections with feedback (basically the ladder filter realised with OTAs), but I don’t know if the 2 pole is just a tap on this or an SVF. Need to check the schematics if I can find them.

Prof. Victor Lazzarini
Maynooth University
Ireland

Here’s the schematic

https://www.deepsonic.ch/deep/docs_manuals/cem_3396_manual.pdf

So no 2-pole originally. That must have been added to the PA397 (the one used in the prophet 08) in the redesign for DSI.

The 4 pole is like what I’ve said. Csound has a linear version of this in vclpf.

Prof. Victor Lazzarini
Maynooth University
Ireland

There’s loads of information about the original SEM in this video https://www.youtube.com/watch?v=jAokGV71MEw .
Though I’m not sure it would help for an opcode, other than saying “it’s a state variable filter”.

kind regards
Alan

Hello Iain,

I’m not sure it is what you are looking for, but there are excellent Oberheim filter implementations in the Faust library : vaeffects - Faust Libraries

[

vaeffects - Faust Libraries

](vaeffects - Faust Libraries)

Regards

Oops, my mistake, I thought the Matrix 6 was an SEM. Anyway, for my money those Oberheim filters are the best on chords. So uh, either / both? :slight_smile:

thanks!

We also have excellent SEM implementations in Csound!

Prof. Victor Lazzarini
Maynooth University
Ireland

What a fantastic resource this thread has become, thanks everyone!

Victor, which of the Csound filters are SEM-like?

thanks all

All of the 2nd order multimode filters:

svf, svar, zdf_2pole_mode, svn

the first two are based on the Chamberlain design, the zdf is Steven’s coding of a delay-free loop design, and svn is an improvement on the Chamberlain filter, and can work with linear or non-linear behaviour.

Note that the “SEM filter” is actually a copy of the ARP2500 state variable filter. So we should give that attribution.

Prof. Victor Lazzarini
Maynooth University
Ireland

Awesome, thanks Victor! I didn’t know that about the SEM. :slight_smile:

iain

[

DennisCollinPaper
PDF Document · 733 KB

](https://www.guitarfool.com/ARP2500/DennisCollinPaper.pdf)

Prof. Victor Lazzarini
Maynooth University
Ireland

Is there a description somewhere of all the filters? There are so many different implementations of these in the library, and I’m never quite sure which are the best to use.

Hi Cian, yes there is but it doesn’t always match them up with their names in other circles (ie modular world).

Victor, thanks for the paper! George Tzanetakis (my supervisor) and I are working on his course on a computer science perspective to synthesis, and these kind of resources are exactly what we try to collect. I uh, still have some maths to come up on before I can be truly useful as a filter hacker mind you… :slight_smile:

iain

It’s great that you are working with George, he’s excellent.

Prof. Victor Lazzarini
Maynooth University
Ireland

Yes, George is great. He was my secondary for the masters and is now principal for the PhD, and we are both excited to share so many common interests! I am very fortunate to have him and Andy Schloss.

Thanks again!

There’s that, but it’s also not always clear which emulations of a particular filter design are ‘better’. E.g. there are several Moog emulations of varying quality in the opcode catalog.

After our conversation here, I realised we did not have a dedicated non-linear OTA filer.
So i’ve added a new opcode to Csound 7.0: otafilter, modelling the ones in ICS such as the SSM2044, CEM3328, CEM3396 etc.
Like some newer synths, it has an added 2pole tap.

https://github.com/csound/csound/pull/1857

Awesome.

What about releasing a Beta of Csound7.

  • Not only would this give many Csounders access to some new opcodes, but they may discover some bugs for you to squash prior to the release (which I am guessing will be at the International Csound Conference in Vienna)

Also - as a note, my students returned from the GAME DEVELOPER CONFERENCE (GDC) in San Francisco last week

  • at the conference, the were networking ferociously,
  • they all want gigs in that industry
  • and… they were showing off their 491 Thesis work to major game companies and developers
  • the work they were showing was with CsoundUnity (and now with CsoundWwise)
    (We hope to show a lot of this in Vienna)

The responses

  • oh… “Csound is so really Old… is anyone still working on that?”
  • "When I look at the git repo, it seems that nothing has been done on Csound for the past 2 years (since the Csound6 freeze)
  • “What’s Cabbage?”
  • " I thought that a lot of the code from Csound is in SuperCollider, Max, Pd now"
  • “Someone was putting Pd into Wwise, but the code for Pd is really dead now - it has not been developed for years”

So that game (and other) developers can see that Csound is actively being updated, modernized, and developed by an amazing team,
might you want to make the Csound7 branch on GitHub the active branch?

Hopefully, by the next GDC - Csound7 and Cabbage will be recognized, appreciated, and start to make more ‘noise’ in VR, AR, and Games.

Fantastic Victor, I look forward to checking it out.

iain