एक ही ऑडियो डिवाइस पर एक ही समय में JACK और Pulseaudio / ALSA का उपयोग कैसे करें?


30

जब भी मैं हाइड्रोजन लॉन्च करता हूं तो यह मेरे ऑडियो को अन्य सभी अनुप्रयोगों में तोड़ देता है जो पल्स का उपयोग करते हैं, उदाहरण के लिए, मैं अब हाइड्रोजन में एक बार लॉन्च होने के बाद क्रोम में वीडियो नहीं चला सकता हूं, जब तक कि मैं अपने पीसी को पुनरारंभ नहीं करता या सूडो अलसा बल-पुनः लोड नहीं करता। मैं इसी तरह के मुद्दों के साथ लोगों ने पाया है, लेकिन कोई वास्तविक गाइड इसे ठीक करने के लिए, अक्सर वहाँ के लिंक हैं http://jackaudio.org/pulseaudio_and_jack (जो करने के लिए ले जाया गया है http://jackaudio.org/faq/pulseaudio_and_jack.html ) मैं उबंटू स्टूडियो 14.04 64 बिट का उपयोग कर रहा हूं।

अगर यह वास्तव में प्राप्त करना असंभव है, तो क्या कोई मुझे बता सकता है कि एक साउंडकार्ड पर जैक का उपयोग कैसे करें और दूसरे पर पल्स? इस तरह से मैं केवल USB साउंड कार्ड में प्लग कर सकता हूं जब मुझे JACK की आवश्यकता होगी।

कृपया मुझे विंडोज़ का उपयोग न करें।


अधिक शोध के बाद, इसे काम करने के कुछ तरीके दिखाई देते हैं, यहाँ देखें: github.com/jackaudio/jackaudio.github.com/wiki/… हालाँकि मेरे मामले में ये सभी ऑडियो आउटपुट को स्थायी रूप से मारते हैं।
एंड्रियास हार्टमैन

जवाबों:


24

16.04 तक, चीजें बहुत सरल हो जाती हैं :)

बस स्थापित करें qjackctlऔर pulseaudio-module-jackमॉड्यूल:

apt-get install qjackctl pulseaudio-module-jack

फिर qjackctlस्टार्टअप के बाद निम्न कमांड को चलाने के लिए कॉन्फ़िगर करें। इसे "सेटअप ..."> "विकल्प"> "स्टार्टअप के बाद स्क्रिप्ट निष्पादित करें" में कॉपी करें:

pacmd set-default-sink jack_out

और बस। पल्सीडियो (डी-बस के माध्यम से) पहचान करेगा कि जैक ने शुरू किया, और स्वचालित रूप से ऑडियो को रूट करेगा। जब JACK को रोक दिया जाता है तो पल्सेडियो सामान्य रूटिंग पर वापस आ जाएगा और सीधे कार्ड पर ऑडियो भेजना शुरू कर देगा।

इसलिए (लगभग) डिफ़ॉल्ट रूप से पल्सेडियो, सेटअप को mmv-ru द्वारा ऊपर लागू करता है।


यह अब तक का सबसे आसान उपाय है! अंत में मैं जैक का उपयोग सब कुछ म्यूट किए बिना कर सकता हूं! धन्यवाद।
kapcom01

8
pactl set-default-सिंक jack_out -> "असफलता: ऐसी कोई इकाई नहीं"
कार्ल मॉरिसन

1
यह मेरे लिए काम किया जब अन्य समाधान नहीं किया, बहुत धन्यवाद!
माल्ट

