Skip to content

Multi-part series about creating a digital synthesizer in C++

Notifications You must be signed in to change notification settings

ncmiller/lets_make_a_synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Let's Make a Synth in C++!

This is a multi-part series about making a digital synthesizer in C++.

I have no prior experience in real-time audio, and I only know the basics of digital synthesizers, so I'll be learning along the way.

Each part is designed to be a self-contained C++ executable, along with a README file to explain the code.

To build and run the synth for a specific part:

cd partX_blah_blah_blah
./build.sh
build/synth

Finished Parts

  1. Part 1: Making a Sound
  2. Part 2: Oscillators
  3. Part 3: UI

Future Parts

Part 4 - Envelopes

Part 5 - Filters

Part 6 - LFOs

Part 7 - Wave Tables

Useful References

I found the following references useful while learning and researching for this project.

  1. Ear Level Engineering Blog: https://www.earlevel.com/main/
  2. Audio Programming Basics: https://www.youtube.com/watch?v=boPEO2auJj4
  3. Vital Synth: https://github.com/mtytel/vital
  4. SDL Tutorial: https://lazyfoo.net/tutorials/SDL/
  5. Audio DSP in Octave: https://www.youtube.com/watch?v=tx_cjBjZ2zM
  6. Wavetables: https://multimed.org/student/eim/en/05-Wavetable.pdf

About

Multi-part series about creating a digital synthesizer in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published