I’ve been trying to wrap my head around how synthesis actually works, and have found that it’s pretty complex. I’m coming from a guitarist background, and so I’m OK with guitar tone, amps, pedals, etc. But I haven’t really been trained in the nuances of soundwaves, etc.
Learning Sonic Pi has inspired me to learn more about synthesis, and I’m investigating FM synthesis, ADSR envelopes, high and and low pass filters, oscillation, sequencers, etc.
Just wanted to share one amazing resource that I’ve found: a free program called VCVRack. It’s a virtual modular synthesizer environment (or Eurorack), and I’m finding it extremely helpful for learning the basics (and beyond) of synthesis. There’s a very supportive online community, and I would especially recommend the YT tutorials of Omri Cohen.
You can find the program here.
Did I mention that it’s free? Compared to the crazy cost of physical modular synthesizers, it’s a steal! Plus it’s a lot of fun and has spurred my interest in other music dev environments like Supercollider.
And all of it is really helping me understand Sonic Pi better.
I learned a lot from this video series: https://www.youtube.com/watch?v=-1iK6drewCE
I also recommend getting a copy of Helm and messing around with it. It’s a fairly straight-forward subtractive synth, which can still do a lot of stuff. https://tytel.org/helm/
Thanks! That YT video is fantastic – very clear with relevant examples.
I downloaded Helm ages ago but never really knew what to do with it. How does it compare to VCVRack? It looks like it emulates a standalone synth rather than modular. Is that right?
I think this is a good resource - 63 technical articles by the same author on sound synthesis: https://www.soundonsound.com/series/synth-secrets
A more hands-on resource I enjoyed was Syntorial - https://www.syntorial.com/
Helm is a complete synthesizer, where VCVRack is a modular synth. A complete synthesizer is already “assembled”, if you will. You can communicate with it from Sonic Pi using MIDI. It’s described in section 11 in the tutorial. You’ll need to set up the ports using loopMIDI: https://www.tobias-erichsen.de/software/loopmidi.html
Assigning MIDI parameters other than notes (such as controlling the filter, i.e. lpf, bpf, hpf), gets tricky, but it’s definitely doable.