Wie wechsle ich unter Ubuntu 12.04 LTS x86 Linux zwischen Pulseaudio und Jack?

10

Es gibt einige Anwendungen auf meinem Ubuntu 12.04, für die Jack erforderlich ist. Ohne Jack starten sie einfach nicht, also muss ich Jackd + (QjackCtl) behalten. Jetzt ist das Problem, dass jackd nicht immer richtig startet. Manchmal funktioniert es gut, manchmal schlägt der Start fehl (ich vermute, Pulseaudio ist der Grund).

Jetzt habe ich eine Problemumgehung gefunden, um Jack und Pulseaudio Seite an Seite laufen zu lassen. Hier ist, was ich getan habe

1. Installing pulseaudio-modules-jack
2. Editing /etc/pulse/default.pa and adding these lines

    ### Load audio drivers statically
        load-module module-jack-sink
        load-module module-jack-source

Nach dem Neustart des PCs kann ich sehen, dass sowohl Jack als auch Pulseaudio in Ordnung sind. Aber hier ist ein weiteres Problem: Die Tonausgabe der Lautsprecher ist sehr niedrig, die CPU-Spitzen haben erheblich zugenommen, Hardwaregeräte werden nicht angezeigt. Die Soundsteuerung zeigt ein 5: 1-Soundsystem, bei dem ich nur ein 2: 1-Soundsystem habe.

Ich brauche einen Weg, um zwischen Pulseaudio und Jack zu wechseln. Ich bin kein professioneller Musikmacher. Ich brauche Jackd nur, wenn ich Ardour oder eine andere App benutze, die Jack braucht. Sie müssen denken, dass Pulseaudio beim Starten von Jack automatisch deaktiviert wird. Das ist bei mir aber nicht der Fall. Zuvor hatte ich es mit Erros zu tun

Hier ist ein Protokoll dieses Fehlers

14:36:48.194 Patchbay deactivated.
    14:36:48.198 Statistics reset.
    14:36:48.228 ALSA connection change.
    14:36:48.241 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    Registered event listener change listener:  true 
    14:36:48.258 ALSA connection graph change.
    14:37:12.679 D-BUS: JACK server could not be started. Sorry
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    QSpiAccessible::accessibleEvent not handled:  "2"  obj:  QMessageBox(0xbfd7c2d0) "" 
    FIXME: handle dialog start. 
    Sat Feb  2 14:37:12 2013: Starting jack server...
    Sat Feb  2 14:37:12 2013: JACK server starting in realtime mode with priority 10
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Cannot lock down 82241434 byte memory area (Cannot allocate memory)[0m
    Sat Feb  2 14:37:12 2013: control device hw:0
    Sat Feb  2 14:37:12 2013: control device hw:0
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Failed to acquire device name : Audio0 error : Cannot allocate memory[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Audio device hw:0 cannot be acquired...[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Cannot initialize driver[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: JackServer::Open() failed with -1[0m
    Sat Feb  2 14:37:12 2013: [1m[31mERROR: Failed to open server[0m
    Sat Feb  2 14:37:13 2013: Saving settings to "/home/soham/.config/jack/conf.xml" ...
    FIXME: handle dialog end. 
    14:37:17.923 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server socket
    jack server is not running or cannot be started
    QSpiAccessible::accessibleEvent not handled:  "2"  obj:  QMessageBox(0xbfd7cb40) "" 
    FIXME: handle dialog start. 
    FIXME: handle dialog end. 
    QSpiAccessible::accessibleEvent not handled:  "6"  obj:  QMenu(0x8d0f0a0) "" 

Meine Frage ist nun, wie ich sicher zwischen Pulse und Jack wechseln kann. Gibt es eine App dafür?

Hier ist ein Screenshot -

Neugieriger Lehrling
quelle

Antworten:

3

Die beste Option, die ich im Moment gefunden habe, ist das Anhalten von pulseaudio, während die Buchse läuft. Es wird auf der Seite pulseaudio und jack beschrieben und beinhaltet das Aufrufen des Jack-Servers über pasuspender.

Aus den Manpages:

   pasuspender is a tool that can be used to tell a local PulseAudio sound
   server to temporarily suspend access to the  audio  devices,  to  allow
   other  applications  access  them  directly.  pasuspender  will suspend
   access to the audio devices, fork a child process, and when  the  child
   process terminates, resume access again.
el.atomo
quelle
0

Mir ist klar, dass diese Frage vor einiger Zeit gestellt / beantwortet wurde, aber ich habe einige zusätzliche Informationen, die für diejenigen hilfreich sein können, die auf diese Frage stoßen könnten.

Das Originalplakat zeigt an, dass bei gleichzeitiger Verwendung von Puls-Audio und Jackd CPU-Spitzen (Lag) auftreten. Nach meiner Erfahrung (ich bin ein professioneller Studioingenieur) wird dies dadurch verursacht, dass der Kernel mit niedriger Latenz, der für die Verwendung mit ardor et. al.

Mein Vorschlag wäre, zuerst Ihren PC mit dem RT-Kernel zu installieren und neu zu starten. Der Kernel sollte im Repo und in der Synaptik verfügbar sein, die Quellen müssen jedoch möglicherweise aktiviert werden.

Persönlich würde ich den RT-Kernel empfehlen, da Ubuntu ihn aktiv unterstützt und verfügbar ist (und die heutige Nutzung Ihres PCs insgesamt nicht beeinflusst).

Steve Schwarz
quelle