Wie gelangt man zu einer perfekten Jackd-Konfiguration, die problemlos und sofort einsatzbereit funktioniert?

Wie gelangt man zu einer perfekten Jackd-Konfiguration, die problemlos und sofort einsatzbereit funktioniert?

Während der Arbeit an einemPPAzur Bereitstellung von Binärdateien fürSonic Pi, die Benutzer der PPA-Binärdateien stolpern immer wieder über jackd. Wie kann man es ihnen einfacher machen?

Sonic Pi ist ein pädagogisches Musiktool, das einen elektronischen Synthesizer mit einer Programmiersprache kombiniert. Es richtet sich an Anfänger und Schulkinder, umProgrammieren mit Spaß und Musik lehren. Das Hauptinstallationsziel der Software ist Raspbian, wo sie vorinstalliert ist. Undder Codeenthält einige integrierte Hacks, äh, ich meine, pragmatische Lösungen, um Jackd auf dem Raspberry Pi zum Laufen zu bringen. Aber diese Hacks sind RPi-spezifisch und funktionieren auf anderen Distributionen nicht gut.

Hier ist die Situation:

  • Sonic-Pi ist eine grafische IDE
  • mit einem im Hintergrund laufenden Ruby-basierten Server, der die Musik steuert
  • zum Abspielen der Musik wird scsynth (ein Teil von Supercollider) als Synthesizer-Backend verwendet
  • scsynth erfordert derzeit die Verwendung von jackd zur Audiowiedergabe unter Linux
  • der Ruby-basierte Sonic Pi-Server startet jackd (falls es nicht bereits läuft) und dann scsynth

Jetzt beginnen die Probleme, wenn Sie Ubuntu verwenden (und ich vermute, auch Debian):

  • Die Standardkonfiguration von jackd unter Ubuntu scheint nicht bei allen zu funktionieren. Auf manchen Systemen startet es einfach nicht und der Benutzer muss qjackctl verwenden oder in den Protokollen stöbern und die Konfigurationsdateien ändern.
  • wenn jackd startet,es blockiert PulseAudio, sodass alle bereits laufenden Programme, die Audio verwenden, nicht mehr funktionieren.
  • jackd bevorzugt Echtzeitplanung, aber Ubuntu ist dafür nicht vorkonfiguriert und erfordertÄnderungen am Benutzeres zu tun

Alles in allem,Es ist ein Chaos. Dies ist nicht die Erfahrung, die ein unerfahrener Benutzer nach der Installation von Sonic Pi machen möchte.

Es gibt zwar Anleitungen, wie man jackd mit Ubuntu zum Laufen bekommt, aber diese durchzuarbeiten ist zu viel verlangt für einen unerfahrenen Benutzer oder einen Lehrer, der die Software einfach nur zum Laufen bringen möchte.

Ich suche also nach einer Möglichkeit,stellt sicher, dass nach der Installation von Sonic Pi aus der .deb-Datei,Dinge mit jackd funktionieren sofort und problemlos, keine manuelle Konfiguration erforderlich.

Die Wunschliste ist diese:

  • eine Konfiguration für jackd, die sofort funktioniert
  • für alle nicht privilegierten Benutzerkonten
  • das PulseAudio/ALSA auf demselben System nicht blockiert
  • auf einem Standard-Ubuntu (und wenn möglich auch auf einem Standard-Debian und Raspbian)
  • und die Standard-Hotkeys für Audiomixer und Lautstärkeregelung der Distribution funktionieren weiterhin

Gibt es das überhaupt?

Gibt es hierfür eine .deb-Datei (oder kann eine .deb-Datei erstellt werden), die Benutzer einfach installieren können, um es entsprechend zu konfigurieren?

Antwort1

Ich habe die Takkat-Kommentare gelesen und vielleicht ist das für Sie in Ordnung:

  • AusHier, Installieren "Pulseaudio-Modul-Buchse" Bearbeiten Sie dann /etc/pulse/default.pa ( sudo gedit /etc/pulse/default.pa) : Fügen Sie die folgenden Zeilen unterhalb der Zeile „ #load-module module-alsa-sink
    load-module module-jack-sink
    load-module module-jack-source“ hinzu
    . Erstellen oder ändern Sie dann .jackrc in Ihrem Home-Verzeichnis mit:
    /usr/bin/jackd --no-realtime -dalsa -dhw -r44100 -p1024 -n2

Starten Sie pulseaudio neu killall pulseaudio(und stoppen Sie jackd, falls es läuft killall jackd): pulseaudio wird automatisch neu gestartet und jackd wird ebenfalls gestartet, beide sind korrekt verbunden, alsoJackd und Pulseaudio können gleichzeitig verwendet werden.
(das funktioniert auf meinem Ubuntu 14.04-PC).

  • Echtzeit ist nur erforderlich, wenn Sie eine geringe Latenz für Mehrspuraufnahmen wünschen. Die obige Jackd-Konfiguration erzeugt eine Latenz von 21 ms, was für die meisten Audioprogramme gut ist (die Latenz kann erhöht werden, indem in .jackrc 2048 statt 1024 eingestellt wird, siehe jackd --help).
    Sie müssen den Benutzern also keinen Echtzeitzugriff gewähren,
    (Sie können eventuell vorhandene Warnungen ignorieren („Echtzeitplanung kann nicht verwendet werden“).) .
    Der -dhwParameter sollte auf den meisten PCs funktionieren, kann aber weggelassen werden, um das Standard-Audiogerät zu verwenden, oder geändert werden, um -d hw:1,0ein zweites Audiogerät zu verwenden
  • Möglicherweise ist ein weiterer Schritt erforderlich, wenn Sie jackd manuell mit dem Audio-Ein-/Ausgang verbinden müssen, indem Sie „Qjackctl connect manager“ verwenden (die meisten Programme verbinden sich automatisch mit jackd, in diesem Fall ist dies nicht erforderlich): Installieren Sie „jack tools“ und verwenden Sie „jack_connect“-Befehle, um diese Verbindungen zu skripten (Sie können auchaj-Schnappschuss zum Speichern und Wiederherstellen von Klinkenverbindungen)

verwandte Informationen