2
सही कमांड 'pacmd सेट-डिफॉल्ट-सिंक jack_out' है। दुर्भाग्य से मैं उत्तर को सही नहीं कर सकता क्योंकि एक संपादन में 6 से अधिक अक्षर होने चाहिए! :-(
टॉड चाफी

2
@ कर्लमोरिसन, आपको संभवतः निष्पादित करने की आवश्यकता है pactl load-module module-jack-sink channels=2और pactl load-module module-jack-sourceइससे पहले, @ kim-tucker उत्तर देखें।
नकटिंस

17

यह यूट्यूब वीडियो: "जैक एंड पल्सएडियो टुगेदर फ्रेंड्स - लिनक्स" में कुछ जवाब दिए गए थे:

समाधान की कुंजी यह सुनिश्चित करती दिखाई देती है कि पल्सेडियो-मॉड्यूल-जैक किसके साथ स्थापित है:

aptitude install pulseaudio-module-jack

फिर sudo संपादन /etc/pulse/default.pa फ़ाइल को लोड ऑडियो ड्राइवरों के तहत दो लाइनों को शामिल करने के लिए मैन्युअल रूप से अनुभाग:

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

तब - मुझे लगता है - pulseaudio को पुनरारंभ करना। मैंने पीसी को फिर से शुरू किया (आलसी, मुझे पता है) और इसने एक ट्रीट काम किया ... अर्दो फायरिंग से अब पल्सीडियो को नहीं मारा गया, वे खुशी से एक साथ खेले।


BTW, तुम भी मॉड्यूल मक्खी पर, जोड़ सकते हैं का उपयोग करpactl load-module ...
0__

9

फेडोरा पर जैक और पल्स सह-अस्तित्व की बस गर्त खोज। आम तौर पर मैं पल्सीडियो से खुश हूं, लेकिन कभी-कभी जैक ऑडियो की आवश्यकता होती है।

फेडोरा 23 पर मेरा समाधान काम कर रहा है।

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

/Etc/pulse/default.pa स्पर्श न करें!

Qjackctl कॉन्फ़िगर करें

सेटिंग्स

वहाँ एक प्रासंगिक टुकड़ा ~ / .config / rncbc.org / QjackCtl.conf

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

विकल्प Pactl के लिए सिंक के नाम कमांड द्वारा पाए जा सकते हैं:

pacmd list-sinks

पूर्ण आदेश दिखाने के लिए ~ / .config / rncbc.org / QjackCtl.conf का एक और टुकड़ा

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

विविध वहां, Qjackctl के लिए महत्वपूर्ण "डी-बस इंटरफ़ेस सक्षम करें"।

यह कैसे कार्य करता है

अब बूट पीसी पर केवल पल्सएडियो के साथ काम करें। जैक के बिना सभी स्वचालित काम।

Qjackctl के लॉन्च के बाद,

  1. Qjackctl स्टार्टअप स्क्रिप्ट Plseuaudio में प्राथमिक ऑडियो कार्ड को निलंबित कर देती है और जैक को इसे "पैक्टल सस्पेंड-सिंक alsa_output.pci-0000_00_1b.0.analog-स्टीरियो 1" तक पहुंचने देती है।
  2. जैक ने डी-बस पर शुरू किया "jack_control start"
  3. पल्स स्वचालित रूप से डी-बस पर जैक स्टार्ट का पता लगाता है और जैक सिंक और जैक स्रोत को लोड करता है।
  4. स्टार्टअप स्क्रिप्ट के बाद Qjackctl पल्स को jack_out में डिफ़ॉल्ट सिंक में बदल देता है। (मैं इसे खुद नहीं किया) "pactl सेट-डिफॉल्ट-सिंक jack_out" (पहली बार में यह अनावश्यक लग रहा है, क्योंकि सभी रनिंग पीए क्लाइंट नए सिंक में बदल गए हैं, लेकिन नए ऐप्स इस कमांड के बिना निलंबित सिंक पर अटक गए हैं)

तो सिस्टम "जैक के ऊपर पल्स" का उपयोग करने के लिए पुन: कॉन्फ़िगर किया गया। (वहां मैं हार्डवेयर इनपुट को छोड़ देता हूं, क्योंकि मैं वैसे भी इसका उपयोग नहीं करता)

यदि "एक्सटी जेके ऑडियो सर्वर पर एप्लिकेशन एक्सटी" चेक नहीं किया गया है, तो मैं क्यूजैकैक्टल को बंद कर सकता हूं और सेटअप को परेशान नहीं कर सकता हूं।

जैक को क़जक्टक्टल से रोकने के बाद, सभी सादे मैले पल्स में वापस आ गए!

  1. Dj पर Qjackctl द्वारा जैक स्टॉप - "डी-बस इंटरफ़ेस सक्षम करें" विकल्प।
  2. डी-बस द्वारा पल्सेडियो ऑटोमैटिकली से हटाए गए जैक-सोर्स और जैक-सिंक
  3. पल्स ऑडियो में डिफ़ॉल्ट सिंक ऑडियो कार्ड में बदल गया क्योंकि जैक-आउट गायब हो गया
  4. शटडाउन स्क्रिप्ट के बाद Qjackctl ऑडियो कार्ड वापस पल्सेडियो में सक्रिय करें "पैक्टल सस्पेंड-सिंक alsa_output.pci-0000_00_1b.0.analog-स्टीरियो 1"

उपकरणों का इस्तेमाल

  1. जैकड (पैकेज पल्सेडियो-बर्तन से)
  2. jack_control (पैकेज ack-audio-connection-kit-dbus से)
  3. Qjackctl (पैकेज पल्सेडियो-बर्तन से)
  4. Pctl को पल्सीडियो को sctipts (पैकेज pulseaudio-utils से) को नियंत्रित करने के लिए

यह उत्तर स्पष्ट नहीं है कि कॉन्फ़िगरेशन कैसे किया जाता है। क्या यह पूरी तरह से किया गया है Qjackctl? यदि हां, तो कौन-सी फाइलें कॉन्फिग सेटिंग्स में हैं और वे कैसे सेट की जाती हैं?
फहीम मीठा

पैकेज मैनेजर के माध्यम से आरंभिक कॉन्फ़िगरेशन। जैक-ऑडियो-कनेक्शन-किट-डब और क़जैकैक्टल लिपियों के माध्यम से जैक शुरू / पुन: संयोजन को रोकें।
एमएमवी-आरयू

समझा। उन पंक्तियों के साथ कुछ विवरण अत्यंत उपयोगी होंगे। ये विवरण अन्य उत्तरों और नेट पर जानकारी से उल्लेखनीय रूप से गायब हैं। यदि संभव हो तो मैं GUI के माध्यम से चीजों को कॉन्फ़िगर नहीं करना चाहूंगा। क्या आप आमतौर पर एयू चैट में हैं? यदि हां, तो हम इस पर चर्चा कर सकते हैं।
फहीम मीठा

Qjackctl स्क्रीनशॉट के रूप में गुई के माध्यम से कॉन्फ़िगर किया जा सकता है। उत्तर में मैं स्क्रिप्ट के पूर्ण लाइनों को दिखाने के लिए .config / rncbc.org / QjackCtl.conf के कुछ हिस्सों को दिखाता हूं।
एमएमवी-आरयू

चैट करने के लिए आमंत्रित करने के लिए पर्याप्त प्रतिष्ठा नहीं है। मुझे आमंत्रित करो।
एमएमवी-आरयू

7
  • समस्या स्टार्टअप पर हाइड्रोजेन (अर्दोर के रूप में) लॉन्च जैक है, लेकिन इसे बाहर निकलने पर बंद न करें:
    लेकिन आप killall jackdहाइड्रोजन निकास के बाद एक टर्मिनल में चला सकते हैं ।

  • एक ही समय में जैक और पल्सीडियो सॉफ्टवेयर का उपयोग करने का एक जटिल तरीका "पल्सेडियो-मॉड्यूल-जैक" स्थापित करना है (यदि मौजूद नहीं है तो qjackctl (गीद के लिए गुई) और पावुकोन्ट्रोल स्थापित करें)। पल्सेडियो को पुनः प्रारंभ करें pulseaudio -k
    अब क्लोज ऑडियो एप्स (जैक और
    पल्सीडियो ), क्जैकैक्टल (क्लिक स्टार्ट बटन) का उपयोग करके जैक को चलाएं (डब विकल्प को क्जैकक्टल सेटिंग में अंतिम टैब में चुना जाना चाहिए )।
    Pavucontrol "आउटपुट डिवाइस" टैब में, "जैक सिंक" के पास क्लिक ग्रीन "डिफ़ॉल्ट डिवाइस" बटन
    अब एक ही समय में पल्सेडियो सॉफ्टवेयर और हाइड्रोजन चलना चाहिए।

  • पहले "सेटिंग" टैब में qjackctl का उपयोग करके, आप जैक ऑडियो डिवाइस को बदल सकते हैं।


3

यह अब बहुत आसान हो सकता है। लिनक्स मिंट 18.2 (उबंटू 16.04 पैकेज बेस) की एक नई स्थापना के बाद, मेरे लिए वास्तव में बुनियादी जरूरतों को पूरा करने के लिए आज मेरे लिए क्या काम किया गया था:

  1. QSynth और QJackCtl को स्थापित करने के लिए Synaptic का उपयोग करें।

  2. एक उपयुक्त फ़ोल्डर में आवश्यक ध्वनि फ़ॉन्ट (ओं) को कॉपी करें जैसे कि /usr/share/sounds/sf2/

  3. में QSynth सेटअप : के तहत ऑडियो टैब परिवर्तन ऑडियो ड्राइवर को पल्सऑडियो

  4. में QSynth सेटअप : के तहत SoundFonts : ओपन ... और एक का चयन के रूप में आवश्यक।

  5. में QJackCtl सेटअप> सेटिंग> उन्नत :

    सर्वर उपसर्ग: pasuspsender - /usr/bin/jackd

  6. में QJackCtl सेटअप> विकल्प :

    स्टार्टअप के बाद निष्पादित स्क्रिप्ट:

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
    
  7. में ALSA: QJackCtl कनेक्ट : के लिए छोड़ दिया पर कुंजीपटल प्रविष्टि में शामिल होने के द्रव सिंथ सही पर।

  8. साउंड के लिए मुख्य सिस्टम सेटिंग्स में , आवश्यक आउटपुट डिवाइस का चयन करें।

अब मैं एक वीडियो देखते हुए कीबोर्ड खेल सकता हूं (उदाहरण के लिए फ़ायरफ़ॉक्स का उपयोग करके YouTube पर) - पहले मैं केवल एक ही समय में इनमें से एक के बिना बहुत सारे ट्वीक कर सकता था, जो शायद ही मैं ट्रैक कर सकता था।

आशा है कि किसी की मदद करता है, या उन्हें फिर से प्रयास करने के लिए प्रोत्साहित करता है :-)।


2

जैक के साथ चलने के लिए सभी सिस्टम को रूट करने का सबसे आसान तरीका:

इंस्टॉल करें

sudo apt-get install qjackctl pulseaudio-module-jack

खुला qjackctl। सेटअप> विकल्प> में

स्टार्टअप के बाद निष्पादित स्क्रिप्ट की जाँच करें और इसे चिपकाएँ:

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

शटडाउन के बाद निष्पादित स्क्रिप्ट की जाँच करें और इसे चिपकाएँ:

killall jackd

अब qjack शुरू करें और अपनी ध्वनि सेटिंग खोलें। आपको पल्स ऑडियो जैक सिंक आउटपुट पोर्ट मिलेगा। इसे चुनें और सभी सिस्टम सिंक हो जाएगा। यदि आप जैक सर्वर / क्यूजैक को रोकते हैं, तो ध्वनि फिर से आपके डिफ़ॉल्ट पोर्ट पर वापस जाएगी।

यहाँ समग्र दृष्टिकोण है


0

बेशक एक पल्सेडियो और जैक दोनों चल रहा है अगर वे उस बिंदु पर पहुंच गए जहां उन्हें जैक की जरूरत है क्योंकि अधिकांश ब्राउज़र मीडिया खिलाड़ियों को जैक का पता नहीं है! ..unfortunately।

मैं एक समय में उनमें से केवल एक के चलने के सुझाव को देखता रहा, जो मुझे ऐसा भयानक समझौता लगता है। यह मेरी राय में थोड़ा दुखद है कि ये दोनों सेवाएं यानी जैक और पल्सेडियो हालांकि अपने दम पर दोनों कार्यात्मक हैं, इसलिए कम से कम kxstudio द्वारा प्रबंधित किया जाता है जो कि मैं उपयोग कर रहा हूं।

तो क्या होता है:

  • जब pulseaudio चल रहा है, तो जैक शुरू नहीं हो सकता (और साउंडकार्ड ड्राइवर का उपयोग करके इसे उपयोग करना चाहता है जो काफी उचित है) इसलिए इसे पहले शुरू करने की आवश्यकता है

  • पल्सेडियो को जैक को एक बार ऊपर और चलाने के लिए इंगित करने की आवश्यकता होती है

बहुत आसान..ये? कतिपय कारणों से, मुझे इससे दु: ख हुआ था।

पहले मुझे लगता है क्योंकि pulseaudio 4.0 छोटी गाड़ी है और एल्सा ड्राइवर को गड़बड़ करती है ताकि कुछ स्थितियों में यह इसे बंद कर दे और इसलिए pulseaudio नहीं चल रहा है फिर भी जैक शुरू नहीं हो सकता है। (कहते हैं कि कैप्चर पैरामीटर्स सेट करने में नाकाम रहे या जैसे smtg)

