Bagaimana cara saya beralih antara Pulseaudio dan Jack di Ubuntu 12.04 LTS x86 Linux?

10

Ada beberapa aplikasi di Ubuntu 12.04 saya yang membutuhkan Jack. Tanpa Jack, mereka tidak akan mulai, jadi saya harus menjaga Jackd + (QjackCtl). Sekarang masalahnya adalah jackd tidak memulai dengan benar sepanjang waktu. Kadang bekerja dengan baik, kadang gagal memulai (saya menduga Pulseaudio adalah alasannya).

Sekarang, saya telah menemukan solusi untuk menjaga Jack dan Pulseaudio berjalan berdampingan. Inilah yang telah saya lakukan.

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

Setelah menyalakan kembali pc, saya bisa melihat Jack dan Pulseaudio bekerja dengan baik. Tapi di sini ada masalah lain, bentuk output suara speaker sangat rendah, cpu spike telah meningkat sedikit, perangkat Hardware tidak ditampilkan. Kontrol suara menunjukkan sistem suara 5: 1 di mana saya hanya memiliki sistem suara 2: 1.

Saya perlu cara untuk beralih antara Pulseaudio dan Jack. Saya bukan pembuat musik profesional. Saya hanya perlu Jackd ketika saya menggunakan Ardour atau aplikasi lain yang membutuhkan Jack. Anda pasti mengira Pulseaudio akan dinonaktifkan secara otomatis saat memulai Jack. Tapi itu tidak terjadi pada saya. Sebelumnya saya telah menghadapi erro yang mencobanya

Berikut log kesalahan itu

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

Sekarang pertanyaan saya adalah bagaimana saya bisa beralih antara Pulse dan Jack dengan aman? Apakah ada aplikasi untuk melakukannya?

Ini tangkapan layar -

Magang Penasaran
sumber

Jawaban:

3

Pilihan terbaik yang saya temukan saat ini adalah menangguhkan pulseaudio saat jack sedang berjalan. Itu dijelaskan di halaman pulseaudio dan jack , dan melibatkan memohon server jack melalui pasuspender.

Dari halaman manual:

   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
sumber
0

Saya menyadari pertanyaan ini ditanyakan / dijawab beberapa waktu yang lalu namun saya memiliki beberapa informasi tambahan yang dapat membantu mereka yang mungkin menemukan pertanyaan ini.

Poster asli menunjukkan bahwa mereka mengalami lonjakan CPU (jeda) saat menggunakan audio pulsa dan jackd bersamaan. Dalam pengalaman saya (saya seorang insinyur studio profesional) ini disebabkan oleh tidak menjalankan kernel latensi rendah yang tersedia untuk digunakan dengan ardor et. Al.

Saran saya adalah menginstal dan reboot PC Anda terlebih dahulu menggunakan rt-kernel. Kernel harus tersedia dalam repo dan sinaptik, namun sumber mungkin perlu aktivasi.

Secara pribadi, saya akan merekomendasikan rt-kernel karena ubuntu mendukungnya secara aktif dan tersedia (dan tidak akan mempengaruhi penggunaan PC Anda secara keseluruhan hari-hari ini).

Steve Schwarz
sumber