Linux Einsteiger. Wie, welchen Soundserver benutzen? (ALSA, PulseAudio, JACK)

+A -A
Autor
Beitrag
SilverLPs
Schaut ab und zu mal vorbei
#1 erstellt: 22. Jun 2016, 11:35
Hallo zusammen, ich bin gerade dabei meinen PC von Windows auf Linux umzustellen.
Ich habe mich für die Distribution Linux Mint 17.3 KDE entschieden, welche offensichtlich PulseAudio als Soundserver standardmäßig benutzt.

Ich möchte den PC für folgendes konfigurieren und einsetzen.
- Alltags-/Gamingbetrieb, sprich mehrere Anwendungen geben Ton aus (Browser, Musikplayer, Spiele, Teamspeak)
- Musik hören sowohl in 16bit/44KHz als auch in 24bit/192KHz, und das auch während des Alltagbetriebs in hoher Qualität
- Musik kreieren, hier werde ich wohl JACK brauchen

Nun blicke ich langsam nicht mehr so ganz durch, was ich machen soll. Unter Windows habe ich einfach meine Soundkarte auf 24bit192KHz eingestellt, und das ist es offensichtlich gewesen.

Bei Linux mit PulseAudio habe ich offensichtlich auch ein Resampling von allen Quellen, weiß aber nicht wie das arbeitet. Wenn ich PulseAudio auf 24bit192KHz einstelle (und ich weiß nur halb, was ich da in der config machen muss), habe ich dann schon wie bei Windows immer beste Qualität? Denn im Internet habe ich jetzt gelesen, dass Upsampling wohl etwas verursacht, was man Jitter nennt (was soll das sein), habe ich also mit der Einstellung bei meinen 16/44 Dateien Störartefakte? Oder geht das unverfälscht durch (auch während andere Anwendungen Ton ausgeben)? Braucht man eine andere Resampling Metode (Pulse nutzt bei mir speex-float-1)?

Ihr merkt, das ist nicht ganz einfach, da ich Hifi/Production und Alltagsbetrieb unter einen Hut bringen muss, und das als Linux-Anfänger.
Gerade im Hinblick darauf, dass ich eh JACK brauchen werde um mit Producing Programmen zu arbeiten, ist es nicht sinnvoller PulseAudio runter zu schmeißen und komplett auf JACK umzustellen? Wie geeignet ist JACK für den Alltagsbetrieb oder für HiFi-Qualität (24/192)? Kann man das überhaupt vollwertig dafür nutzen? Oder muss ich JACK abstellen und während des Alltagbetriebs mit ALSA leben? Und wie mischt ALSA mir dann mehrere Anwendungen zusammen ohne PulseAudio?

Ich wäre daher froh, wenn mir jemand hier erklären könnte, wie das ganze funktioniert unter Linux, und auf welchen/welche Soundserver ich mich einstellen sollte...

Klar ist halt, ich brauche Software-Mixing für den Alltagsbetrieb, verlustfreie Wiedergabe von 16/44 und 24/192 Medien ohne verlustbehaftetes Resampling und Audio-Workstation Settings (also zwangsweise JACK) gleichzeitig.

Was soll ich machen?
Danke an jeden, der sich die Zeit nimmt, mir zu helfen.

LG Silver
smutbert
Stammgast
#2 erstellt: 23. Jun 2016, 11:45
Also das mit dem Jitter beim Upsampling kannst du vergessen. Es gibt aber natürlich Verluste beim Umrechnen. Beim Herunterrechnen um einen ganzzahligen Faktor, zB von 96 kHz auf 48 kHz ist es klar, dass sich höchst darstellbare Frequenz dardurch verringerz (halbiert), aber bei Umrechnungen mit krummen Verhältnissen, zB 44100 Hz auf 48 kHz kommen noch andere Verluste dazu, die sich aber durch einen ordentlichen Umrechnungsalgorithmus soweit verkleinern lassen, dass sie imho keinesfalls mehr hörbar sind.

ALSA

