Dconf ∑ Dstat ∑ Dwall ∑ Dweb ∑ Dwscan ∑ Lyrics ∑ mrepo ∑ Pixies.. ∑ RPMs ∑ unoconv ∑ wascii ∑ wiipresent ∑ Yam ∑

Google Site Search:
Flemish symbol European symbol
» Dag Wieers » Howtos » Bits and pieces » Programming your SB Live (emu10k1) 
Programming your SB Live (emu10k1)
This document explains how you can program/customize your SB Live (emuk10k1 chipset). So that you can route input to output-device and configure mixers using the tool emu-dspmgr.

It took me more than an hour to understand how everything is put together. And well, I still don't know everything, enough to do what I want anyway. There's nearly no information available on the net. The included script and the man-pages are cryptic.
Let's start by describing my situation at home. I recently bought a SB Live for the sole purpose of having more than 1 output-plug. I have my stereo and a seperate set of boxes which I both wanted to plug into my computer.

Since the SB Live can be programmed to route input to ouput and define HW mixers for each of these mappings, it was the right choice for me.

So I have my speaker-set connected to the Front-plug, my stereo speakers to the Rear-plug. I have a Hauppauge TV card pluged to my Line-in-plug.

On my computer I have 2 different sound-sources. I use a program called snackAmp to play audio-files. It isn't capable of using esound. Which made me opt to use /dev/dsp1 for snackAmp. Esound by default uses /dev/dsp and I left esound to its default.

My SB Live has the following input channels: And the following output channels: I can map the following mixers to any input:output combination: First let's clear the current configuration and unload any DSP patches.
    emu-dspmgr --clear --stop
Now let's start by configuring the soundcard to use its analog features. And add a 12dB boost to the Front speakers:
    emu-config -a -B on
Then add the "Analog" (TV) input to my "Front" speakers and use mixer "Line":
    emu-dspmgr -a"Analog L:Front L" -v"Analog L:Front L" -mline_l emu-dspmgr -a"Analog R:Front R" -v"Analog R:Front R" -mline_r
Next add the "Pcm" (Esound) input to the "Front" speakers, using mixer "Line1":
    emu-dspmgr -a"Pcm L:Front L" -v"Pcm L:Front L" -mline1_l emu-dspmgr -a"Pcm R:Front R" -v"Pcm R:Front R" -mline1_r
Now add the "Pcm1" (snackAmp) input to both speakers, using resp. mixer "Line2" and "Line3":
    emu-dspmgr -a"Pcm1 L:Front L" -v"Pcm1 L:Front L" -mline2_l emu-dspmgr -a"Pcm1 R:Front R" -v"Pcm1 R:Front R" -mline2_r emu-dspmgr -a"Pcm1 L:Rear L" -v"Pcm1 L:Rear L" -mline3_l emu-dspmgr -a"Pcm1 R:Rear R" -v"Pcm1 R:Rear R" -mline3_r
And finally add a volume gain to snackAmp:
    emu-dspmgr -l"Pcm1" -f$DSPPATH/gain_2.bin
If you'd like to set AC3 Pass-through for when you're playing DVDs, just do:
    emu-dspmgr \ -a"fx8:Front R" \ -a"fx9:Front L" \ -a"fx10:Rear R" \ -a"fx11:Rear L" \ -a"fx12:Front" \ -a"fx13:Rear"
Now enable the emu10k1:
    emu-dspmgr --start
And after configuring your gnome-volume-control, ie. naming your mixers and hiding unused stuff. You'll have this: