Hardware-Mixing?


lomaxx

Active Member
Joined
Sep 22, 2008
Messages
747
Abgesehen der Dringlichkeit dieser Frage:

Unterstützt der Soundchip der Pandora mit dem darauf laufendem Linux (bzw. den offen Treibern) Hardware-Mixing, d.h. die parallele Ausgabe von mehreren Audiomaterial mit Hilfe von Hardware- und nicht von Software-Berechnung?

Leider ist es unter Linux immer noch so, dass viele der gängigen Soundkarten nur mit Hilfe von Softwaremixern gleichzeitig ausgeben werden können (zB durch ALSA). Bei meinem derzeitigen Rechner (ist ein Sonderfall, da er zwei Soundkarten - onboard und PCI - hat) habe ich mit Software-Mixing immer wieder Ärger gehabt. zB, dass es nach einigen Updates dann wieder nicht ging, was ich doch recht frustrierend, enttäuschend fand.

Da gab/gibt es immer Fälle, dass zB der Flashplayer im Firefox die Soundkarte belegt (auch wenn gerade nichts ausgegeben wird) und dann der im Hintergrund laufende MP3-Player plötzlich nichts mehr ausgeben konnte.

Sicher: Es geht es auch per Software-Mixing, wenn man es richtig konfiguriert und im Grunde gibt man selten mehrere Quellen gleichzeitig aus, so daß es sich nicht sonderlich auf die Performance bzw den Stromverbrauch auswirkt. Aber ich persönlich würde mich sehr über Hardware-Mixing freuen.
 
Ich würde mal sagen, dass es mehr als unwahrscheinlich ist, dass der Sound-Chip Hardware-Mixing unterstützt. Wenn man sich mal so ansieht, wie es bei sonstiger gängiger Hardware so aussieht: Kein Onboard-Sound unterstützt Hardwaremixing (weder AC97 noch HDA) und auch sehr wenige Soundkarten im günstigeren Preissegment unterstützen das. Eine der wenigen "günstigen" Soundkarten die das konnte, war noch die Soundblaster Live/Audigy/Audigy 2. Das ist übrigens nicht nur unter Linux so, auch unter Windows arbeiten fast alle Karten mit Softwaremixing.

Mit OSS4 klappt Softwaremixing allerdings ziemlich gut. ALSA ist leider sehr fehlerhaft und unfertig, so dass dort z.B. sobald ein Programm über die OSS-Emulation Sound ausgibt kein Softwaremixing mehr möglich ist. Theoretisch sollte es über ALSA zumindest dann funktionieren, wenn alle Programme direkt über ALSA den Sound ausgeben und nicht auf die OSS-Emulation von ALSA zurückgreifen.
 
wejp said:
[...] Kein Onboard-Sound unterstützt Hardwaremixing (weder AC97 noch HDA) [...]

Ich denke, da irrst du. Ich bin mir ziemlich sicher, dass mein Asrock K7VT2 Hardware-Mixing hatte. Da bin ich mir ziemlich sicher, da ich dort bei Spielen, welche nur OSS-Ausgabe kannten, xmms im Hintergrund laufen lassen konnte. Bzw. Teamspeak (oss) auch prima ging. Und das AFAIK bevor alsa Softwaremixing kannte bzw. per Default aktiviert war. Der Soundchip hatte AFAIR 4 Stereo-Kanäle mit unterschiedlichen PCM-Mixern. Also wirklich echtes Hardware-Mixing, da man die verschiedenen Kanäle unterschiedlich in ihrer Lautstärke regeln konnte.

