Further tinkerings with the sound system:
I setup alsa and OpenAL for surround sound support and maped my speakers correctly. I havnt looked into how to accomplish this with Pulse yet but the issue was (as Im sure some of you have seen) that the speakers were abit mixed up in terms of directional when using the surround51 pcm.
This laptop has 5 speakers total: Shown here
They represent the following channels:
1 - Front Left
2 - Front Right
3 - Rear Left
4 - Rear Right
5 - LFE/Subwolfer (Bottom of laptop)
I should note at this point that im using the following snd-hda-intel module config each of the commented modules worked wth slightly different results. Sky was the closest.
Code:
onemyndseye@onemyndsmobile:~$ cat /etc/modprobe.d/hda-intel.conf
# 3stack-6ch
# 3stack-6ch-intel
# lenovo-ms7195-dig (Lenovo MS7195)
# lenovo-sky (Lenovo Sky)
options snd-hda-intel model=lenovo-sky
Then I needed a proper speaker map to get "5.1 surround".
The default surround device (pcm surround51) had my channels alittle mixed up. The Front and Rear was reversed and any call to Center rear was handled by the LFE only. For example in Quake4, a enemy shooting at you from behind would only sound in the LFE. eewww.
so I remaped as follows. The syntax I learned for this maping is:
ttable.MAP_CHAN.REAL_CHAN GAIN
MAP_CHAN = Represented channel
REAL_CHAN = Actual channel as identified by alsa
GAIN = Gain/Volume at a fraction (1 = 100%)
My ~/.asoundrc
Code:
pcm.!default {
type plug
slave.pcm "lenovo_surround"
slave.channels 6
route_policy duplicate
}
pcm.lenovo_surround {
type route
slave.pcm surround51
slave.channels 6
# Front with 50% volume LFE for both channels
ttable.0.2 0.7 ## Front Left (Speaker 1)
ttable.1.3 0.7 ## Front Right (Speaker 2)
ttable.0.5 0.5 ## Touch sub (Speaker 5)
ttable.1.5 0.5 ## Touch sub (Speaker 5)
# Rear with 50% volume LFE for both channels
ttable.2.0 1.0 ## Rear Left (Speaker 3)
ttable.3.1 1.0 ## Rear Right (Speaker 4)
ttable.2.5 0.5 ## Touch Sub (Speaker 5)
ttable.3.5 0.5 ## Touch Sub (Speaker 5)
# Center (Spkr1+Spkr2) with 50% volume LFE
ttable.4.2 0.5 ## Center Left (Speaker 1)
ttable.4.3 0.5 ## Center Right (Speaker 2)
ttable.4.5 0.5 ## Touch Sub (Speaker 5)
# Center Rear (Spkr3+Spkr4) with 50% volume LFE
ttable.5.0 0.5 ## Center Rear Left (Speaker 3)
ttable.5.1 0.5 ## Center Rear Right (Speaker 4)
ttable.5.5 0.5 ## Touch Sub (Speaker 5)
}
The OpenAL config: ~/.alsoftrc
Code:
format = AL_FORMAT_51CHN16
refresh = 6144
#sources = 256
stereodup = True
drivers = alsa
##
## ALSA backend stuff
##
[alsa]
device = lenovo_surround # Call my virtually maped device
#periods = 0
mmap = true
Still playing with the volume levels abit to get that "just right mix" but I've tested this with Regnum Online and Quake4 with satisfying results. I dont expect this exact example to work for anyone else or do I truely believe it to be a 100% correct (for instance: the gains in most channels are too high. i.e. Center Rear should total to 1) example of mixing 5.1 surround, but it gave me the results I was looking for and hopefully will save someone the trouble of figuring this crap out lol.
Bookmarks