How would I program different instrument sounds?

I want to make a desktop app like GarageBand in c++. How is it possible to digitally create sounds that sound like instruments? Are there any resources or books for this? Another example of imitating instruments is in the piano app in the App Store.

This is a very broad question.

For your bigger project, making something like garage band: prerequisites:

  • Be good at C++
  • Get good at JUCE
  • Make sure your threading, and lock-free programming skills are ok

Then:

  • Write a basic synth: there’s probably a tutorial
  • Play with some other synths people have written
  • Read a shit ton about synthesis the KVR Audio site has a good DSP development forum.
  • Get fast at typing :slight_smile:

Specially, for your background question:

https://www.soundonsound.com/series/synth-secrets

And a DSP angle on pianos:
https://www.dsprelated.com/freebooks/pasp/Piano_Synthesis.html

But most piano synths play samples of real pianos (which takes loads of memory but is guaranteed to sound like a piano!)