ist das vorherrschende Soundsystem von Linux und stellt, in Form von Modulen es Linuxkernels die Treiber zu Verfügung, die normalerweise auch in Verbindung mit Pulseaudio, jack, usw. verwendet werden.
Darüber hinaus ist bzw. bietet eine Alsa eine Softwareschnittstelle an, über die Anwendungen den Ton ausgeben (ähnlich WASAPI oder DirectSound unter Windows). Zu dem Zweck gehört auch eine Softwarebibliothek zu Alsa (libasound). die die meisten Anwendungen verwenden um Töne von sich zu geben.

Bestandteil von Alsa sind außerdem Plugins, die zB die Audioausgaben mehrerer Anwendungen mischen können, einen Equalizer bieten und ähnliches. Dieser Teil von Alsa ist es vor allem, der nicht genutzt wird, wenn Pulseaudio oder jack verwendet wird.

Das Plugin zum Mischen der Ausgabe (dmix) mehrerer Anwendungen ist in der Standardkonfiguration üblicherweise bereits aktiv und damit es funktioniert, müssen alle Audioausgaben auf eine einheitliche Samplerate umgerechnet werden.
Hier hatte Alsa lange Zeit einen schlechten Ruf, weil die Standardsamplerate bei den üblichen 48 kHz lag, während ja Musik tendentiell eher mit 44100 Hz vorliegt und Alsa ohne weitere Änderungen an der Konfiguration einfach nur linear interpoliert hat. (In einem anderen Forum hat einmal jemand den resultierenden Klang mit dem eines Röhrenverstärkers verglichen …)
Wenn man allerdings einerseits den Algorithmus zur Umrechnung der Samplerate auf einen etwas besseren stellt, was ohne großen Aufwand möglich ist und außerdem gegebenenfalls die einheitliche Samplerate auf die festlegt, in der die Musik bevorzugerweise vorliegt, halt ich hörbare Qualitätseinbußen für ausgeschlossen.

Die andere Variante wäre, dass man die Musikabspieler so konfiguriert, dass sie den Ton direkt an der Soundkarte ausgeben. unter Umgehung des dmix-Plugins. Dann wird, soweit es die Soundkarte unterstützt, die Musik ohne weitere Umrechnungen wiedergegeben, aber man verliert, zumindest solange man so Musik hört, die Möglichkeit, den Ton mehrerer Anwendungen gleichzeitig zu hören, was aber imho beim Musikhören ohnehin nur stören würde.

Pulseaudio

ist vor allem eine Hardwareabstraktionsschicht, die dafür sorgt, dass man sich nicht mit der etwas gewöhnungsbedürftigen Konfiguration von Alsa herumschlagen muss.
Dank eines Alsa-Plugins, geben auch Anwendungen, die als Audioschnittstelle Alsa nutzen, den Ton an Pulseaudio aus.

Immerhin bietet Pulseaudio eine komfortable Möglichkeit die Lautstärke jeder einzelnen Anwendung zu regeln und stellt sich dabei auch so geschickt an, dass die Lautstärke erst möglichst spät (am Hardwareregler der Soundkarte) reduziert wird und es bietet auch viele praktische und komfortable Funktionien, zB kann man recht einfach das Audiosignal mit Impulsantworten falten, um mit Kopfhörern angenehmer/besser hören zu können, ähnlich wie hier für Windows beschrieben:
http://www.hifi-forum.de/viewthread-211-654.html

Auch was die einheitliche Samplerate zum Mischen angeht, macht Pulseaudio die Sache etwas schlauer:
Man kann zwei Standard-Sampleraten zum Mischen festlegen, zB 44100 Hz und 192 kHz zwischen denen Pulseaudio je nach Bedarf umschaltet, falls möglich (damit Pulseaudio umschalten kann, darf gerade keine Audioausgabe laufen). Allerdings ist der standardmäßig bei Pulseaudio verwendete Algorithmus beim Resampeln schon so gut, dass man sich eigentlich keinerlei Sorgen zu machen braucht.

Was auch geht, ist, dass man die normale Wiedergabe der meisten Anwendungen über Pulseaudio laufen lässt und bei der Musikwiedergabe Pulseaudio umgeht und wie im Alsa-Absatz beschrieben, die direkte Wiedergabe über Alsa ohne weitere Plugins verwendet - natürlich mit denselben (Vor- bzw. )Nachteil, dass man dann während der Musikwiedergabe nichts anderes hören kann.

