1

The code for this VCO plugin can be found here. I think there might be multiple things that interfere with an "ideal" VCO, but here my observations: The pitch is directly computed as frequency_knob + fm_knob * fm_input, as you can see here. But then the VCO class uses a Taylor approximation for the exponential function, which might introduce some error, and ...


1

What's not correct is your assumption of how a piano works. A piano does not produce pure sine waves, which is what you are attempting to do. The majority of piano notes are generated by felt hammers hitting multiple detuned wound metal strings. (Note that a correctly tuned piano will have each of the three strings at a different pitch. The centre string ...


1

Additive synthesis describes the process of combining (adding) sounds together to make new sounds, hence the term "additive". "add" ... you add stuff together. Subtractive synthesis describes the process of making new sounds by removing elements of a sound through processing such as filters, hence the term "subtractive". "subtract" - you remove stuff. Both ...


1

You should investigate the overlap-add technique of merging your audio buffers. It sounds to me that the buffers are windowed but are possibly just played out in sequence, causing the 'vibration' you refer to. Using an overlap add technique you should be able to smooth this out. Also check out the code for 'paulstretch' as this uses a similar synthesis ...


Only top voted, non community-wiki answers of a minimum length are eligible