SynthMaker

Simple Synth

Archive · 2011 13 old posts

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

Neptune ·

Hi, i made a small synth based on the Wiki-Saw and some really small tweaks.

4x Saw (not bandlimited) Some standard filters Phase -1/+1 PWM

Hope you like it. Squeeze the saw 😈

Season's Greetings Neptune

lesobrod ·

This is really cute! Many thanx! If you allow, I use some features and tips in my new version of Bell sound Synth. 😇

P.S. It seems that in some knobs' combinations synth sounds very loud and strange. In fact it's good for experiments; but I always use some smooth limiters near the final output of synth. 😉

Neptune ·

lesobrod wrote: This is really cute! Many thanx! If you allow, I use some features and tips in my new version of Bell sound Synth. 😇

P.S. It seems that in some knobs' combinations synth sounds very loud and strange. In fact it's good for experiments; but I always use some smooth limiters near the final output of synth. 😉

You will for sure get better tips/hints from an expert 😉

Every component used in here is provided whether as a standard SM module or is a part of the developer toolkit.

Two exceptions: - Steves Denormal Remover - and the sub-osc (from Cyto) is from this post square-wave oscillator

The asm is just a conversion of the c++ code by using the text module... If someone has time to shrink the oscs it would be a great help.

To be a little bit more flexible i will add a routing matrix to the sub-oscs. They are already there and running, so why don´t route them to some targets 😉

Btw. i just have an AMD onboard soundcard and a pair of Sennheiser CX-400 II earplugs. I hope this synth does not sound like a p.o.s. on your setup...

Neptune ·

Little progress update. Thanks for hints about optimization in advance! Some description about the synth here: Pwm is it possible to make this?

A lot of things need still to be done. Feedback if its worth to continue would be nice 😉

😈 Please reduce you speaker output before trying this beast. 😈

Cheers, Neptune

trogluddite ·

Hi Neptune, Those 'multi-osc' have a nice big beefy sound! 🙂

Here's a tip for your oscillator code...

Currently, you have the line...

frequency=frequency*SR*0.5;

...but frequency is a streamin, which is possibly the cause of the instability that lesobrod reported. Writing to a streamin variable can cause problems because they kind of act like 'global' variables - when you change the value, the changes pass 'backwards' along the input links to whatever 'frequency' sources you have. In turn that can change the value of the streamout's of the previous processing blocks. This is especially a problem if the previous blocks are recursive (use the old output value to generate a new one), which is probably why the 'bug' is only there for certain settings - depending whether the currently selected modulation sources use recursive code or not. Using a 'local' float variable to pass the 'SR' calculation to the main oscillator code will easily fix the problem. It's good to get in the habit of always 'buffering' streamins that way - but not always easy to remember if you are used to normal coding where functions/procedures etc. always have local arguments by default!

Neptune ·

Thanks trog.

I have changed this part in the osc. Now it would also be possible to copy the whole osc section. Before the copied part was silent, caused by this constant value in the code.

I have now connected the analyser so you can directly see how the wave is formed when planing with the knobs.

Last thing missing is a lfo. Want to use one of the sub-osc for this but have to find a way to make it time-syncron but not to be pitched by notes. But this should not be a big problem i think.

I am not sure if i my headphones are broken but i am loosing power on the right channel. Can someone please check and confirm...the synth has normal volume.

Thanks, Nep

trogluddite ·

Coming along nicely! 🙂 Looking with the dual scope, I don't see any obvious 'synthy' problem with the right hand channel (e.g. phase cancellation etc.) However, the arrangement of the ping pong delay means that there will always be more power in the left hand channel when the delay is enabled. This is simply because the sound will always hits the left hand delay first, then reduces in volume before going to the right.. But I'm not sure if that us the issue you are referring to.

Neptune ·

trogluddite wrote: Coming along nicely! 🙂 Looking with the dual scope, I don't see any obvious 'synthy' problem with the right hand channel (e.g. phase cancellation etc.) However, the arrangement of the ping pong delay means that there will always be more power in the left hand channel when the delay is enabled. This is simply because the sound will always hits the left hand delay first, then reduces in volume before going to the right.. But I'm not sure if that us the issue you are referring to.

I just checked my headphones with the windows balance mixer. The right speaker is definately affected. Grrr. its my 2nd pair of CX400II which gets damaged by this way...

Mo ·

Looks good!

I slightly optimized the LP/HP for the splitter. Also it should make the denormal removers unnecessary:

// LP/HP optimized; Mo streamin input; streamin f; streamout lowpass; streamout highpass; float F1eM008=1e-008;

movaps xmm0,input; subps xmm0,lp; mulps xmm0,f; addps xmm0,lp; movaps lp,xmm0; subps xmm0,lowpass; mulps xmm0,f; addps xmm0,lowpass; addps xmm0,F1eM008; subps xmm0,F1eM008; movaps lowpass,xmm0; movaps xmm0,input; subps xmm0,lowpass; movaps highpass,xmm0;

Neptune ·

Mo wrote: Looks good!

I slightly optimized the LP/HP for the splitter. Also it should make the denormal removers unnecessary

Thanks a lot Mo!!! Really appreciated! The filter and removing the denormal removers have a nice effect on the cpu.

Unfortunatelly i will have not much time to continue working on this little project during the next 3 weeks. I found a way to retrigger the Filter-MultiStateEnv by the step-lfo, but the same approach does not work for the AMP-MSE. So i have to find a solution for this first before the next update.

CU, Neptune

Neptune ·

Small update

Neptune ·

Last version of this very simple synth. Last change -> OSCs changed to SM stock SAW

tektoog ·

Hey Neptune, good job ! I wouldn't call such a synth... simple... It has quite a nice amount of features that make a synth, a good synth... Everything is also clearly laid out and well implemented... So why revert to the stock saw OSC ? A last small update you could do; if I may suggest, would be to put a restore default value with doule-click on every knob, I find this quite usefull when programming a patch... Once again...nice job ! Cheers

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.