So, ich habe jetzt für mich nach vielem rumprobieren eine für mich passable Lösung gefunden.
Das Problem war bisher, daß bei 5.1 Soundquellen (z.B. Filme oder AC-3 Soundfiles) die Wiedergabe über den Subwoofer, die Centerbox und Surroundspeaker zwar immer funktioniert hat, aber nur bei Stereo Musikdateien hatte ich nur eine Wiedergabe über die beiden vorderen Lautsprecher, aber ohne Subwoofer und letzteres war ein großes Problem, weil die Musik ohne Subwoofer einfach blechern klingt.
Totem und VLC waren dabei natürlich auf ein 5.1 Lautsprechersystem eingestellt, daran liegt es also nicht.
Den oben genannten Tipp mit dem LADSPA Plugin und Low Pass Filter für ALSA habe ich probiert, aber dummerweise funktioniert er unter Ubuntu 10.10 nicht.
Das Problem liegt hier vermutlich an dem Paket libasound2-plugins, welches für Ubuntu 10.10 mal wieder ohne LADSPA Support compiliert wurde, so daß
keine "type ladspa" Option in der .asoundrc Datei verwendet werden kann.
Beim Abspielen mit aplay und einer entsprechendem Low-Pass LADSPA Filterkonfiguration in der .asoundrc Datei erhält man dann eine typische "Unknown PCM" Fehlermeldung, was darauf schließen läßt, daß das LADSPA Plugin "type ladspa" für ALSA nicht compiliert wurde.
Siehe dazu auch:
http://ubuntuforums.org/showthread.php?s=e9ae88b9a52baf36dc6eccfb9007edce&p=7893559#post7893559
Danach habe ich versucht mit dem Jackd Soundserver eine Surroundausgabe der Musikdatei zu erzwingen.
Das hat auch funktioniert. Dazu mußte ich in Jack Control bei den Einstellungen das Ausgabegerät auf ein Multichannel Device umstellen, bei meiner Audigy 2 war das hw:0,3.
Um Fehlermeldungen zu vermeiden mußte ich darüberhinaus auch noch das Eingabegerät auf ein Multichannel Capture Device/Playback einstellen.
Bei mir war das dann hw:0,2.
Damit hatte ich dann über den Jack Soundserver genügend playback und capture Devices.
Einen Tiefpassfilter konnte ich dann anschließend mit Jack Rack einrichten und dann in Jack Control bei den Verbindungen eine Verbindung von der Abspielsoftware z.b. mplayer (gestartet mit -ao jack) zu dem Inputkanal von Jack Rack anlegen und von dort dann eine weitere Verbindung von dessen Outputkanal auf das playback Device Nr 8, dieses war mein Subwoofer.
D.h. nur der Sound für den Subwoofer wurde über Jack Rack und das dort aktivierte LADSPA Plugin geroutet.
Für alle anderen 5 Kanäle habe ich dann noch eine jeweils direkte Verbdinung herstellen müssen.
von output 0 nach playback 3 = hinten links
von output 1 nach playback 4 = hinten rechts
von output 0 nach playback 5 = links + center
von output 1 nach playback 6 = rechts + center
von putput 0 & 1 nach Jack Rack input und von Jack Rack output nach playback 8 = subwoofer
Die Devices
playback 7 = center
playback 9 = links
wurden nicht verwendet, da ich komischerweise für den rechten vorderen Lautsprecher kein playback Device hatte.
Daher habe ich die obigen Playback 5 und 6 Devices verwendet.
Die Verbindung zu Playback 1 und Playback 2 mußte ich dann anschließend noch trennen.
Damit lief dann die Musik im 5.1 Modus über alle meine Lautsprecher und den Subwoofer.
Das Problem dabei war nur folgedes.
1. Die gesamte Konfiguration mußte jedesmal alles neu eingestellt werden und Jackd mußte extra gestartet werden, nur um darüber Musik zu hören.
Das war mir zu umständlich. Für die Konfiguration bietet jack control zwar die Möglichkeit an, die Einstellungen zu speichern, aber Jack Rack wird dadurch ja nicht automatisch gestartet, sondern muß ebenfalls gestartet und dann dessen Konfiguration geladen werden.
Also ein enormer Aufwand, aber es gab ein viel schwerwiegenderes Problem:
2. Das ganze lief leider instabil. Jack Rack bzw. das LADSPA Plugin verkorkste nach einiger Zeit vollständig die Soundausgabe über den Subwoofer, so daß aus dem gar nichts mehr rauskam und wenn dann nur ein Brummen.
Jack war also keine Lösung.
Meine Lösung die ich schließlich gefunden habe war Mplayer.
Mit diesem kann man intern eine 2 Kanalquelle auf 6 Kanäle aufmotzen und dazu noch den Subwoofer und Centerlautsprecher verwenden.
Um eine Musikdatei mit mplayer via Kommandozeile abzuspielen und auf einem 5.1 System auszugeben ist daher folgendes Kommando notwendig:
mplayer -af center=4,sub=100:5,channels=6:6:0:0:1:1:0:2:1:3:4:4:5:5 musikdatei.mp3
Damit funktioniert die Musik über mein Teufel 5.1 System.
Und wenn man den Befehl in ein Script packt, dann kann man sich die Tipparbeit sparen.
Alternativ dazu, kann man sich auch eine Konfigurationsdatei für mplayer anlegen.
Die Konfiguration muß dann folgendes beinhalten:
MPLAY_AF="center=4,sub=120:5,channels=6:6:0:0:1:1:0:2:1:3:4:4:5:5"
Alternativ mit der equalizer und Volume Option dann folgendes:
MPLAY_AF="center=4,sub=120:5,channels=6:6:0:0:1:1:0:2:1:3:4:4:5:5,equalizer=0:0:0:0:0:0:0:0:0:0,volume=0:1"
Und wer eine bequeme Wiedergabeliste haben möchte, der kann einfach das GUI Frontend kplayer für mplayer verwenden und
unter Settings → Configure KPlayer → Advanced folgendes in das "Additional command line arguments" Feld eintragen und danach auf Apply drücken:
-af center=4,sub=100:5,channels=6:6:0:0:1:1:0:2:1:3:4:4:5:5
Prinzpiell ist das ganze zwar nur eine Notlösung und ein funktionierender LADSPA PCM Support bei der ALSA Lib wäre mir lieber,
aber da ich das ganze nur zum Musik hören brauche und kplayer ein ausreichend gutes GUI Frontend ist, stört mich das nicht weiter.
Auf jedenfall bin ich froh eine für mich funktionierende Lösung gefunden zu haben, denn vorher war das einfach grauenhaft mit der blechernd klingenden Musik. Da habe ich dann immer vorher Windows gebootet, nur um die Musik vernünfig anhören zu können. Diesen Schritt kann ich mir nun zum Glück sparen.
EDIT:
Die Zahl 100 bei der Option "sub=100" steht für die Frequenz, ab dem der Tiefpassfilter die höheren Frequenzen abschneidet.
Wer will, der kann den Wert auch etwas erhöhen, aber Vorsicht, je höher die Frequenz wird, desto eher kann man die Position des Subwoofers ermitteln.