jack

Mit jack kenne ich mich nicht besonders gut aus, aber ich weiß dass jack sich auf beliebige Art und Weise einbinden lässt:
jack könnte direkt auf die Alsa-Geräte zugreifen und Pulseaudio lässt man dann nur über jack wiedergeben, genauso wie Alsa-Anwendungen oder man lässt jack wie eine normale Anwendung auf Pulseaudio zugreifen.
Man könnte sogar Pulseaudio und jack gleichermaßen wie normale Anwendungen auf Alsa zugreifen lassen, aber das ist schon etwas aufwändiger zu konfigurieren und man würde damit auch einige Nachteile vereinen...

Klar ist jedenfalls, dass jack nur eine fixe Samplerate verwendet und alle Audioausgaben mit anderen Sampleraten umgerechnet werden müssen.

Nichtsdestotrotz gibt es durchaus Leute, die alles über jack laufen lassen egal ob mit oder ohne Pulseaudio.


Falls es dich interessiert, wie ich es mache:
Ich verwende einen Audioausgang um den Ton der meisten Anwendungen wiederzugeben und einen eigenen für die Musikwiedergabe. Ersteres lasse ich über Pulseaudio laufen, letzteres direkt über Alsa ohne Plugins.
So kann ich zB beim Ansehen von DVDs den Raumklang des gefalteten Audiosignals über Kopfhörer genießen und ohne Umschalten oder -stecken Musik vom PC über die Stereoanlage hören, wobei ich die Umgehung jeglicher Sampleratenkonvertierungsplugins oder anderen möglicherweise klangverändernden Dinge nur als Beruhigung des Gewissens und keinesfalls als notwendig erachte.
Slatibartfass
Inventar
#3 erstellt: 23. Jun 2016, 13:21

