[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