Another very good resource for learning DSP / computer music is the Bela course. You don't need to have a Bela for the course!
https://youtube.com/playlist?list=PLCrgFeG6pwQmdbB6l3ehC8oBB...
I am also developing a computer music language here at: https://glicol.org
Book recommandation:
Pirkle, Will C. "Designing Audio Effect Plugins in C++: For AAX, AU, and VST3 With DSP Theory." (2019).
https://github.com/chaosprint/inside-puredata-lectures-subti...
I would not say that pd or Max/MSP is more approachable, they are pretty even these days unless you stick to vanilla pd with no externals which almost no one does, the main differences is that Max/MSP gives you all you need out of the box but pd can run just about anywhere including in plugins if you are that sort. Max/MSP is considerably more modern in aesthetic but PlugData[0] and PurrData[1] offer more modern interfaces for pd with a few new tricks, PlugData is a plugin version of pd (also standalone), Purrdata is a JavaScript rewrite of the interface with prepackaged externals and solid documentation. And we have a handful of other varieties of pd each which have their own slant and can be found on puredata.info.
0: https://plugdata.org 1: https://www.purrdata.net
Edit, ok not having a dozen different varieties and hundreds of externals to choose from does make Max/MSP more approachable. I was mostly speaking from the standpoint of use but I realized all I did was say that pd is an example of a major flaw of OSS in the days of analysis paralysis.
More examples you can try on the browse page: https://noisecraft.app/browse
from what ive saw last, touchdesigner was in a completely different league in quality and ease of use
TD has more of a game-ish aesthetic. Max/Jitter is better for chopping up and distorting video streams and grunge-ifying them, with some simple renders and FX on top.
As a music system - it's in a weird place, because it's incredibly awkward if you're used to even the most rudimentary coding. A construct that takes a minute or two in Python can take five or ten times longer in Max.
But it has some decent DSP features, including custom DSP coding, so it's a good way to get certain things done. Or at least prototyped.
It's a bit like learning to play the piano, if your first lesson were to learn DSP.
Edit: clarification
Making music has many different approaches, and potentially lots of different stages that can be permuted, combined, discarded, repeated. Composition, performance, timbral adjustments, editing, mixing ...
That said, tools like PureData and Max/MSP are not there just to do DSP. Consider this lovely example of generative music that has almost no DSP going on whatsoever - the entire patch is focused on composition:
https://www.youtube.com/watch?v=vy-Ahm0j1CU
That said, if you wanted to make music that sounds like Fleetwood Mac or Taylor Swift or Duke Ellington, then computer tools are probably not where you should start (though may be where you end up).
I don't know what is being used for sound generation. I don't know Max all that well, but blowing the video up to full screen, it looked to me as if it only generates MIDI. If that's correct, then I suspect either one of the modern sample-based pianos or pianoteq.
This advice isn't necessarily the only way to go especially if you're happy just tapping out Chopsticks, but as a general rule ... it's a proven path.
Same applies for electronic music: you need some understanding of theory, terminology and available tools, else you just end up twiddling knobs and creating "cool" effects.
The point of computer music is to invent new things that can't be done elsewhere with software, not to copy existing things that have already been done.
If you just want to mess with loops and plug-ins, use Ableton/Logic/Cubase/etc. They use the studio/sampler metaphor, which is completely different.
I'm expecting generative AI to blow these kinds of tools out of the water very soon.
…am I doing it right?