Hey guys, I'm writing a user manual for some software I'm publishing. It's a software synthesizer design toolkit, for making your own software synthesizer in your programming language of choice. Of course, in order to make your own synthesizer, you must know how one works.
My goal in writing this user manual is not only to document my code, but also to teach how synthesizers actually work, so that anyone can make their own. That's where this post comes in. I need inspiration on what exactly it is people don't already know about them, and what all the hot topics are.
I'm happy to actually explain these things in the comments below!
I think immediately of libao for the C programming language. Imagine a while loop that completes itself at least 44100 times in a second. If the synth cannot write to the buffer that quickly, the sound card runs out of samples, and can't do anything, so it stops playing. Hence that clicky mess sound. This is for realtime synthesis though. If you can produce audio at your own pace, you have the opportunity to sound good every time.