So my plan was to use squeezeslave on a nslu2 slug with a terratec 7.1 usb soundcard and my old 5.1 soundsystem to play music in my bathroom (front left/right), the anteroom/hallway (rear left/right) and the toilette (center).
Now after fiddling a while and finding out that etch doesn't even have the surround51 preconfigs, I upgraded to debian lenny and FINALLY came up with an asound.conf which does what I want.
Only thing I might improve on is getting the mixing of left/right for the center channel to work, and possibly some filtering for the subwoofer – however I am not exactly sure if that's a good idea given the limited cpu power of the slug.
Anyways here's the asound.conf – note that squeezeslave refuses to work without a sample rate of 44100.
upmix output is outputting the stereo signal to all channels, the rest is for adressing/splitting between individual channels.
So i.e. you could run one application outputting to the frontspeakers and one to the rear.
Thanks to some guy on the internet (i am sorry I can't find the link anymore) for the asound.conf I based this on (it had everything apart from the combined upmix output)
pcm.dshare { type dmix ipc_key 2048 ipc_key_add_uid false # let multiple users share ipc_perm 0660 # IPC permissions (octal, default 0600) ipc_gid audio slave { pcm "hw:0,0" rate 44100 format S16_LE period_time 125000 period_size 6000 buffer_size 24006 channels 8 } bindings { 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 } } pcm.upmix { type plug slave { pcm "dshare" channels 8 } ttable.0.0 1 ttable.1.1 1 ttable.0.4 1 ttable.1.5 1 ttable.0.2 1 ttable.1.3 1 ttable.0.6 1 ttable.1.7 1 } pcm.frontx { type plug slave { pcm "dshare" channels 8 } ttable.0.0 1 ttable.1.1 1 } pcm.centersub { type plug slave { pcm "dshare" channels 8 } ttable.0.2 1 ttable.1.3 1 } pcm.rearx { type plug slave { pcm "dshare" channels 8 } ttable.0.4 1 ttable.1.5 1 } pcm.sidex { type plug slave { pcm "dshare" channels 8 } ttable.0.6 1 ttable.1.7 1 }












