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


  • 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:

And a DSP angle on pianos:

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