Ubuntu 12.04 LTS x86 Linux'ta Pulseaudio ve Jack arasında nasıl geçiş yapabilirim?


10

Ubuntu 12.04 cihazımda Jack gerektiren bazı uygulamalar var. Jack olmadan başlamazlar, bu yüzden Jackd + (QjackCtl) tutmak zorundayım. Şimdi sorun jackd her zaman düzgün başlamıyor olmasıdır. Bazen iyi çalışıyor, bazen başarısız oluyor (bunun Pulseaudio'nun olduğundan şüpheleniyorum).

Şimdi, hem Jack hem de Pulseaudio'yu yan yana tutmak için bir çözüm buldum İşte yaptıklarımız

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

Bilgisayarı yeniden başlattıktan sonra Jack ve Pulseaudio'nun iyi çalıştığını görebiliyorum. Ama burada başka bir sorun, hoparlörlerin ses çıkış formu çok düşük, cpu sivri biraz arttı, Donanım cihazları gösterilmiyor. Ses kontrolü, yalnızca 2: 1 ses sistemimin olduğu 5: 1 ses sistemini gösterir.

Pulseaudio ve Jack arasında geçiş yapmanın bir yoluna ihtiyacım var. Ben profesyonel bir müzik yapımcısı değilim. Ben sadece Ardor veya Jack gerektiren başka bir uygulama kullanırken Jackd gerekir. Jack'i başlatırken Pulseaudio'nun otomatik olarak devre dışı bırakılacağını düşünüyor olmalısınız. Ama benim için durum böyle değil. Daha önce deneyen erros ile karşı karşıya kaldım

İşte bu hatanın bir günlüğü

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

Şimdi sorum, Pulse ve Jack arasında nasıl güvenli bir şekilde geçiş yapabilirim? Bunu yapmak için herhangi bir uygulama var mı?

İşte bir ekran görüntüsü -

Yanıtlar:


3

Şu anda bulduğum en iyi seçenek, jack çalışırken pulseaudio'yu askıya almak. Pulseaudio ve jack sayfasında açıklanır ve jack sunucusunu çağırmayı içerir pasuspender.

Man sayfalarından:

   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.

0

Bu sorunun bir süre önce sorulduğunu / cevaplandığını fark ettim, ancak bu soruya gelebilecek kişilere yardımcı olabilecek bazı ek bilgilerim var.

Orijinal poster, hem puls sesi hem de jakı birlikte kullanırken CPU ani yükselmeleri (gecikme) yaşadıklarını gösterir. Deneyimlerime göre (ben profesyonel bir stüdyo mühendisiyim) bu, ardor et ile kullanılabilen düşük gecikmeli çekirdeğin çalıştırılmamasından kaynaklanmaktadır. ark.

Benim önerim önce rt-kernel kullanarak PC'nizi kurmak ve yeniden başlatmak olacaktır. Çekirdek repo ve sinaptikte mevcut olmalıdır, ancak kaynakların etkinleştirilmesi gerekebilir.

Şahsen, ubuntu aktif olarak desteklediği ve mevcut olduğu (ve bilgisayarınızın genel günlük-bugün kullanımını etkilemeyeceği için) rt çekirdeğini tavsiye ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.