How to: write a soft synthesizer

category: code [glöplog]
You can also sew a soft synth:
BB Image
added on the 2013-05-28 23:26:09 by Gargaj Gargaj
added on the 2013-05-29 01:10:58 by ferris ferris
^^ Highlight of my day, and it's been a good day.
Ok so enveloppe is like a carrier signal used to attenuate an instrument signal. Am I right? The general idea is to:

1. first, build an instrument defined by I don’t know why;
2. add an enveloppe onto it;
3. use C D E F G A B with different octaves to create the melody;
4. sum each signals to create an audible signal and apply filters / distortion / any effects on each instruments;
5. enjoy

Is it okay?
added on the 2013-05-29 10:00:50 by phaazon phaazon
I'm not a coder but I don't think it's "applying" a filter like you could actually "apply a distortion" as filter is linked to "substractive synthesis".
It's actually not an effect (even if often used as it is an effect) but an other layer of synthesis.

Really, you have to get your hands on a synthesizer first. There's a bunch of free VSTis in the world, the thing is that some are really messy and scary, you need to find an easy additive / substractive one.

I'd suggest these:

Simple yet to the point
sound, enveloppe, filter AND LFO. THE BASIS.

ps: I personally loved this one: http://togeostudios.com/ts-blog/free-resources/oatmeal-free-vsti-synth/ but if you don't get the right skin, you're lost in WTFness... you can get premade bundles here: http://www.kvraudio.com/forum/viewtopic.php?t=133930
added on the 2013-05-29 10:49:03 by __ __
1: Osciallator (start with a sine)
2: Amplitude envelope (Attack, Decay, Sustain, Release)
3: Filter (use previous links to dspguide

Once you've got those three very simple steps in place. Hook up with a musician that has at least a couple of years experience with synthesizers (preferably analog hardware-synths) to decide on how to proceed with development. And you definitely wouldn't get far without spending quite a lot of hours reading about how sound synthesis works. This thread has several great sources. But really - understanding the very basics of sound synthesis is key to progress.
added on the 2013-05-29 11:03:58 by Punqtured Punqtured
(Punqtured: why not: preferably, virtual analog h/w ? :D)
added on the 2013-05-29 11:09:45 by __ __
Hehe - I see what you did there ;)

My point is, that removing the DAW and its gazillion features from the equation, would probably be a wise move for an easy start.

Also, as somebody already stated elsewhere, reading manuals from synths might prove very usefull as well. For example, the manuel for Roland's JP-8080 has some easy-to-understand points on understanding sound synthesis, example of how to do you midi implementation and key features of various types of sounds. It's available for download here and I'd recommend skipping to:

Understanding sound: Page 165
Inspiration for Midi implementation: Page 168
Instrument/patch creation tips: Page 152

(and yes, that's a virtual analog h/w synth, kaneel) :-p
added on the 2013-05-29 11:39:00 by Punqtured Punqtured
The fact is, as a coder he'll get his hands on VSTis faster than on analog synths... or any kind of H/W.

And about "friends with hardware synths", well, he must have a few ones who actually touched / owned more than one synthesizer...

But yes, Skypers, you're on the french demoscene board, feel free to ask me questions about synthesizers.
added on the 2013-05-29 11:44:10 by __ __
@kaneel, I will for sure ;)

@Punqtured, such a link is golden carrot for me! Thank you!
added on the 2013-05-29 13:32:02 by phaazon phaazon
BB Image

... what!? a drum machine is technically a synthesizer!

added on the 2013-05-29 13:46:23 by elfan elfan
elfan: partially, hi hats and cymbals are 6 bit samples in the tr 909. so it's 80% synth and 20% sampler ;)
added on the 2013-05-29 15:07:56 by skomp skomp
Indeed, roland drum machines are a mix of both.
And most 90s drum machines were mostly made of samples.
While retro and nu-retro (like the Tempest) are synthesized (correct me if I'm wrong).
added on the 2013-05-29 15:22:02 by __ __
BB Image

Happy now?
added on the 2013-05-29 15:30:12 by elfan elfan
<33 :D
added on the 2013-05-29 15:43:21 by ferris ferris
BB Image
added on the 2013-05-29 16:11:59 by __ __
don't know if this can help: "Chaos Theory" bassline tutorial
added on the 2013-05-30 20:23:00 by baah baah
i'd love to see a pouet topic where people would exchange some code to make interesting sounds (eg : bass, hit hats, ...). Something similar to "Raymarching Tutorial" or "Raymarching Beginners' Thread" but for sound. What we just need is a common way (tool ?) to define these expressions.
added on the 2013-05-31 10:53:03 by Tigrou Tigrou
i see what you did there.
added on the 2013-05-31 11:23:52 by provod provod
There's some formula driven sound programming things that people could actually get inspiration from.

But the best so far is to make a nice GUI and give it to a musician used to generating sounds from scratches. We don't start by clicking on "bass" and then edit things actually, we mix signals together, add envelopes, modulations, LFOs and weee, makes nice things! That could be later sum up as formulas.
added on the 2013-05-31 11:52:33 by __ __
Yeah, the problem really is that worthwhile wounds are often the result of countless trial-and-error with standard knobs and sliders, and can't really be formulated that simply. I mean, a lot of visual effects are done in a similar manner as well, but I feel like it's a bit less guided. And, on a more technical note, it'd be harder to re-create solely from mathematics because you'd need to apply all the various parts of the signal chain, which are much more complex in a real synth than just sin() or atan(). Not that I don't like the idea, I just don't think it's very practical.

That said, I _have_ been thinking about doing some walkthroughs like Gargaj's bass video, though; that's a format that actually makes sense. I mean, in sound design especially, I personally think it's all in the details/tweaks, but someone can follow the broad outline of what you're doing and be able to make something with their own character in no time. It's a good springboard for sure.
added on the 2013-05-31 12:01:37 by ferris ferris
*worthwhile sounds :)
added on the 2013-05-31 12:02:07 by ferris ferris
Thanks for another cool thread.

I have a very hard time figuring how to achieve/code the sounds I hear.
While mathematics & code alone do not make an epic tune, threads like this one, the one Tigrou suggested and walkthrough videos could help a great deal wannabe synth coders like me.

And who knows, my next prods may not destroy your ears!
added on the 2013-05-31 13:50:55 by p01 p01
ferris is your lecture about WaveSabre available in video?