I got discouraged about using Ogg/Vorbis as well.
I’m currently pursuing two ideas. One is to see what can be done generating SF/X with FM synthesis (frequency modulation). The overhead for FM is remarkably light. Biggest cost is maybe two K for a good sized sine wave table. It’s just a matter of figuring out how to program the various needed SF/X. I’m hopeful as I have a good decade of DX7 programming behind me, including a fair number of SF/X in my library that can potentially be plundered. Hoping to make some more progress later in the week. (It COULD also be a way to encode and play back musical ditties.)
What kind of SF/X exactly are you hoping for?
The second idea is to work off of samples, but in a more efficient fashion. The ClipTrack is the most recent thing I wrote. It works like a Clip, but allows one to replay with overlap, including playback at different speeds. I am thinking, also, the source data doesn’t have to be stereo, and there may be other ways to compact things. For example, using a form of granular synthesis, make continuous effects (rain, running water, fire, wind) from random assembly of a few fragments rather than multi-second samples. Or even just use a lower resolution in the storage. It can be totally arbitrary, as long as the operation to convert to the correct resolution is no more than a multiply. Maybe even A-law or mu-law quantization of the audio would work, as these are cheap in terms of cpu to decode (compared to mp3 or ogg/vorbis).
With the ClipTrack, for example, one can take a single sample of a bell, and play it back at several different speeds, making a melody. The gun shot effect I demo on this site
kind of works as an explosion as well (again, different speeds). But slowed down effects are better if they originate in the distance, due to frequency rolloff.
I am happy to share any of this code (would be honored).