ฉันจะสลับระหว่าง Pulseaudio และ Jack บน Ubuntu 12.04 LTS x86 Linux ได้อย่างไร


10

มีแอพพลิเคชั่นบางตัวใน Ubuntu 12.04 ซึ่งต้องใช้แจ็ค หากไม่มีแจ็คพวกเขาจะไม่เริ่มดังนั้นฉันต้องเก็บ Jackd + (QjackCtl) ตอนนี้ปัญหาคือ jackd ไม่เริ่มทำงานอย่างถูกต้องตลอดเวลา บางครั้งมันก็ใช้งานได้ดีบางครั้งมันก็ล้มเหลวในการเริ่มต้น (ฉันสงสัยว่า Pulseaudio เป็นเหตุผล)

ตอนนี้ฉันได้พบวิธีแก้ปัญหาเพื่อให้ทั้ง Jack และ Pulseaudio ทำงานต่อเนื่องกันนี่คือสิ่งที่ฉันทำ

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

หลังจากรีสตาร์ทพีซีฉันสามารถเห็นทั้ง Jack และ Pulseaudio ใช้งานได้ แต่นี่เป็นปัญหาอื่นรูปแบบเอาต์พุตเสียงของลำโพงอยู่ในระดับต่ำมาก CPU spikes เพิ่มขึ้นเล็กน้อยอุปกรณ์ฮาร์ดแวร์จะไม่แสดง การควบคุมเสียงแสดงระบบเสียง 5: 1 ที่ฉันมีระบบเสียง 2: 1 เท่านั้น

ฉันต้องการวิธีสลับระหว่าง Pulseaudio และแจ็ค ฉันไม่ได้เป็นผู้ผลิตเพลงมืออาชีพ ฉันต้องการ Jackd เฉพาะเมื่อฉันใช้ Ardor หรือแอพอื่น ๆ ที่ต้องการแจ็ค คุณต้องคิดว่า Pulseaudio จะถูกปิดใช้งานโดยอัตโนมัติเมื่อเริ่มต้นแจ็ค แต่นั่นไม่ใช่กรณีสำหรับฉัน ก่อนหน้านี้ฉันต้องเผชิญกับความพยายามที่ผิดพลาด

นี่คือบันทึกข้อผิดพลาดนั้น

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

ตอนนี้คำถามของฉันคือฉันจะสลับระหว่าง Pulse และ Jack ได้อย่างปลอดภัยได้อย่างไร มีแอพให้ทำหรือไม่?

นี่คือภาพหน้าจอ -

คำตอบ:


3

ตัวเลือกที่ดีที่สุดที่ฉันพบในขณะนี้คือการหยุด pulseaudio ขณะที่แจ็คกำลังทำงาน มันอธิบายไว้ในPulseAudio และแจ็คpasuspenderหน้าและเกี่ยวข้องกับการเรียกใช้เซิร์ฟเวอร์แจ็คผ่าน

จากหน้าคน:

   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

ฉันรู้ว่าคำถามนี้ถูกถาม / ตอบเมื่อไม่นานมานี้ แต่ฉันมีข้อมูลเพิ่มเติมบางอย่างที่อาจเป็นประโยชน์สำหรับผู้ที่อาจเจอคำถามนี้

โปสเตอร์ต้นฉบับระบุว่าพวกเขากำลังประสบกับ CPU spikes (ล่าช้า) ในขณะที่ใช้ทั้งพัลส์เสียงและแจ็คร่วมกัน จากประสบการณ์ของฉัน (ฉันเป็นวิศวกรสตูดิโอมืออาชีพ) สิ่งนี้เกิดจากการไม่ใช้เคอร์เนลเวลาแฝงต่ำที่พร้อมใช้งานกับ ardor และ อัล

คำแนะนำของฉันคือการติดตั้งและรีบูตเครื่องคอมพิวเตอร์ของคุณโดยใช้ rt-kernel เคอร์เนลควรมีอยู่ใน repo และ synaptic อย่างไรก็ตามแหล่งข้อมูลอาจต้องเปิดใช้งาน

โดยส่วนตัวแล้วผมขอแนะนำ rt-kernel เนื่องจาก ubuntu สนับสนุนอย่างแข็งขันและพร้อมใช้งาน (และจะไม่ส่งผลกระทบต่อการใช้งานโดยรวมในวันนี้ของพีซีของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.