SilverLPs (Beitrag #1) schrieb:
Unter Windows habe ich einfach meine Soundkarte auf 24bit192KHz eingestellt, und das ist es offensichtlich gewesen.

Bei Linux mit PulseAudio habe ich offensichtlich auch ein Resampling von allen Quellen, weiß aber nicht wie das arbeitet. Wenn ich PulseAudio auf 24bit192KHz einstelle (und ich weiß nur halb, was ich da in der config machen muss), habe ich dann schon wie bei Windows immer beste Qualität?

Auch unter Windows hast Du nicht einfach durch die Einstellung von 24bit192KHz die beste Qualität. Bei dieser Einstellung findet für alle Formate außer eben für 24bit192KHz-Quellen ebenfalls ein Resampling statt. Für das CD-Format 16bit44.1kHz ein ungerades Resampling, bei dem die meisten Werte interpoliert werden müssen, wie smutbert schon schrieb. Dieses ist bei mir durchaus im Vergleich hörbar. Daher spiele ich alle Formate in dem Format ab, wie sie auch in der Datein vorliegen (Stichwort: ASIO).

Salti
SilverLPs
Schaut ab und zu mal vorbei
#4 erstellt: 23. Jun 2016, 13:59
Danke für eure Antworten, vor allem für die lange von smutbert.
Du hast mir schon mal extrem weiter geholfen, ich verstehe jetzt wie das funktioniert.
Ich werde wohl JACK einrichten und PulseAudio für Standardzeugs darüber laufen lassen.
Eine Frage hätte ich da noch, gehen wir davon aus, JACK oder Pulse sind aud 24/192 eingestellt, ich spiele nun 16/44 Lieder ab, das ganze wird automatisch auf 24/192 resampled (oder?). Hören sich meine 16/44er schlechter an als wenn JACK/Pulse auf 16/44 wären? Und wenn, ist das wirklich hörbar? Meine meisten Dateien sind auf 16/44 und generell das meiste läuft in dieser Qualitätsstufe. Aber ich habe auch einige 24/192er, die möchte ich natürlich auch in vollem Umfang aus der Soundkarte kriegen, ohne sie runter zu samplen. Aber wenn 16/44 dann beschissen klingt, wäre das ein Problem, wie siehts da aus?

Danke noch mal, für eure Hilfe bislang.
Slatibartfass
Inventar
#5 erstellt: 23. Jun 2016, 15:10
Ich würde mir sicher nicht nehmen lassen, Klangunterschiede, die nur eine kleine Änderung einer Einstellung erfordern selbt zu beurteilen, und ggf. bei den Dateien in 24/192 die Einstellung ändern, zumal wenn es nur einige sind.

Slati
SilverLPs
Schaut ab und zu mal vorbei
#6 erstellt: 23. Jun 2016, 15:36
Werd ich sowieso machen, aber ich habe eher von der technischen Seite aus gefragt. Kann 16/44 technisch anders klingen, wenn alles auf 24/192 "resampled" wird, oder bleiben die leeren Bits bzw. Frequenzen einfach leer? Weil smutbert sagte ja, ich soll Jitter beim Upsampling vergessen. Ist das Resampling von 16/44 auf 24/192 Upsampling oder ist Resampling was ganz anderes? Wo liegt der Unterschied? Oder hab ich beim Upsampling/Resampling/Wie auch immer andere Qualitätsprobleme als Jitter? Ich möchte Verfälschungen schon von vorne herein verhindern, auf technischer Ebene...
Slatibartfass
Inventar
#7 erstellt: 23. Jun 2016, 16:34
Upsampling ist eine Variante des Resampling, eine andere ist z.B. Downsampling. Resampling ist der Obergriff für eine neues Sampling eines digitalen Audiioformates. Mit Jitter hat das allerdings nichts zutun, sondern mit Rundungsfehler, die insbesondere bei der Umrechnung zwischen Samplefrequenzen mit ungeraden Vielfachen auftereten, wie zwischen 44,1khz und 96kHz oder 192kHz. Bei der Umrechnung von z.B. 48kHz in 96kHz wird zwischen jeden Sample zeitlich einfach ein zusätzliches Sample berechnet und hinzugefügt. Bei der Umwandlung von 44,1kHz in z.B. 96kHz oder 192kHz müssen alle Samples neu berechnet werden, da sich danach alle Samples an zeitlich anderen Positionen befinden. Wie groß die Fehler sind, die dabei auftreten, liegt an der Qualität der verwendeten Algorithmen.

Slati
SilverLPs
Schaut ab und zu mal vorbei
#8 erstellt: 23. Jun 2016, 18:16
Ah ok, jetzt hab ichs verstanden, danke für die Erklärung
Und wie gut sind nun die verwendeten Algorithmen bei PulseAudio/ALSA/Jack?
Bzw. welche Qualitätsstufe könnt ihr mir da empfehlen? Ich hab nen relativ starken Prozessor (AMD FX 8320), aber trotzdem möchte ich natürlich keine lächerlich hohe CPU-Last für fast nichts verursachen.
Abgesehen davon, um Jitter muss ich mir also bei der ganzen Angelegenheit keine Gedanken machen? Oder kann das zusätzlich noch zum Problem für mich werden?

LG Silver

Apropos, wenn 44er Musik beim aufrunden Fehler macht, wäre es dann nicht besser, wenn heutzutage Musik weitestgehend nur noch in 48 KHz verkauft wird? Warum macht das keiner, wenn es doch viel sinnvoller ist?
smutbert
Stammgast
#9 erstellt: 23. Jun 2016, 18:25

SilverLPs (Beitrag #4) schrieb:
[…] gehen wir davon aus, JACK oder Pulse sind aud 24/192 eingestellt, ich spiele nun 16/44 Lieder ab, das ganze wird automatisch auf 24/192 resampled (oder?). Hören sich meine 16/44er schlechter an als wenn JACK/Pulse auf 16/44 wären?
[…]


Gewinnen kannst du durch diese krumme Umrechnung jedenfalls nichts
(anders ausgedrückt, vermutlich verlierst du theoretisch ein ganz klein wenig - hörbar wird das aber nicht sein)


Ich meine es geht hier bei ordentlichen Resampling-Algorithmen ohnehin nur um theoretische Verluste. Nachdem du aber auch von Verfälschungen schreibst...
Das Mischen der Audioausgabe mehrer Anwendungen hat wohl auch Verfälschungen zur Folge:
Immerhin muss das System damit fertig werden, dass zu einem Zeitpunkt möglicherweise beide Anwendungen in derselben Richtung voll ausgesteuert sind und die Summer der beiden Signale also hoffnungslos übersteuert wäre, also einfach abgeschnitten würde (Clipping). Ich vermute es wird also, um solche Härtefälle abzufedern, irgendeine Art der Dynamikkompression verwendet, die sich möglicherweise automatisch dynamisch dazuschaltet oder irgendetwas in dieser Art.
Eine Verfälschung wäre jedenfalls beides, das Clipping genauso wie die Dynamikkompression - ich weiß ehrlich nicht was tatsächlich in Pulseaudio oder im dmix-Plugin von Alsa passiert.

Ich will nur darauf hinaus, dass man die Veränderung des Signals entweder nicht als Teufelszeug abtun darf und sich daher auch ruhig mit hochwertigem Resampling abfinden darf oder eben, und wenn es nur des Bewußtseins wegen ist, darauf verzichten kann, dann aber eben auch nur mit einer Anwendunge gleichzeitig etwas Abspielen kann.

(Oder wie ich es mache dynamisch zwischen den beiden Vorgehen wechselt, je nach Bedarf. Das liefert mir auch noch eine Idee:
Zum kreativen Schaffen, also Musikmachen könntest du einen eigenen Benutzeraccount anlegen, bei dem du hauptsächlich jack verwendest und sowohl Pulseaudio wie auch Alsa so konfigurierst, dass sie über jack laufen...)
Slatibartfass
Inventar
#10 erstellt: 24. Jun 2016, 12:07

SilverLPs (Beitrag #8) schrieb:

Apropos, wenn 44er Musik beim aufrunden Fehler macht, wäre es dann nicht besser, wenn heutzutage Musik weitestgehend nur noch in 48 KHz verkauft wird? Warum macht das keiner, wenn es doch viel sinnvoller ist?

Ganz einfach. Weil 48kHz bei der Spezifikation der CD (Red Book) nicht festgelegt wurde. Folglich könnte kein CD-Player CDs mit 48kHz abspielen. Es gibt aber auch Upsampler für 88.2 oder 176.4kHz, was dann ganze Vielfache von 44.1kHz sind, wobei das Problem nicht auftritt.
In anderen Bereichen ab der DVD wird 48kHz und dessen Vielfache als Samplingrate genutzt.

Slati
Suche:
Das könnte Dich auch interessieren:
S/P-DIF unter Linux, Alsa
mssm am 11.05.2010  –  Letzte Antwort am 06.01.2011  –  9 Beiträge
Soundserver & Fernsteuerung
Eichhörnchen am 05.12.2007  –  Letzte Antwort am 06.12.2007  –  9 Beiträge
Alsa Problem mit Soundkarte
Markus_Panik am 12.06.2014  –  Letzte Antwort am 23.06.2014  –  13 Beiträge
Erfahrung/ Problem mit ALSA!
CASAFREI am 02.02.2021  –  Letzte Antwort am 22.01.2022  –  3 Beiträge
Hifi Soundkarte für Linux
norc am 15.03.2007  –  Letzte Antwort am 17.03.2007  –  4 Beiträge
Günstige USB-Soundkarte Stereo unter Linux
MBurock am 13.07.2014  –  Letzte Antwort am 21.07.2014  –  6 Beiträge
USB Soundkarten machen Knack- Geräusche (alsa-latency)
CASAFREI am 20.01.2021  –  Letzte Antwort am 02.02.2021  –  2 Beiträge
Linux Problem!!!
Andi1020 am 04.04.2004  –  Letzte Antwort am 06.04.2004  –  5 Beiträge
M-Audio Audiophile USB + Linux + Störgeräusche etc.
trapperjohn am 07.11.2007  –  Letzte Antwort am 07.11.2007  –  2 Beiträge
Linux Mint
radio_nordsee am 17.10.2019  –  Letzte Antwort am 17.10.2019  –  2 Beiträge
Foren Archiv
2016

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.682 ( Heute: 11 )
  • Neuestes MitgliedCSchm
  • Gesamtzahl an Themen1.556.223
  • Gesamtzahl an Beiträgen21.654.444