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:
Pcm L
Pcm R
fx2
fx3
Pcm1 L
Pcm1 R
fx6
fx7
fx8
fx9
fx10
fx11
fx12
fx13
fx14
fx15
Analog L
Analog R
CD-Spdif L
CD-Spdif R
in2l
in2r
Opt. Spdif L
Opt. Spdif R
Line2/Mic2 L
Line2/Mic2 R
RCA Spdif L
RCA Spdif R
RCA Aux L
RCA Aux R
in7l
in7r
And the following output channels:
Front L
Front R
Digital L
Digital R
Digital Center
Digital LFE
Phones L
Phones R
Rear L
Rear R
ADC Rec L
ADC Rec R
Mic Rec
out6r
out7l
out7r
out8l
Analog Center
Analog LFE
out9r
out10l
out10r
out11l
out11r
out12l
out12r
out13l
out13r
out14l
out14r
out15l
out15r
I can map the following mixers to any input:output combination:
vol
bass
treble
synth
pcm
speaker
line
mic
cd
mix
pcm2
rec
igain
ogain
line1
line2
line3
dig1
dig2
dig3
phin
phout
video
radio
monitor
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:
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:
And after configuring your gnome-volume-control, ie. naming your mixers
and hiding unused stuff. You'll have this: