JACK ve Pulseaudio / ALSA aynı ses cihazında aynı anda nasıl kullanılır?


30

Ne zaman hidrojen başlatsam, Pulse kullanan diğer tüm uygulamalarda sesimi keser, örneğin, bir daha Hidrojen'i başlattıktan sonra, PC'mi yeniden başlatana veya sudo alsa zorla yeniden yükleme yapana kadar videoları artık Chrome'da oynatamıyorum. Benzer sorunları olan insanları buldum, ancak bunu düzeltecek gerçek bir rehber bulamadım, çoğu zaman http://jackaudio.org/pulseaudio_and_jack ( http://jackaudio.org/faq/pulseaudio_and_jack.html adresine taşınan ) bağlantıları vardır. Ubuntu Studio 14.04 64bit kullanıyorum.

ALTERNATİF olarak bu elde etmek gerçekten imkansızsa, biri bana bir ses kartında Jack'i ve diğerinde Puls'u nasıl kullanabileceğimi söyleyebilir mi? Bu şekilde bir USB ses kartını sadece JACK'a ihtiyacım olduğunda bağlayabilirdim.

Lütfen pencereleri kullanmama izin verme.


Daha fazla araştırmadan sonra, bunun işe yaramasını sağlamanın birkaç yolu var, buraya bakın: github.com/jackaudio/jackaudio.github.com/wiki/… Ancak benim durumumda bunların tümü tüm ses çıkışlarını kalıcı olarak öldürüyor.
Andreas Hartmann

Yanıtlar:


24

16.04 itibariyle, işler çok daha kolay hale geliyor :)

Sadece yükleyin qjackctlve pulseaudio-module-jackmodül:

apt-get install qjackctl pulseaudio-module-jack

Sonra qjackctlbaşlangıçtan sonra aşağıdaki komutu çalıştırmak için yapılandırın . "Ayarla ..."> "Seçenekler"> "Başlangıçtan sonra betiği çalıştır" içine kopyalayın:

pacmd set-default-sink jack_out

Ve bu kadar. Pulseaudio JACK'ın başladığını (D-Bus aracılığıyla) tanıyacak ve sesi otomatik olarak yönlendirecektir. JACK durduğunda Pulseaudio normal yönlendirmeye geri döner ve doğrudan karta ses göndermeye başlar.

Dolayısıyla (neredeyse) varsayılan olarak Pulseaudio, yukarıda mmv-ru ile ayrıntılandırılan kurulumu uygular.


Bu şimdiye kadar gördüğüm en kolay çözüm! Sonunda jack'i diğer her şeyi susturmadan kullanabilirim! Teşekkür ederim.
kapcom01

8
pactl set-default-sink jack_out -> "Hata: Böyle bir varlık yok"
Karl Morrison

1
Diğer çözümler yapmadı, bu benim için çalıştı, çok teşekkürler!
malte

2
Doğru komut 'pacmd set-default-sink jack_out' şeklindedir. Maalesef, cevabı düzeltemem çünkü düzenleme 6 karakterden fazla olmalı! :-(
Todd Chaffee

2
@KarlMorrison, muhtemelen yürütmeniz gerekir pactl load-module module-jack-sink channels=2ve pactl load-module module-jack-sourceondan önce @ kim tucker cevabını görün.
naktinis

17

Bu Youtube videosu: "Jack ve PulseAudio Birlikte Arkadaşlar - Linux" bazı cevaplar almış gibiydi:

Çözümün anahtarı, pulseaudio-module-jack'in takılı olduğundan emin olmak gibiydi:

aptitude install pulseaudio-module-jack

Daha sonra /etc/pulse/default.pa dosyasını, ses sürücülerini elle yükle bölümüne iki satır dahil etmek için düzenleyin:

load-module module-jack-sink
load-module module-jack-source

sonra - bence - pulseaudio'yu yeniden başlatıyorum. Ben sadece bilgisayarı yeniden başlattım (tembelim, biliyorum) ve bir zahmete girdi ... ateş etmek Ardor artık pulseaudio öldürmedi, birlikte mutlu oynadılar.


BTW, ayrıcapactl load-module ...
0__

9

Fedora'daki Jack ve Pulse birlikteliği arayışını yeni başlattım. Genelde Pulseaudio'dan memnunum ama bazen Jack sesine ihtiyacım var.

Benim çözümüm Fedora 23'te çalışıyor.

dnf install jack-audio-connection-kit jack-audio-connection-kit-dbus qjackctl

/Etc/pulse/default.pa adresine dokunmayın!

Qjackctl dosyasını yapılandırın

Ayarlar

İlgili ~ / .config / rncbc.org / QjackCtl.conf parçası

[Settings]
Server=jack_control start
Driver=alsa
InDevice="hw:PCH,0"
OutDevice="hw:PCH,0"

Seçenekler pactl için sink isimlerini komut ile bulabilirsiniz:

pacmd list-sinks

Tam komutları göstermek için bir ~ / .config / rncbc.org / QjackCtl.conf parçası daha var

[Options]
...
StartupScript=true
StartupScriptShell=pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1
PostStartupScript=true
PostStartupScriptShell=pactl set-default-sink jack_out
ShutdownScript=false
ShutdownScriptShell="pactl unload-module module-jack-sink; pactl load-module module-jack-source"
PostShutdownScript=true
PostShutdownScriptShell="pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 0; pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo"

Çeşitli Qjackctl'in kendisi için önemli olan "D-Bus arayüzünü etkinleştir" işte var.

Nasıl çalışır

Şimdi açılışta PC sadece PulseAudio ile çalışır. Jack olmadan tüm otomatik işler.

Qjackctl'in lansmanından sonra,

  1. Qjackctl Başlangıç ​​betiği, Plseuaudio'daki birincil ses kartını askıya aldı ve Jackj'in "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1" adlı kullanıcıya erişmesine izin verdi
  2. Jack d-bus "jack_control start" ile başladı
  3. Darbe otomatik olarak D-Bus üzerinden kriko başlangıcını algılar ve kriko yuvasını ve kriko kaynağını yükleyin.
  4. Başlangıç ​​komut dosyasının ardından Qjackctl, Pulse'daki varsayılan havuzunu jack_out olarak değiştirdi. (Kendisiyle yapılmadı) "pactl set-default-sink jack_out" (başlangıçta, tüm çalışan PA istemcileri yeni lavaboya geçtiği için gereksiz görünüyor, ancak yeni uygulamalar bu komut olmadan askıya alınmış lavaboda kaldılar)

Böylece sistem "Jack'in üstüne Darbe" kullanacak şekilde yeniden yapılandırıldı. (Orada yine de kullanmadığım için donanım girişini askıya aldım.)

"Uygulamadaki JACK ses sunucusunu durdur exti" işaretli değilse, Qjackctl'yi kapatabilir ve kurulumu rahatsız etmeyerek yeniden çalıştırabilirim.

Jack'i Qjackctl'den durdurduktan sonra, hepsi düz derisiz Darbe!

  1. Dj üzerinde Qjackctl ile durdurma - "D-bus arayüzünü etkinleştir" seçeneği.
  2. jack-source ve jack-sink, Pulseaudio'dan otomatik olarak d-bus ile kaldırıldı
  3. Puls sesinde varsayılan yuva ses kartına geçti, çünkü çıkış yok oluyor
  4. Kapat komut dosyasından sonra Qjackctl, Pulseaudio'da "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1" de ses kartını tekrar etkinleştirdi

Kullanılan aletler

  1. jackd (pulseaudio-utils paketinden)
  2. jack_control (ack-audio-connection-kit-dbus paketinden)
  3. Qjackctl (pulseaudio-utils paketinden)
  4. Pulseaudio'yu sctipts'ten (pulseaudio-utils paketinden) kontrol etmek için pactl

Bu cevap, konfigürasyonun nasıl yapıldığı konusunda açık değildir. Sadece ile Qjackctlmi yapılıyor ? Öyleyse, config ayarları hangi dosyalardadır ve bunlar nasıl ayarlanır?
Faheem Mitha

Paket yöneticisi üzerinden ilk konfigürasyon yapıldı. jackg jack-audio-connect-kit-dbus ve Qjackctl scriptleri ile yeniden yapılandırma işlemini başlatır / durdurur.
mmv-ru

Anlıyorum. Bu satırlar boyunca bazı detaylar son derece yardımcı olacaktır. Bu detaylar özellikle diğer cevaplardan ve internetteki bilgilerden yoksundur. Mümkünse bir GUI ile işleri yapılandırmamayı tercih ederim. Genelde AU sohbetinde misiniz? Eğer öyleyse, orada tartışabiliriz.
Faheem Mitha

Qjackctl, ekran görüntülerinin gösterdiği gibi gui ile yapılandırılabilir. Cevap bölümünde tam script satırlarını göstermek için .config / rncbc.org / QjackCtl.conf bölümlerini göstereceğim.
mmv-ru

Sohbete davet etmek için yeterli itibar yok. Beni davet et.
mmv-ru

7
  • Sorun, Hidrojen (Ardor olarak) başlangıçta açılış jakıdır ancak çıkışta kapatmayın:
    Ancak killall jackdHidrojen çıkışından sonra bir terminalde koşabilirsiniz .

  • Jack ve pulseaudio yazılımını aynı anda kullanmanın karmaşık bir yolu "pulseaudio-module-jack" yüklemek (ayrıca qjackctl (jack için gui) ve mevcut değilse pavucontrol) 'ün kurulmasıdır. Pulseaudio'yu tekrar başlatın pulseaudio -k.
    Şimdi ses uygulamalarını kapatın (Jack ve
    Pulseaudio ), qjackctl kullanarak jackd çalıştırın (Başlat düğmesine tıklayın) ( son sekmede qjackctl ayarlarında dbus seçeneği seçilmelidir ).
    Pavucontrol "çıkış aygıtı" sekmesinde, "jak lavabosu" yanındaki clic yeşil "varsayılan aygıt" düğmesi
    Şimdi pulseaudio yazılımı ve Hidrojen aynı anda çalışmalıdır.

  • Qjackctl'i kullanarak, ilk "ayarlar" sekmesinde, Jackd ses cihazını değiştirebilirsiniz.


3

Şimdi daha kolay olabilir. Bugün benim için çalışan, Linux Mint 18.2'nin yeni bir kurulumundan sonra (Ubuntu 16.04 paket tabanı) gerçekten temel ihtiyaçlarımı karşılamak için çalıştı:

  1. QSynth ve QJackCtl'yi yüklemek için Synaptic kullanın.

  2. Gerekli ses yazı tiplerini uygun bir klasöre kopyalayın. /usr/share/sounds/sf2/

  3. In QSynth Setup : altında Ses sekmesi değişikliği Ses Sürücüsü için PulseAudio'dan .

  4. In QSynth Setup : altındaki SoundFonts : ... basıp biri gerektiği gibi.

  5. In QjackCtl Setup> Ayarlar> Gelişmiş :

    Sunucu Öneki: pasuspsender - /usr/bin/jackd

  6. In QjackCtl Setup> Seçenekler :

    Başlangıçtan sonra komut dosyasını yürütün:

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
    
  7. In ALSA: QjackCtl Connect'e : Soldan klavye girişini katılmak SIVISI Synth sağda.

  8. Ses için ana Sistem Ayarları'nda gerekli çıkış cihazını seçin.

Artık video izlerken klavyeyi çalabiliyorum (örneğin, YouTube'da Firefox kullanıyorsanız) - daha önce nadiren izleyebileceğim çok fazla tweaks olmadan bunlardan sadece birini yapabiliyordum.

Birine yardım eden veya tekrar denemeleri için cesaretlendiren bir umut :-).


2

Tüm sistemi jack ile çalışacak şekilde yönlendirmenin en kolay yolu:

kurmak

sudo apt-get install qjackctl pulseaudio-module-jack

Qjackctl'yi açın. Kurulum> Seçenek>

Başladıktan sonra betiği çalıştır kontrol et ve şunu yapıştır:

pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2;

Kapattıktan sonra betiği çalıştır kontrol edin ve şunu yapıştırın:

killall jackd

Şimdi qjack'i başlatın ve ses ayarlarınızı açın. Puls Audio Jack Lavabo Çıkış portunu bulacaksınız. Bunu seçin ve tüm sistemler senkronize edilir. Jack server / qjack'i durdurursanız, ses tekrar Varsayılan portunuza geri döner.

İşte genel görünüm


0

Tabii ki, çoğu tarayıcı medya oynatıcıları jack'i bilmediği için jack'a ihtiyaç duydukları noktaya ulaşırlarsa, hem pulseaudio hem de jack'ın çalışmasını isteyeceksiniz! ..ne yazık ki.

Böyle bir uzlaşma gibi göründüğü bir zamanda sadece bir tanesinin kaçması önerisini görmeye devam ettim. Bu iki hizmetin, yani her ikisi de kendi başlarına işlevsel olsalar da, kxstudio tarafından en az kullanıyorum ne kadar kötü yönetilse de, jack ve pulseaudio gibi bence biraz trajik.

Peki ne oldu:

  • pulseaudio çalışırken jack başlayamaz (ve kullanmak istediği ses kartı sürücüsünü kullanarak yeterince adil) bu yüzden önce başlatılması gerekir

  • pulseaudio hem bir kez hem de çalışırken

Oldukça basit ... Bazı nedenlerden dolayı, onunla sonsuz bir keder yaşadım çünkü ..

Öncelikle pulseaudio 4.0'ın bir adam arabası gibi göründüğü ve alsa sürücüsünü bozduğu için bazı durumlarda kilitli kalmasını ve dolayısıyla pulseaudio çalışmıyor olsa bile krikoyu çalıştıramayacağını düşünüyorum. (Yakalama parametrelerini ayarlayamadığını veya bunun gibi smtg olduğunu söyler)

Sonunda yaptığım şey

  • hem jakı hem de pulseaudioyu tamamen çıkardı (apt-get tahliyesinden sonra find ve rm -rf: D ile)
  • yüklü pulseaudio 11 (kaynaklardan)
  • yüklü jack ve libs (libjack-dev)

ve bu sırayla nihayet qjackctl ile normal olarak çalışmasını sağladım (ki bu da doğru şekilde başlamalarını sağlar (jak yuvasını pulseaudio'ya yükler ve varsayılan olarak ayarlar).

Btw, Cadence’in bunun yerine önerildiğini gördüm ve neden benim için qjackctl’le karşılaştırıldığında çöp gibi göründüğünü anlamıyorum.

Neyse, sorun krikoyu kullanmaya başlamak qjackctl biraz zaman alıyor ve her açılışta bekleme süresinden kaçınmak için önceki oturumu yüklemek olan kde'nin hayat kurtarıcı özelliğini kullanabilirsiniz. Eğer singleton = true ayarına bakılmaksızın her yeniden başlatmada bir örnek daha alacağınız için otomatik başlatmada qjackctl olmadığından emin olun.

Bunun nedeni, artık pulseaudio'ların kapalı (veya askıya alınmış) jak olduğundan ve düzgün bir şekilde başladığından emin olduktan sonra pulseaudio, load jack modülünü başlattığından emin olacak akıllı bir senaryo yazmak gibi onunla uğraşmak istemiyordum.

Aksi takdirde, işletim sistemine artalanları başlatmak ve yapılandırmayı doğru şekilde yüklemek için güvenmek normal (sağlıklı) senaryo olurdu, ancak gerçekleşmiyor gibi görünüyor.

İyi eğlenceler..


0

Linux Mint 19.1 kullanıyorum. Tüm çeşitli çözümleri denedikten sonra, işler benim için sorunsuz bir şekilde çalışmayacaktı.

Sonunda, videodaki adımları / talimatları izleyerek tüm sorunlarımı çözebildim: Link

Temel olarak, Kxstudio depolarından uygulamalar yükler. ve başlangıçta her şeyi mükemmel bir şekilde yapılandıran bir komut dosyası var.

Son hedefim, diğer uygulamalardan (masaüstü, tarayıcı) ses çalıştırabilen / çalıştırabilen arayüzümden (Scarlett solo) giriş yapabilmekti.

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.