Wie benutze ich Jack? Wie funktioniert Linux? [geschlossen]

7

Ich versuche, Jack einzurichten, da ich gehört habe, dass es das Linux-Äquivalent zu ASIO unter Windows ist. Ich spiele zum Spaß Gitarre und dachte, es wäre cool, mit Ardour zu spielen oder ein FOSS-Äquivalent zu Guitar Rig zu finden.

Allerdings verstehe ich nicht ... na ja, irgendetwas. Ich verstehe nicht, was Jack tut. Soweit ich das beurteilen kann, ist der allgemeine Fluss

[sound hardware][kernel][JACK][ALSA][PulseAudio][Phonon][my headphones]

(Phonon kommt herein, weil ich KDE benutze. Ich denke.)

Ich weiß eigentlich nicht, was die Pfeile darstellen. Die JACK-Website enthält im Wesentlichen keine benutzerorientierte Dokumentation für Anfänger, mit Ausnahme einer Seite, auf der die Verwendung von JACK mit PulseAudio beschrieben wird.

Wo kann ich als Anfänger, der unabhängig von JACK nicht versteht, wie Sound unter Linux funktioniert, lernen? Ich möchte den Soundstack verstehen. Aber für JACK konnte ich nur das unfruchtbare Wiki finden (einschließlich zweier saftiger Links mit dem Namen Konfigurieren und Ausführen eines JACK-Servers und Einrichten einer einfachen Audiokette , die sich beide als "Coming Soon" -Seiten herausstellen, die nicht bearbeitet wurden in fünf Jahren) und einen Artikel im Linux Journal aus dem Jahr 2005 .

Viele Dinge verwirren mich. Wie kann ich feststellen, welche Audiogeräte Linux erkennt? Ich habe drei: einen Onboard-Chip, ein USB-Audio-Interface (ein M-Audio FastTrack) und eine USB-Webcam mit Mikrofon. Werden all diese Dinge von Linux erkannt? Registrieren sich alle speziell als Audiogeräte? Muss jedes Gerät unabhängige Treiber für JACK, ALSA, PulseAudio usw. haben? Gibt es eine grundlegende Möglichkeit, mein Gerät zu testen, um sicherzustellen, dass es eine Ausgabe hat? Gibt es eine Möglichkeit, meine Geräte zu überwachen, um festzustellen, ob die Software sie tatsächlich verwendet?

Im Moment ist Amarok-Sound hörbar, Youtube-Sound jedoch nicht. Amarok läuft auch über meinen USB FastTrack anstelle meines integrierten Soundchips. Wasserstoff weigert sich zu starten, vermutlich weil ich JACK oder Alsa oder etwas falsch konfiguriert habe. Ich habe keine Ahnung, wie ich den Reim oder Grund für diese Dinge herausfinden soll.

Leo-the-Manic
quelle
1
"Als Anfänger, der unabhängig von JACK nicht versteht, wie Sound unter Linux funktioniert, wo kann ich lernen? Ich möchte den Sound-Stack besser verstehen." - Ja, schwer zu sagen, was gefragt wird. Oder nur schwer zu beantworten?
mlvljr

Antworten:

10

Bei meinen Bemühungen mit Linux-Sound habe ich das automatische Spawnen von Pulse Audio deaktiviert (damit es beim Herunterfahren nicht neu gestartet wird):

Hinzufügen autospawn=nozu ~/.pulse/client.conf.

  • Hör auf mit pactl exit
  • Beginnen mit pulseaudio

Wenn ich Live-Sound mache oder ähnliches, schalte ich PA aus und starte nur JACK. Keine PA-Brücke. Ich habe die Latenz mit PA oder JACK + PA noch nie zufriedenstellend gesenkt.

Dieser Artikel scheint eine ziemlich gute und schnelle Einführung in die Ebenen zu geben, in der auch erwähnt wird Phonon.

