-
Notifications
You must be signed in to change notification settings - Fork 2
A class analysis of DSP system design
Most DSP systems provide a collection of signal processing building blocks of some form, which end-users of the system can use to implement their own instruments and signal processing algorithms. However, while doing so, most systems introduce a class hierarchy (in the Marxist sense, not object orientation) in which the expressive and sharing capabilities of a user's composition made with these building blocks are less (i.e. have more significant restrictions or constraints placed upon them) than those of the author of the system's building blocks.
Take, for example, the distinction between Synths and UGens in SuperCollider...
When a DSP architecture a) introduces multiple, distinct representations or modes of expression (i.e. different programming languages) and b) creates restrictions on the ability to compose and reuse compositions created in one of those modes of expression or c) limits what can be expressed in a representation or d) introduces irremediable performance costs in one of those modes of expression without e) the ability to move between representations at relatively minimal cost, then it has introduced a social class hierarchy within its ecosystem.