PFM::C++ For Musicians

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hey Folks. I just wanted to let you know about a course that I put together for aspiring audio devs. It teaches C++ in the context of developing an audio plugin with the JUCE framework. I'm hoping to get a few of the students who took it to chime in here, as their comments would carry about 100x more weight than anything I could ever say. anyway, you can check out the course here:

https://www.programmingformusicians.com/pfmcpp/

I have the syllabus and some reviews from past students.

Post

I took this course during the summer. At that point I had made some trivial plugins in JUCE. I had a little bit of C and a but more of Python and Matlab (mainly for DSP stuff). matkat's class was insanely helpful to me. It helped me figure out some issues that were preventing me from moving forward on my plugin, and more importantly gave me tools to write better code and understand what others have done.

The class skews towards C++ and problem solving, with a final "code with me" in JUCE at the end. You dip into JUCE frequently throughout the course, but most of it is drilling core concepts—how to defined and use data types, inheritance, composition, scope. How to use pointers, WHEN to use pointers. Passing values by reference or copy, &c.

But also good habits like, how to clone and setup JUCE, how to manage your git repo, how to use resources like cppreference, coliru, and godbolt to get clear on those "can I do this" type questions before mucking around in your project.

matkat was also very helpful/available on the slack. He says you have to have a "hold my beer" attitude to it and I agree. It was at times frustrating! The assignments took me much longer than I expected (or wanted, lol), but of course YMMV.

If you're a C++ novice and want to learn it while learning how to use JUCE, I'd definitely recommend.
Last edited by josediazrohena on Wed Oct 30, 2019 11:35 am, edited 2 times in total.

Post

@josediazrohena

I find it questionable that you try to discredit one of the few other beginner friendly comprehensive audio programming courses, in order to promote Matkat's course. Maybe that's the American way of marketing things?

I'm sure Matkat's course is great (I followed him for his saxophone / band music and other content on Youtube for quite some time), but that doesn't mean that the Kadenze course is necessarily bad. Unlike Matkat's course (correct me if I'm wrong), the Kadenze course by the Output guys is free (at least the beginners course, advanced course costs money I think).

I was looking forward to it when Matkat announced his course for the first time, but when enrollment started I found it to be a bit costly for my hobbyist budget. Might be a perfectly valid price, especially for people who are trying to get into audio development as a career option. I also understand that it takes quite a lot of effort and time for one person to structure a beginner friendly, but also comprehensive syllabus and to create the corresponding lessons and course material.

Post

yeah, this first course took me about 8 months to put together, surprisingly. There was so much revising of the scripts for each topic to present them in the most efficient/clear manner. I will say that the whole process of writing the scripts reinforced all of my knowledge of the advanced part of C++, like move semantics and how Rvalues/Forwarding references work or partial template specialization. I was kinda 50/50 in terms of really understanding that stuff when I started writing the course. But then I started really researching how it worked and looking up some examples, and found that every example out there always contained extra 'C++-isms' that you had to already know really well for those examples to make sense, and that just confused me even further. So I decided to come up with some examples for that stuff that were much easier to understand and demonstrated how those parts of C++ actually worked. I did this so that I could really understand it. I wasn't planning initially on selling it. Anyone who saw my written tutorials knows that I left them public for close to year before deciding to turn them into videos. When I showed it to some of the pro developers that I looked up to, and they signed off on it, that sealed the deal for me in terms of being confident that the way I had gone about crafting the examples were worth teaching people with less experience.

@Izak, Jose and I had a couple of conversations about the paid Kadenze course, as he dropped the $500 they were charging for it. His main take-away was that the free course shows you a bunch of bad coding practices, and then the paid course shows you how to fix them, at least that's how he conveyed his experience going through it to me. And even then, the means of fixing the bad coding practices weren't even good solutions, from what I was shown. I was disappointed that a company was charging $500 to show people unsafe programming practices, hence my complaining about it. I'm sure if you were to dig through the AudioProgrammer discord history, you'd see the kinds of things he or others were asking about from the Kadenze course that, if you had a decent amount of programming ability, would make you say "wait, what? no, don't do that..."

Thanks for following my youtube stuff @izak!

Chuck

Post

8)

Post Reply

Return to “DSP and Plugin Development”