There are many stand-alone audio players (and plugins for general audio players) out there for many systems that play the music of the Commodore 64 that is famous for its SID chip.
I believe many of the sound chips of those old systems worked like stand-alone black boxes to which you could send a list of commands and parameters, i.e. they could be programmed "declaratively", and they would then do their job without the help of the CPU (except perhaps some kind of "buffer" that the programmer would have to care about, managing the timings that it is loaded with data at any given time).
However I remember when I was a kid I was also using BASIC
commands like FOR
loops to create repetitive sound patterns and modify certain aspects of the sound.
Such things would then be handled by the CPU I suppose. More sophisticated examples would be the ability to play back samples on a C64, which I guess also involves the CPU.
So am I right to assume the full Turing machine of the C64 is needed (minus, except, perhaps, the graphics subsystem) to be able play back any and all sounds that could be created on a C64?
Or is there some sort of "SID file standard" that is somewhat limited in that some sounds that the C64 would theoretically be able to generate are simply not defined and will not be able to be reproduced by the data in such SID files?
(These question may of course apply for other retro systems too. But as for example the Commodore Amiga's sound chip was more like a sample player, I expect that even more music made for it was defined in a "declarative" way, though there might be exceptions here too.)