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].