अंत में मैंने क्या किया

  • जैक और पल्सीडियो दोनों को पूरी तरह से हटा दिया (ढूँढें और rm -rf: D के बाद apt-get purge)
  • स्थापित pulseaudio 11 (स्रोतों से)
  • स्थापित जैक और यह लिबास (libjack-dev) है

इस क्रम में और फिर मैंने आखिरकार उन्हें सामान्य रूप से क्यूजैकल के माध्यम से चलाना शुरू कर दिया, जो सुनिश्चित करता है कि वे सही तरीके से शुरू करें (पल्सेडियो में जैक सिंक लोड करता है, और इसे डिफ़ॉल्ट रूप में सेट करता है)।

Btw, मैंने देखा कि इसके बजाय ताल की सिफारिश की गई है और मुझे समझ में नहीं आता कि क्यूजैकल की तुलना में मेरे लिए यह क्यों बकवास है।

वैसे भी, समस्या शुरू हो रही है क्यूजैक्टल का उपयोग करते हुए जैक को थोड़ी देर लगती है और प्रत्येक बूट पर प्रतीक्षा समय से बचने के लिए आप केडी के इस जीवन रक्षक सुविधा का उपयोग कर सकते हैं जो पिछले सत्र को लोड करना है। सुनिश्चित करें कि आपके पास ऑटोस्टार्ट में qjackctl नहीं है, हालांकि आप सिंगलटन के साथ प्रत्येक रिबूट में एक और उदाहरण के साथ समाप्त होंगे / सच्ची सेटिंग (पूरी रात छोटी गाड़ी छोटी गाड़ी)।

इसका कारण यह है कि मैं इसके साथ किसी भी तरह की फिदायीन महसूस नहीं करता था, जैसे कि एक स्मार्ट स्क्रिप्ट लिखना जो सुनिश्चित करेगा कि पल्सेडियो नीचे है (या निलंबित) जैक शुरू करें और जांचें कि यह ठीक से शुरू हुआ, फिर पल्सेडियो, लोड जैक मॉड्यूल शुरू करें आदि।

अन्यथा डेमों को शुरू करने के लिए ओएस पर निर्भर होना और कॉन्फिगरेशन को सही तरीके से लोड करना सामान्य (स्वस्थ) परिदृश्य होगा लेकिन ऐसा नहीं लगता है।

मज़े करो..


0

मैं लिनक्स मिंट 19.1 चला रहा हूं। सभी विभिन्न समाधानों की कोशिश करने के बाद, चीजें अभी भी मेरे लिए आसानी से काम नहीं करेंगी।

अंत में, मैं वीडियो में दिए चरणों / निर्देशों का पालन करके अपने सभी मुद्दों को हल करने में सक्षम था: लिंक

असल में, यह Kxstudio रिपॉजिटरी से एप्लिकेशन इंस्टॉल करता है। और उनके पास स्टार्टअप पर पूरी तरह से सब कुछ कॉन्फ़िगर करने के लिए एक स्क्रिप्ट है।

मेरा अंत लक्ष्य अन्य अनुप्रयोगों (डेस्कटॉप, ब्राउज़र) से ध्वनि को चलाने / रिकॉर्ड करने में सक्षम होने के दौरान मेरे इंटरफ़ेस (स्कारलेट सोलो) के माध्यम से इनपुट रिकॉर्ड करने में सक्षम होना था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.