Maybe somebody has a recommendation on a similar article, but on programming sound? Somehow there's much less material on working with sound (especially low-level details about low-latency realtime sound effects) than on working with images.
Programming sound is hard. Real-time stuff is almost always coded in C or C++ because it needs to be performant and latency is always a consideration. One dropped sample can be heard and you can't afford to delay because things need to feel responsive if they are real-time. There are lots of interesting projects out there but there is also a wealth of creative coding in the area, especially in environments like Max/MSP, PureData who are creating algorithms from scratch inside and possibly porting them out to other code bases. One good project is [1] which is aimed at making C++ coding for audio easier and more accessible. The focus is quite wide and aims at webaudio, VST, faust code etc.
I've figured as much about performance, somehow while working with video I rarely reach for C++ lately, the firm realtime nature of sound makes performance harder than video even though the bitrate is orders of magnitude lower. Thanks for the link, will be looking at that and PortAudio.
IO depends on your target environment. Targets include Webaudio, VSTs, mobile, and frameworks like PortAudio.
Some environments include some packaged DSP algos. E.g. webaudio and Apple's audio frameworks both have useful "modules" you can hook together. Sound dev languages like Csound, SuperCollider, and PD are almost nothing but stock modules with some options to roll your own. Other environments like VSTs need custom DSP development, usually in C++.
Custom DSP is difficult and specialised, although you can get some way into it copy-pasting popular algos in a cookbook way without necessarily understanding how they work.
For the real thing you have to understand discrete time domain representations of various mathematical abstractions that describe signal generation (oscillators, sample players) and processing (filters, distortion, time-based effects like reverb.)
Trivial models can be fairly simple but sound very sterile. Non-trivial models sound more musical but are much harder to design.
As an example, here's a complete course in digital filter design.
There's a similar amount to learn about reverb design, complex oscillator models, and Fourier analysis and synthesis. Even basic sampling theory isn't completely trivial.
The founder, and sole developer of Mutable Instruments (a well known modular audio/synth maker) wrote about her recommendations on how to get started in audio programming here [0]. Much recommended for the cited books, and general/business advice on making a hardware audio product.
The reply like this is what I was hoping for! BTW, the actual forum thread (linked at your link) seems to exist only in the Google cache at [0], or am I missing something?
I saw that too after posting! Thanks for posting the link to the Google Cache. The book recommendations and suggested progression are really great — Mutable / Émilie is awesome in all kinds of ways..!
I would look at some of the repro arcade emulation code bases and game sound programming as those area's will cover many aspects of your requirements.
Alas no great guides/articles I can recommend, though http://www.portaudio.com/ is spoken highly of interface wise and may be worth exploring as some platform independence.