Kann natürlich sein, dass das heute wieder unüblicher ist, da man es ja nicht wirklich braucht. (Es sei denn durch verbuggte Software ala Linux' OSS/ALSA/PulseAudio-Krieg... Apropos: Als Alsa OSS abgelöst hat, dachte ich: endlich was vernünftiges, juhu. Nun, da etwas Zeit ins Land gegangen ist und die Alsa-Jungs sich uneinig sind, was sie eigentlich wollen und Distributionen wie Ubuntu wirklich merkwürdige Pfade konfigurieren (Soundprogramm->PulseAudio->Alsa->PulseAudio->Alsa->Soundhardware), überlege ich mir echt nochmal das gute alte OSS anzugucken ;-) )
 
hede said:
wejp said:
[...] Kein Onboard-Sound unterstützt Hardwaremixing (weder AC97 noch HDA) [...]

Ich denke, da irrst du. Ich bin mir ziemlich sicher, dass mein Asrock K7VT2 Hardware-Mixing hatte. Da bin ich mir ziemlich sicher, da ich dort bei Spielen, welche nur OSS-Ausgabe kannten, xmms im Hintergrund laufen lassen konnte. Bzw. Teamspeak (oss) auch prima ging. Und das AFAIK bevor alsa Softwaremixing kannte bzw. per Default aktiviert war. Der Soundchip hatte AFAIR 4 Stereo-Kanäle mit unterschiedlichen PCM-Mixern. Also wirklich echtes Hardware-Mixing, da man die verschiedenen Kanäle unterschiedlich in ihrer Lautstärke regeln konnte.
Oh, tatsächlich. Du hast völlig recht. Es gab wirklich einige Chipsätze, die Hardware-Mixing über den Onboard-Sound unterstützt haben.
Kann natürlich sein, dass das heute wieder unüblicher ist, da man es ja nicht wirklich braucht. (Es sei denn durch verbuggte Software ala Linux' OSS/ALSA/PulseAudio-Krieg... Apropos: Als Alsa OSS abgelöst hat, dachte ich: endlich was vernünftiges, juhu. Nun, da etwas Zeit ins Land gegangen ist und die Alsa-Jungs sich uneinig sind, was sie eigentlich wollen und Distributionen wie Ubuntu wirklich merkwürdige Pfade konfigurieren (Soundprogramm->PulseAudio->Alsa->PulseAudio->Alsa->Soundhardware), überlege ich mir echt nochmal das gute alte OSS anzugucken ;-) )
ALSA und allgemein die Situation von Sound unter Linux ist wirklich eine Plage. ALSA sollte man am besten komplett entsorgen und entweder etwas brauchbares neues entwickeln oder OSS4 erweitern und in den Kernel integrieren. Die API von OSS ist im Gegensatz zu ALSA immerhin einfach gehalten und dadurch verständlich und dazu noch gut dokumentiert, ganz im Gegensatz zu ALSA, wo praktisch nichts richtig dokumentiert ist.
 
wejp said:
ALSA und allgemein die Situation von Sound unter Linux ist wirklich eine Plage. ALSA sollte man am besten komplett entsorgen und entweder etwas brauchbares neues entwickeln oder OSS4 erweitern und in den Kernel integrieren. Die API von OSS ist im Gegensatz zu ALSA immerhin einfach gehalten und dadurch verständlich und dazu noch gut dokumentiert, ganz im Gegensatz zu ALSA, wo praktisch nichts richtig dokumentiert ist.

Scheint mir auch so. Alsa ist komplex. Und die Vorteile, die man aus den komplexen Teilen ziehen könnte (wie z.B. dmix, mehrkanalmixing, 2:1/1:2-Wege, etc.) , die nutzt man nicht, wenn man dann eh Sound Deamons ala esound, arts oder jetzt pulseaudio verwendet, die das auch noch alles zusätzlich anbieten. Da kann man sich die Komplexität im Kernel sparen.
Nein sicher, ein einfacher Treiber mit simpler und gut dokumentierter api im Kernel und darauf einen Userlevel Daemon ala Pulseaudio ODER sowas wie alsa, aber dann ohne pulseaudio+co. Entweder eine Soundschnittstelle im Userspace oder im Kernelspace. Aber eine Kernel-Schnittstelle, die Sounddaten an einen Userspace-Daemon weiterreicht, der sie dann wieder in den Kernel leitet... so ein Quatsch.

So sehe ich das jedenfalls derzeit, aber ich kenne mich damit auch nicht wirklich aus. Vielleicht haben sich die Verantwortlichen ja was dabei gedacht. ;-)
 
Back
Top