Eine kurze Notiz meiner Settings für eine Emu20k1 Soundkarte mit Pulseaudio.
Die Vorgeschichte
Nachdem ich von einem Arbeitskollegen 2013 ein Teufel Set Magnum PE 5.1 bekommen habe, war ich wie zuvor zunächst zufrieden mit dem Sound unter Linux und unter Windows – nur ein Upgrade der Lautsprecher sozusagen.
Das änderte sich, als ich den Subwoofer tauschen musste und das Nachfolgermodell aus einem Teufel E400 Kit als Ersatz zum Einsatz kam. Dieser Subwoofer hat keine Frequenzweiche, sodass ich jetzt erstmal ziemlich angeschmiert war, weil entweder alle Frequenzen direkt oder gar nicht auf den Sub gegeben wurden.
Das entspricht leider gar nicht meinen Hörgewohnheiten, ich mag es, wenn der Sub erst ab etwa 80-90hz untenrum einsetzt. Also fing ich an, eine geeignete Alsaconfig für den Onboardsound meines damaligen Mainboards zu zimmern, um den alten Hörzustand nun per Software herzustellen.
Alsa arbeiete und ich war zufrieden.
Doch leider konnte der Onboardsound unter Windows nicht so flexibel konfiguriert werden. Weshalb ich mich vor der Wahl sah, entweder einen Receiver für den Computer zu kaufen oder etwas anderes zu probieren. Etwas anderes, das war dann bei eBay Kleinanzeigen eine Soundblaster X-Fi Titanium mit einem Emu20k1 Chip, das war einmal der heissteste Scheiss mitte der 2000er und dazu noch auf einem PCI-Steckplatz. Da ich glaube, dass Soundkarten nicht wesentlich schlechter werden im Laufe der Zeit und Musik auch schon in den 2000ern gut klang, habe ich so ein Teil für nen Zwanni mit Breakoutbox geholt. Die Creative Karten hatten alle eines gemeinsam: Grottige Windowstreiber, aber dank DanielK ging da plötzlich nochmal ein bißchen was. Jedenfalls konnte das DanielK-paket und später auch der Creative Eigene Treiber unter Windows 7 eingesetzt werden und boten ein Feature namens „Bassumleitung“. Der Sound unter Windows 7 war also gerettet und unter Linux konnte ich mir wieder eine Alsaconfig bauen, die einwandfrei funktionierte.
Alsa arbeiete und ich war zufrieden.
Pulse-ierendes Ungemach droht
Problematisch wurde es langsam, als Microsoft Skype kaufte, es zu einem bunten Stück Dreck umbaute, das aber immernoch jeder hatte. Neben den Verschlimmbesserungen die eingebaut wurden, entschied man sich irgendwann den Support für Alsa Audio einzustellen und nur noch Pulseaudio zu unterstützen. Ich musste also Pulseaudio angehen.
Meine Erlebnisse waren desaströs: Außer Stereo bekam Pulse nichts gebacken, in den Bugreports wimmelte es von Leuten, die meine Probleme teilen. An eine LFE-Frequenztrennung wurde zwar gedacht, aber die Configzeile waren wirkungslos. Wegen einem Programm wollte ich mein gern gemochtes Setup nicht aufgeben und degradierte Skype damit zum einfachen Messenger, ein Rücksprung auf ein Niveau, das einst ICQ 1998 anbot. Damit abgefunden war ich wieder im bekannten Zustand
Alsa arbeiete und ich war zufrieden.
Firefox unterstützt nur noch Pulseaudio
Was für ein Schock. Nach dem letzten Arch Update gab es keinen Sound mehr auf Youtube, also keine Musik mehr bei der Arbeit am heimischen HauptPC. Andere meiner Computer hatten bereits Pulseaudio, aber auch nur, weil hier simpler Stereosound anlag und ich dem System nicht mehr zutraute.
Richtig problematisch wurde das nun, als z.B. der Emulator von AndroidStudio keinen Ton ausgeben will – ungünstig wenn man eine App für die Uni schreibt. Endgültiger Auslöser für einen neuen Versuch mit Pulse war, als ich Tutorialvideos zu diversen Container/Virtualisierungsthemen angucken wollte.
Also nochmal drangewagt und siehe da: Ich habe es am laufen. Deshalb möchte ich für alle Leidensgenossen zwei kleine vielleicht nützliche Tipps hinterlassen…
Die Settings
Bei mir reicht es glücklicherweise erstmal wenn ich am Server das Remixing und das LFE-Remixing in Pulseaudio (a.k.a „Bassumleitung“) aktiviere und die gewünschte Hz-Trennfrequenz angebe.
/etc/pulseaudio/pulseaudio.conf
; resample-method = speex-float-1 enable-remixing = yes enable-lfe-remixing = yes lfe-crossover-freq = 80
Leider reicht das für die EMU20K1 nicht ganz. Ich höre jetzt zwar den Sound auch über den Subwoofer, aber ich habe Knacksen bis hin zu Rauschen im Ton. Sodass man von Genuss nicht im Ansatz sprechen kann. Dank Askubuntu (https://askubuntu.com/questions/371595/for-pulseaudio-what-does-tsched-do-and-what-are-the-defaults | https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index4h3) habe ich den Tsched-parameter gefunden und den Timing Scheduler abgeschaltet, da er auf diesen Karten scheinbar fehlerhaft ist.
Since 0.9.11. Use system-timer based model (aka glitch-free). Defaults to 1 (enabled). If your hardware does not return accurate timing information (e.g. Creative sound cards) you can try to set tsched=0 to enable the interupt based timing which was used in 0.9.10 and before.
/etc/pulseaudio/default.pa
### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect tsched=0
Ob die Setting gegriffen haben kann man testen, in dem man zunächst den Pulseaudio-Server abschiesst:
killall pulseaudio
und man dann gucken kann, ob er die neuen Settings angezogen hat:
[dennis@Monster ~]$ pactl list | grep tsched Argument: tsched=0 Argument: device_id="2" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1" Argument: device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1" Argument: device_id="0" name="pci-0000_06_00.0" card_name="alsa_card.pci-0000_06_00.0" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
Damit ist bei mir zumindest aktuell (Stand seit einer Stunde 😉 ) das Knacksen und Rauschen weg. Ich hoffe es bleibt so.
Mit Pavucontrol habe ich dann noch die Kanäle einzeln so zurechtgeregelt, dass die Lautstärke in etwa den Abständen zu meinen Boxen entspricht. Leider ist das noch nicht die Optimale Lösung, weil Kmix/Plasma-pa die einzelnen Kanäle ab und an doch wieder bündeln und mir die Einstellung „zerregeln“. Hier muss ich noch schauen, ob ich vielleicht fixe Offsets im Server oder sonstwo festtackern kann. Aber das wird ein anderes Kapitel.
Sollte sich etwas ändern, oder ich auf weitere Fehler bei Pulse stoßen, aktualisiere ich den Artikel. Bis dahin hoffe ich, dass ich jetzt wieder Skype halbwegs benutzen zu können und endlich wieder Youtubemusik zu hören.
> Alsa _arbeitete_ und ich war zufrieden.
Typo.
Hat es eigentlich mal irgendwer geschafft, die Frontpanel (Elite Pro/Fatal1ty) in Linux ans laufen zu kriegen? Habe neulich erst ein komplettes recap an meiner Elite Pro vollzogen und wollte vor der Einführung von Win11 dann auch mal auf Linux umsteigen. Ich weiß, die Karte ist jetzt schon nen paar Tage älter, kann aber mit den Onboard Realteks noch locker mithalten. Daher wäre das momentan doch irgendwie nen kleiner Showstopper für mich …