Comment basculer entre Pulseaudio et Jack sur Ubuntu 12.04 LTS x86 Linux?

10

Il y a des applications sur mon Ubuntu 12.04 qui nécessitent Jack. Sans Jack, ils ne démarreront pas, je dois donc garder Jackd + (QjackCtl). Maintenant, le problème est que jackd ne démarre pas correctement tout le temps. Parfois ça marche bien, parfois ça ne démarre pas (je pense que Pulseaudio est la raison).

Maintenant, j'ai trouvé une solution de contournement pour garder Jack et Pulseaudio côte à côte. Voici ce que j'ai fait

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

Après avoir redémarré le PC, je peux voir que Jack et Pulseaudio fonctionnent bien. Mais voici un autre problème, la sortie sonore des haut-parleurs est très faible, les pointes de processeur ont beaucoup augmenté, les périphériques matériels ne sont pas représentés. Le contrôle du son montre un système audio 5: 1 alors que je n'ai qu'un système audio 2: 1.

J'ai besoin d'un moyen de basculer entre Pulseaudio et Jack. Je ne suis pas un créateur de musique professionnel. J'ai besoin de Jackd uniquement lorsque j'utilise Ardour ou toute autre application qui a besoin de Jack. Vous devez penser que Pulseaudio sera automatiquement désactivé au démarrage de Jack. Mais ce n'est pas le cas pour moi. Auparavant, j'ai rencontré des erreurs en essayant

Voici un journal de cette erreur

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) "" 

Maintenant, ma question est de savoir comment puis-je basculer entre Pulse et Jack en toute sécurité? Existe-t-il une application pour le faire?

Voici une capture d'écran -

Apprenti curieux
la source

Réponses:

3

La meilleure option que j'ai trouvée en ce moment est de suspendre pulseaudio pendant que la prise fonctionne. Il est décrit dans la page pulseaudio et jack , et implique l'appel du serveur jack via pasuspender.

Depuis les pages de manuel:

   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
la source
0

Je me rends compte que cette question a été posée / répondue il y a un certain temps, mais j'ai quelques informations supplémentaires qui peuvent être utiles à ceux qui pourraient rencontrer cette question.

L'affiche originale indique qu'ils subissent des pics de CPU (retard) lors de l'utilisation simultanée de l'impulsion audio et de la prise. D'après mon expérience (je suis un ingénieur de studio professionnel), cela est dû au fait de ne pas exécuter le noyau à faible latence disponible pour une utilisation avec ardour et. Al.

Ma suggestion serait d'installer et de redémarrer d'abord votre PC en utilisant le noyau rt. Le noyau doit être disponible dans le référentiel et le synaptique, mais les sources peuvent nécessiter une activation.

Personnellement, je recommanderais le noyau rt car ubuntu le supporte activement et est disponible (et n'affectera pas l'utilisation globale de votre PC au jour le jour).

Steve Schwarz
la source