Sie haben dies vielleicht gelesen und sind auch nicht auf dem neuesten Stand, würden Sie aber vielleicht einem Verständnis näher bringen: Linux Music Workflow: Wechseln Sie mit Kim Cascone von Mac OS X zu Ubuntu . Beachten Sie das Diagramm über der Überschrift "Workflow" . (Diese finden Sie auch hier unter JACK-Schema .) Lesen Sie auch die Links, z. B. die oben stehende Einführung in Linux Audio , obwohl Sie ab 2004 einen schnellen Überblick über ALSA erhalten.


Obwohl ich mit beiden nicht vertraut bin, glaube ich, dass ein guter Ansatz darin besteht, das Lernen in verschiedene Teile aufzuteilen.

  1. Machen Sie sich mit ALSA vertraut
  2. Machen Sie sich mit JACK vertraut (vor allem, weil Sie Studioarbeit machen möchten.)
  3. Machen Sie sich mit Pulse Audio vertraut

in dieser Reihenfolge. Es ist kein Wunder, dass man Schwierigkeiten hat, den Linux-Sound zu verstehen. Das hat ziemlich viel mit der Geschichte zu tun und wie sich alles entwickelt hat. Das ist auch der Grund, warum es eine gute Sache ist, die Geschichte davon zu lernen, wenn man es wirklich verstehen will. Also nochmal - ALSA ist ein guter Anfang. Schnüffeln Sie an OSS. Und arbeite dich hoch.

Befolgen Sie eine dieser Anleitungen , um das Gerät schnell zum Laufen zu bringen .

Einfach ausgedrückt; ALSA ist Teil des Kernels und weiß, wie man mit verschiedener Hardware umgeht. JACK und Pulse Audio verwenden API, um die Hardware zu steuern und mit ihr zu interagieren. ALSA kann auch alleine als Soundserver verwendet werden. Anwendungen verwenden die JACK / PA-API, um Multithread-Soundarbeit zu leisten.

Eine schnelle Ansicht Ihres Systems erhalten Sie, indem Sie das hieralsa-info.sh gefundene Skript ausführen .

Ein sehr vereinfachtes Diagramm einer verschwommenen Ansicht, das einige der Verbindungen zeigt:

 +------------------------------------------------+
 |                   SOUNDCARD                    |
 |------------------------------------------------|      _____  __
 |                  ___________                   |     /     \/  \
 |                  |   ADC   | <---- analog in --[o---7 :===========|==|==|=[';]
 |                  -----|-----                   |     \____7 \__/
 |    __________ AMP     |                        |
 |   | MIXER |----+------o                        |
 |   +---|---+-- AMP_____|______                  |        _______
 |       |          |   DAC    | ---> analog out -[o------[ o o o ]  ♫ ♬ ♪ ♩ ♭ ♪
 |       |          +----------+                  |       |       |
 |       |                                        |       |  (o)  |
 |   -- -+---^-- --v-- -- -- --^-- --v-- --+--    |       |       |
 |                    CONTROLS                    |       | ((0)) |
 |                                                |       |_______|
 |                                                |
 +------------------------------||----------------+
                                ||
 ADC: Analog to digital         ||
 DAC: Digital to analog         |- udev trigged and mounted
 _______________________________||________________
|                                                 |
|                     KERNEL                      |
|¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ -|-|-|-|- ¨ ¨ ¨ ¨ ¨|
|                                                 |
|       ALSA API <--> [Device Drivers]            |
|         ^  |        module-alsa-card   +--------|--
|         |  |                           |        |
+---------|--|---------------------------|     Memory Buffer I/O
:         |  v                           |        |
|                                        +----|---|--
| JACK ------------ PULSE AUDIO --------------+   |
|             sinks                           |   |--
| * hardware-access-points * hardware-sink    |   |  Uses ALSA API for HW I/O
| * virtual-devices        * mediaplayer-sink |   |  Mixing, Control etc.
|                          * recorder-sink    |   |
|                          * ...              |   |--
|                                             |   |
|-----------------|------|--------------------|---|
|               APPLICATIONS -----------------+   |
|-------------------------------------------------|
|                                                 |
| Software based mixing                           |
|                                                 |
+-------------------------------------------------+
Runium
quelle
ALSA, PulseAudio und OSS machen alle dasselbe. JACK leitet Audio weiter.
Geremia