[SDL] Portable speaker api?

David Olofson david.olofson at reologica.se
Wed Mar 7 14:38:35 PST 2001


On Wednesday 07 March 2001 22:38, WIZARD / SYNTHETIC - Crew wrote:
> > Besides, I think *beeps* are more interesting than waves on the speaker
> > (*) these days - there's too much crappy, monotonous, or polished but
> > just plain boring wave sound effects played on *real* PCM hardware
> > anyway. It's time someone did something *different* instead of trying to
> > do the same thing in different ways!
> >
> > (*) goes for analog/hybrid chips as well, although 12 bit wave audio
> > using pulse waveform PWM on the SID is pretty cool - and sounds very
> > good.
>
> Something SID Engine like for whatever speaker, DAC, Soundcard would be
> very cool.

Although it would be possible to just rip a SID emulator, I'm more into 
extending the design ideas into a virtual "SuperSID". It would play on any 
wave output device - speaker and Covox DAC included, provided you're on a 
platform with a driver for that. (It would not, however, play on a real SID, 
such as a HardSID card, as it would rely on more channels, more waveforms, 
more powerful filters etc.)


> Is there a portable SID Player out there that could be used with
> SDL directly or indirectly ???

Well, at least one of these is GPLed, and one already plays C64 tunes on 
countless machines running various operating systems:

	http://www.geocities.com/SiliconValley/Lakes/5147/resid/

	http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/index.html

However, these are designed to play "SID files" (ie C64 music with included 
player in 6510 machine code) as accurately as possible, and they are *very* 
CPU intensive in relation to the sound they produce. This goes for reSID in 
particular, which is cycle accurate, and won't run on anything slower than 
233-300 MHz, according to the web site.

The whole idea of emulating half a C64 is just crazy for generating sound 
effects for *new* games - apart from the huge CPU load, you'd have to code 
the sound FX engine in 6510 asm, for the SID chip. You'd also have to hack 
the emulator to get a direct, low latency connection for sending commands to 
your FX engine.

Then again, your sound effects would play on a real C64 with little or no 
tweaking. :-)


Anyway, my idea was to design something that *sounds* similar, but uses a 
simple, clean and efficient design, similar to what you'd find in a modern 
soft synth. Basically a callback driven engine that takes commands from a 
lock-free FIFO.


//David

.- M A I A -------------------------------------------------.
|      Multimedia Application Integration Architecture      |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia -'
.- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--------------------------------------> david at linuxdj.com -'



More information about the SDL mailing list