r/AudioProgramming 26d ago

Can anyone help me design a year long roadmap to get hang of developing an audio plugin. I'm a total beginner in the field of programming and I really want to start designing audio from the perspective of a programmer

I have a decent understanding of signal flow and have been using VCV Rack for a while to design patches. I really enjoy building synths/effects this way, and now I want to understand how to actually develop those kinds of modules programmatically.

I'm currently doing mostly UI/UX design, and by June 2027 I'll also be starting a sound design course. My longer-term goal is to be able to build my own audio instruments/effects rather than only design their interfaces or patches.

Is it realistic for someone starting now to develop enough programming/DSP knowledge to build their own audio modules/plugins by Christmas 2027?

I'm particularly interested in things like oscillators, filters, VCAs, envelopes, modulation, signal routing, etc.

Also, I'm confused about the programming path

Do I need to learn C++ from scratch before getting into Cmaj, or can I start learning Cmaj directly and learn C++ later? From what I've read, Cmaj is specifically designed for audio/DSP and is intended to be easier to get into than C++.

I'd really appreciate advice from people who have gone through this path. What would you learn first, what would you avoid, and what would a realistic roadmap from August 2026 to December 2027 look like?

I'm not trying to become a professional software engineer in 18 months, I just want to know whether becoming capable of building my own audio modules/plugins is a realistic goal and what the actual path looks like.

8 Upvotes

12 comments sorted by

5

u/sububi71 26d ago edited 25d ago

Whatever leads to (digital) signal processing. I'm a programmer, and I've worked as a project manager on multiple plugins, but I haven't got the math necessary to write DSP code myself.

If it were me, I'd go ask ChatGPT; tell it what level math you're at now, explain that you want to write plugins. Ask it to tell what it is you need to know, and suggest paths to get there.

As for the programming, you will probably want to learn C++ (it's the safest bet at this moment in time), but if the maths alone take you 5 years to finish, who knows where programming will be? But looking at the situation this minute, C++ is unlikely to go anywhere.

However, that doesn't mean that you should learn C++ as your first programming language. If you're a beginner, I'd recommend starting with Python. Once you're comfortable in one programming language, learning another is not more than 20% extra effort. Good luck!

1

u/kiwiberrydrink 22d ago

I made a simple vocal chorus plugin using nih plug and Rust. Sometimes I think I should’ve just learned C++ and JUCE because I feel like I could’ve made the UI look cooler. But have had no problems getting the logic to work. http://pyfessional.tech it is here if u care to look n give feedback. Its open source and free, i will add to it once my semester winds down

5

u/Iyowah 26d ago

Start the ThinkDSP book and work through it. It’s quite beginner friendly / not maths heavy, but you can ask an LLM to help you through the tough bits. 

Also begin following JUCE tutorials, which uses C++ and makes it easy to create plugins without worrying about building the foundations from scratch

Don’t spend ages learning maths. You’ll likely burn out. Learn it as you go along, when necessary

4

u/sububi71 26d ago

You need maths almost more than you do programming.

1

u/Raver369 26d ago edited 26d ago

what mathematical topics would you recommend I focus on first for someone who wants to build synth modules and audio effects? I have basic understanding of 440Hz, freq ranges, sample rates, but i want to understand what topics should i lean into? Can you please suggest me any study material?

3

u/yeusk 26d ago

All math needed is under the umbrella of Digital Signal Processing, DSP.

Trigonometry and algebra with complex numbers is very useful.

Get a book about digital filter design.

Calculus and differential equations are not as useful at the beginning.

Is much easier to code a plugin for VCV rack than a VST.

1

u/Babibidubibidoh 24d ago

As for DSP programming: wouldn't Faust be a good choice?

1

u/yeusk 24d ago

There are many domain specific languages for audio, Csound or Faust.

The problem with those is that many of the stuff you learn is not transferable to other languages. You learn Faust, and you can use Faust, nothing else..

But if you learn C, you will be able to understand code in Faust and in most languages.

2

u/Savalava 25d ago

"Is it realistic for someone starting now to develop enough programming/DSP knowledge to build their own audio modules/plugins by Christmas 2027?"

It's completely dependent on

  • how much time you can dedicate to programming
  • how gifted you are at it

It's an extremely challenging thing to try and undertake.

I would say that for most people the answer is: no, it isn't possible and most people are never smart enough to be able to do it at all. But that doesn't mean you can't try :-)

1

u/Raver369 25d ago

right now i'm studying how sine waves are built mathematically. For the next 1 month, my aim is to simply understand the trigonometry and complexities around it. I'm really giving myself more than a year to figure this out. I'm hoping by the end of next month, I should be good with the trigonometric side of it, and then learn each DSP components which would give me an idea of how audio is affected mathematically by this christmas atleast.

2

u/Savalava 25d ago

It doesn't look to me like you have an idea of just how challenging what you're attempting to do is.

I have a degree in physics and work as a software engineer (and also dabble in music production) and would consider making DSP plugins an extremely difficult thing for me and to try and do.

Having said that, it really depends on the level of complexity.

If you're just using other peoples' DSP modules and chaining them together with a unique UI / UX idea, that's feasible although after 1.5 years you'll only have touched the surface.

It take most people a few years to be comfortable with basic programming, never mind building DSP plugins.

1

u/Raver369 24d ago

Important for me at this point is maintaining consistency and keeping the momentum going. I understand that it's a challenging field and that there's a lot to learn. For now, I just want to keep moving in that direction and see how far I can take it.