SynthMaker

asm optimised oscillator, sv filter, limiter

Archive · 2011 9 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

firmament ·

optimised assembler code for 3 common bits of dsp

first is an oscillator (sin tri & saw). no antialiasing/bandlimiting on the sharp waves whatsoever so of limited usefulness on its own. very good for lfos etc. runs at around 20 cycles on my battered, ageing laptop.

second is the chamberlin state variable filter (low, high, band, notch). respectable sound, runs around 10 cycles.

third is a limiting waveshaper/soft cipper that limits the input above the threshold so that it never exceeds 1. very low cpu, not sure how reliable the meter is here.

frequencies are in Hz, threshold and q from 0-1. hopefully someone will find them useful!

(Moved from here)

trogluddite ·

Some good stuff in there - like you say, particularly handy for the 'peripheral' parts of a synth where you really want to kill the CPU load. Particularly like the sine made by 'bending' a triangle - I've not FFT'd it or anything, but to my ear it sounds surprisingly pure for such a short series appproximation. There's a very tiny optimisation available still in the oscillator. A couple of times in the code you are subtracting a fixed float number. You can replace each of these with (slightly) more efficient additions of the equivalent negative numbers.

martinvicanek ·

trogluddite wrote: I've not FFT'd it or anything, but to my ear it sounds surprisingly pure for such a short series appproximation.

I did, and actually there are some visible harmonics. However, with some little tweaking of the coefficients and a subtle change of the saw generator you can pretty much reduce the harmonics.

I am attaching the OSM if anyone is interested.

stw ·

martinvicanek wrote: I did, and actually there are some visible harmonics. However, with some little tweaking of the coefficients and a subtle change of the saw generator you can pretty much reduce the harmonics.

I am attaching the OSM if anyone is interested.

A good find. And i'm interested in almost anything you're doing here... 😉

trogluddite ·

Very impressive - definitely one for the toolbox! 🙂

sunny_b_uk ·

this is my first post and i have to say this oscillator is impressive! but im wondering how i could stream in frequency so i could use this with a detuner to play them as notes on midi. also i was wondering it would be possible doing FM/phase modulation with this oscilator.. iv read the wiki on how to make oscilators but im still having trouble since the code is quite different on this. thank you 🙂

nix ·

Welcome! Here it is chap. Hope u like our environment. U may have to change the ASIO out for DirectSound, depending on what u use.

tester ·

Nice asm osc, where is the phase offset pin?

sunny_b_uk ·

thank you so much!! yes i really like this forum i feel iv learnt a lot more about synthesis in general by just reading here for a few weeks. thank you firmament for sharing these optimised parts & nix for helping me so quickly 🙂

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.