Page 1 of 1

[Request] Sound Blaster Live! Support

Posted: Fri 16 Feb, 2018 6:55 pm
by grommit2007
Would it be possible to have Sound Blaster Live! emulation in PCem?

Since there is AWE32 support already (albeit with missing reverb and chorus), how much work would be required to implement it, and would it also have the same missing features as the AWE32 if it were to be implemented?

Re: [Request] Sound Blaster Live! Support

Posted: Fri 16 Feb, 2018 8:37 pm
by JosepMa
The soundblaster AWE32 and AWE64 use the EMU8000 chip for wavetable synthesis. The soundblaster Live uses the EMU10K1 chip. (Edit: And I see there is an additional programable DSP chip which is responsible of the effects. This one could be more difficult to emulate properly)
I did a quick google search and there might be some information online and examples on how to operate it, but I don't have first-hand experience with that one.

Actually, there might be more knowledge about the EMU10K1 than the EMU8000, thanks to the "Kx project" third-party drivers. ( http://www.kxproject.com/ )

Re: [Request] Sound Blaster Live! Support

Posted: Fri 16 Feb, 2018 9:35 pm
by grommit2007
JosepMa wrote:
Fri 16 Feb, 2018 8:37 pm
The soundblaster AWE32 and AWE64 use the EMU8000 chip for wavetable synthesis. The soundblaster Live uses the EMU10K1 chip.
I did a quick google search and there might be some information online and examples on how to operate it, but I don't have first-hand experience with that one.

Actually, there might be more knowledge about the EMU10K1 than the EMU8000, thanks to the "Kx project" third-party drivers. ( http://www.kxproject.com/ )
So, are you saying that the EMU10K1's full feature set can be emulated in PCem?

Re: [Request] Sound Blaster Live! Support

Posted: Fri 16 Feb, 2018 9:40 pm
by JosepMa
No. I am saying that the first thing for a good emulation is having documentation. And thanks to the existence of the Kx project, it could be better documented. That does not imply that emulating it is easy. Also, as I've edited above, the EMU8000 had the efects integrated, while on the Live, the effects are on a separated programable DSP.

Re: [Request] Sound Blaster Live! Support

Posted: Sat 17 Feb, 2018 2:07 pm
by JosepMa
After looking a bit more for public information about the inner-workings of the card, I couldn't find a document from creative detailing the operation of the emu10k1 (there's only a document detailing what the chip can do, and some kind of schematic, but no info at all about how to operate it). So the only real source of information will be the linux drivers and/or the kx project.
From what I found, I believe the 10k1 is a chip similar to the emu8000, but using a samplerate of 48Khz (instead of 44Khz) and up to 64 physical voices (as opposed to 32).

But the real beast of the card is the additional programmable DSP processor. This needs to be emulated to get anything near the original card, and If I understood it correctly, this chip is the mixer, and also contains a resampler for each of the sources, because the DSP only operates at 48Khz.

Also, other differences is that this card is PCI (could get help from the already emulated soundblaster PCI 128, although they don't share the same base), uses the AC97 standard, and the wavetable samples are accessed directly from RAM instead of having onboard memory. Given how the addressable space of the EMU8000 works (limited to max 28MB of 16 bits mono samples), this part might also be slightly different for the EMU10K1.

https://elixir.bootlin.com/linux/v4.3/s ... /emu10k1.h
https://landlock.io/linux-doc/landlock- ... mixer.html
https://github.com/kxproject/kX-Audio-d ... umentation
https://github.com/kxproject/kx-audio-driver
https://web.archive.org/web/20030605215 ... =32&page=6

https://android.googlesource.com/kernel ... ude/sound/
https://android.googlesource.com/kernel ... sound/pci/
https://android.googlesource.com/kernel ... und/synth/

Re: [Request] Sound Blaster Live! Support

Posted: Sat 17 Feb, 2018 10:18 pm
by leilei
Could the OpenALSoft source help out on the DSP front? What about for 4/5.1 channel emulation? Emulating the different jack qualities for the front/back (front is worse)?

Re: [Request] Sound Blaster Live! Support

Posted: Sat 17 Feb, 2018 11:14 pm
by grommit2007
I may have found information on how to operate the EMU10K1:

https://web.archive.org/web/20180103210 ... k1-manual/

(Edit: Also added Docs page from kX Project website) https://www.kxproject.com/docs.php?language=en/

Re: [Request] Sound Blaster Live! Support

Posted: Sun 18 Feb, 2018 1:03 pm
by JosepMa
@leilei: I don't think openAL could help here, since the chip is programable (and i believe default programs might be included with the drivers). Also, i'm not really sure if the front/back differences would make much sense in emulating, given that we don't add any specific audio quality control to other soundcards (other than emulating specific lowpass filters ).

Re: [Request] Sound Blaster Live! Support

Posted: Mon 19 Feb, 2018 5:42 pm
by grommit2007
@JosepMa: The drivers do include default programs (such as the Sound Blaster Live! Experience and the SB16 Emulation Driver for DOS, among others), and some drivers may only detect OEM cards, so I would recommend that a retail card model number (such as CT4620 ,CT4760, CT4670 or SB0060) be emulated for this card.

(Edit: Added CT4620 and CT4670, as those are the model numbers for the original 1998 Sound Blaster Live! and Sound Blaster Live! Value models).