Portable speaker api?

Yeah, but it shouldn’t be in the main SDL distro. :slight_smile:

The basic, “emergency solution” PC speaker API could perhaps go there, but
that’s an incredible lot simpler than a SID engine, even if the speaker
emulation was to be included. It’s also a thin API layer, rather than a
massive, CPU hungry sound engine.

//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 -'On Wednesday 07 March 2001 23:25, WIZARD / SYNTHETIC - Crew wrote:

On Wed, Mar 07, 2001 at 01:02:08PM -0800, WIZARD / SYNTHETIC - Crew
wrote:

Okay a speaker is not so good, but a SDL DAC Parrallel Port Driver
would be cool, especially for LAPTOP Users with old LAPTOPs.

YEAH, YEAH :=) A portable SID Engine or YM or whatever would be GREAT
!!!

Seriously lads, get a grip. SDL isn’t a driver layer. If you want to
play audio out through some crappy parallel port dac and out through the
pc speaker then write a proper kernel driver for it.

But what?s with a portable SID (Player)(Library) using SDL for AUDIO Output
??? Is this such a bad idead ???
SIDs are small, SID sound is nice ( rem. Shades, Turrican :=)

Yes, SIDs sound nice but that was due to the circuitry in the chip not
the music or the audio format. Really emulating a SID would be quite a
difficult task I would imagine, requiring some pretty sensitive audio
analysis equipment and some fancy DSP processing. In the end, its not
really worth it. If you want to sound retro and cool, buy yourself a
Mini Moog and play it in your room with a lava lamp. If you want to
really listen to some SID music, buy yourself a C64.

