[Request] Sound Blaster Live! Support

Discussion of development and patch submission.
Post Reply
grommit2007
Posts: 17
Joined: Sat 22 Apr, 2017 3:26 pm

[Request] Sound Blaster Live! Support

Post by grommit2007 » Fri 16 Feb, 2018 6:55 pm

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?

JosepMa
Posts: 113
Joined: Tue 20 Jun, 2017 6:25 pm

Re: [Request] Sound Blaster Live! Support

Post by JosepMa » 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. (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/ )
Last edited by JosepMa on Fri 16 Feb, 2018 9:37 pm, edited 1 time in total.

grommit2007
Posts: 17
Joined: Sat 22 Apr, 2017 3:26 pm

Re: [Request] Sound Blaster Live! Support

Post by grommit2007 » Fri 16 Feb, 2018 9:35 pm

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?

JosepMa
Posts: 113
Joined: Tue 20 Jun, 2017 6:25 pm

Re: [Request] Sound Blaster Live! Support

Post by JosepMa » Fri 16 Feb, 2018 9:40 pm

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.

JosepMa
Posts: 113
Joined: Tue 20 Jun, 2017 6:25 pm

Re: [Request] Sound Blaster Live! Support

Post by JosepMa » Sat 17 Feb, 2018 2:07 pm

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/
Last edited by JosepMa on Sun 18 Feb, 2018 12:31 pm, edited 1 time in total.

User avatar
leilei
Posts: 548
Joined: Fri 25 Apr, 2014 4:47 pm

Re: [Request] Sound Blaster Live! Support

Post by leilei » Sat 17 Feb, 2018 10:18 pm

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)?

grommit2007
Posts: 17
Joined: Sat 22 Apr, 2017 3:26 pm

Re: [Request] Sound Blaster Live! Support

Post by grommit2007 » Sat 17 Feb, 2018 11:14 pm

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/
Last edited by grommit2007 on Thu 22 Feb, 2018 7:06 pm, edited 1 time in total.

JosepMa
Posts: 113
Joined: Tue 20 Jun, 2017 6:25 pm

Re: [Request] Sound Blaster Live! Support

Post by JosepMa » Sun 18 Feb, 2018 1:03 pm

@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 ).

grommit2007
Posts: 17
Joined: Sat 22 Apr, 2017 3:26 pm

Re: [Request] Sound Blaster Live! Support

Post by grommit2007 » Mon 19 Feb, 2018 5:42 pm

@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).

Post Reply