//akawaka
.- Martin Donlon -----------------------------------------------.
| A Gentleman - A Lover - A Ruler of Men - A Conqueror of Women |
`--------------------------------------> @Martin_Donlon -----'On Wed, Mar 07, 2001 at 02:25:10PM -0800, WIZARD / SYNTHETIC - Crew wrote:

Seriously lads, get a grip. SDL isn’t a driver layer. If you want to
play audio out through some crappy parallel port dac and out through the
pc speaker then write a proper kernel driver for it.

But what?s with a portable SID (Player)(Library) using SDL for AUDIO Output ???
Is this such a bad idead ???
SIDs are small, SID sound is nice ( rem. Shades, Turrican :=)

Seriously lads, get a grip. SDL isn’t a driver layer. If you want to
play audio out through some crappy parallel port dac and out through
the pc speaker then write a proper kernel driver for it.

But what?s with a portable SID (Player)(Library) using SDL for AUDIO
Output ??? Is this such a bad idead ???
SIDs are small, SID sound is nice ( rem. Shades, Turrican :=)

Yes, SIDs sound nice but that was due to the circuitry in the chip not
the music or the audio format.

Yep; the digital oscillators and the analog filter is what makes that chip
Different in a very nice way.

(For those who haven’t studied the inner workings of 8 bit machines: Most
sound chips have either fully analog signal generation and processing, or a
fully digital “signal path” ending in one or more DACs. The SID starts
digital with a rather flexible phase accumulating oscillator, goes analog,
and then routes each of the 4 signals - the 3 voices and an external input
[not connected on the C64] - to either the audio output, or through an analog
LP/BP/notch/HP filter with programmable cut-off and resonance.)

Really emulating a SID would be quite a
difficult task I would imagine, requiring some pretty sensitive audio
analysis equipment and some fancy DSP processing.

The digital->analog transition and the filter would be the only really "hard"
parts. The digital oscillators generate the exact same signal regardless of
frequency divider, so some shortcuts could be taken without audible
artifacts. (The emulators I’ve seen just use wavetables dumped from real
SIDs, logically combined with the output of a “real” pulse oscillator.)

The alternative would be to just run true oscillator emulation at 1 MHz,
downsampling to a sensible sample rate before the analog emulation. (Not
sure, but that might be what reSID is doing…)

In the end, its not really worth it.
[…]

It has been done already, at least to an extent where it sounds pretty good.
It’s also a lot more comfortable to use than downloading the tunes to a real
C64 and playing them there…

There’s also the option of playing them on the PC, but still using a real
SID, but it has a serious problem in that it requires hard real time
scheduling for accurate emulation; samples won’t work with less than RTlinux
or RTAI.

//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 -'On Thursday 08 March 2001 01:00, Martin Donlon wrote:

On Wed, Mar 07, 2001 at 02:25:10PM -0800, WIZARD / SYNTHETIC - Crew wrote:

“Thomas Krennwallner” wrote in message
news:20010307191252.A21033 at super-skunk.zenzi.myip.org

Every game has cool sound thru soundcards. But what about computers w/o
soundcards? Sound is a must for a game. So how about a portable speaker
api
like this:

Please don’t ever use the speaker without asking first. Sound card output
can be volume-controlled externally; speaker output generally cannot.–
Rainer Deyke (root at rainerdeyke.com)
Shareware computer games - http://rainerdeyke.com
"In ihren Reihen zu stehen heisst unter Feinden zu kaempfen" - Abigor

Very good point… (Yeah, I have an old machine with a 4" speaker that makes
very loud noise when used. heh)

It could even be a good idea to make it possible to disable speaker output in
SDL even if the application doesn’t have a switch.

//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 -'On Thursday 08 March 2001 03:30, Rainer Deyke wrote:

“Thomas Krennwallner” wrote in message
news:20010307191252.A21033 at super-skunk.zenzi.myip.org

Every game has cool sound thru soundcards. But what about computers w/o
soundcards? Sound is a must for a game. So how about a portable speaker

api

like this:

Please don’t ever use the speaker without asking first. Sound card output
can be volume-controlled externally; speaker output generally cannot.

At 00:00 08.03.2001 +0000, you wrote:>On Wed, Mar 07, 2001 at 02:25:10PM -0800, WIZARD / SYNTHETIC - Crew wrote:

Seriously lads, get a grip. SDL isn’t a driver layer. If you want to
play audio out through some crappy parallel port dac and out through the
pc speaker then write a proper kernel driver for it.

But what?s with a portable SID (Player)(Library) using SDL for AUDIO
Output ???
Is this such a bad idead ???
SIDs are small, SID sound is nice ( rem. Shades, Turrican :=)

Yes, SIDs sound nice but that was due to the circuitry in the chip not
the music or the audio format. Really emulating a SID would be quite a
difficult task I would imagine, requiring some pretty sensitive audio
analysis equipment and some fancy DSP processing. In the end, its not
really worth it. If you want to sound retro and cool, buy yourself a
Mini Moog and play it in your room with a lava lamp. If you want to
really listen to some SID music, buy yourself a C64.

Sorry for dropping in, but there are a lot of things said in this thread
that shouldn’t be left uncommented:

  1. There is a VERY good implementation of a SID emulation. There is even a
    "not so good", but older and not “that” CPU intensive one. Search for
    PlaySID and ReSID. For the Windows-Heads out there: There’s a Winamp-Plug
    on winamp.com. And then search for HVSC (High Voltage Sid Collection) for a
    complete set of old C64 hits.

  2. IMHO haveing a SID-Player as an API in SDL makes just very little
    sense. Would be nice to have to make all those “classic conversions” a
    little more authentic, but even though I like the sound very much, it
    make’s (IMHO) no sense to have all that “Emulating C64” overhead. On the
    AMIGA (Oh that good ole times), we had a program which was able to recreate
    the C64 sound to the fullest, but kept the song files free from “useless"
    C64 code. It used some simple form of Wavetable synthesis, some kind of
    "Micro sequencer” (to emulate the WaveSequence feature of SID, or however
    that was called) and a very nice and easy tracker interface. It was called
    THX (later renamed into AHX for apparent reasons) and is also available as
    a winamp plugin and as an obscure SDK for Windows. Unfortunately I haven’t
    been able to track it down (all servers seem to be down) until now, but
    that would be definitely cool :slight_smile:


jan.krutisch.de - programmiertfuereineneueaera.

[…]

  1. There is a VERY good implementation of a SID emulation. There is even a
    "not so good", but older and not “that” CPU intensive one. Search for
    PlaySID and ReSID. For the Windows-Heads out there: There’s a Winamp-Plug
    on winamp.com. And then search for HVSC (High Voltage Sid Collection) for a
    complete set of old C64 hits.

Listening to SIDs on SIDPlay + RealPlay (a text based UI) all day… :slight_smile:

  1. IMHO haveing a SID-Player as an API in SDL makes just very little
    sense.

I agree.

Would be nice to have to make all those “classic conversions” a
little more authentic,

I’m not really focused on “conversions”, but rather on taking the real time
music synthesis model to a level where it can be considered a serious
alternative to mp3 and CD tracks in games.

The idea is basically to run the engine as a synth together with
Cubase/Cakewalk/Logic/, and then just throw the
MIDI files into the game along with the synth. Of course, the bonus feature
that connects that to where this thread started is the option to “abuse” the
synth for sound effects as well.

but even though I like the sound very much, it
make’s (IMHO) no sense to have all that “Emulating C64” overhead.

Right; there are ways to get even very authentic SID sound without the cost
of true emulation. Why emulate the CPU and the CPU/SID interaction, for
starters? It makes no difference to the sound whatsoever; it’s just handy if
you’re into playing original C64 music…

On the
AMIGA (Oh that good ole times), we had a program which was able to recreate
the C64 sound to the fullest, but kept the song files free from "useless"
C64 code. It used some simple form of Wavetable synthesis,

That’s basically what all virtual analog synths do; very few actually
generate waveforms algorithmically on the fly, as the SID and most other
chips (analog as well as digital) do.

How about the filter, BTW? The SID and practically every real synth has one
or more resonant filters, but virtually no computer sound chips do; the
Amiga included. (No big deal nowadays, but on the Amiga, you had to drop the
hardware “resampling” and do everything in software - and a 7.14 MHz 68k
isn’t really up to that…)

some kind of
"Micro sequencer" (to emulate the WaveSequence feature of SID, or however
that was called)

That’s not a feature of the SID, but just a synthesize method that was almost
forgotten during the SoundTracker style tracker era. It’s supported by some
trackers, as well as the SidStation and some “normal” professional synths.

and a very nice and easy tracker interface. It was called
THX (later renamed into AHX for apparent reasons) and is also available as
a winamp plugin and as an obscure SDK for Windows. Unfortunately I haven’t
been able to track it down (all servers seem to be down) until now, but
that would be definitely cool :slight_smile:

Well, I’m not particularly fond of tracker style interfaces nowadays, but the
rest is basically what talking about here. :slight_smile:

As to a professionally usable version, that would be a MAIA plugin project,
but I haven’t really started, as the API is yet to be finished. (Oh, there is
SoftSynth/DUSS, of course, but that’s hardly usable at all… as the new name
"Dave’s Useless Soft Synth" implies. :wink: It’s just a fun hack I’ve been
playing with to try the lowlatency stuff out.)

//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 -'On Thursday 08 March 2001 17:34, Jan Krutisch wrote: