Làm cách nào để chuyển đổi giữa Pulseaudio và Jack trên Ubuntu 12.04 LTS x86 Linux?


10

Có một số ứng dụng trên Ubuntu 12.04 của tôi yêu cầu Jack. Không có Jack, họ sẽ không bắt đầu, vì vậy tôi phải giữ Jackd + (QjackCtl). Bây giờ vấn đề là jackd không bắt đầu đúng cách mọi lúc. Đôi khi nó hoạt động tốt, đôi khi nó không khởi động được (tôi nghi ngờ Pulseaudio là lý do).

Bây giờ, tôi đã tìm thấy một cách giải quyết để giữ cho cả Jack và Pulseaudio luôn sát cánh bên nhau Đây là những gì tôi đã làm

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

Sau khi khởi động lại pc tôi có thể thấy cả Jack và Pulseaudio đều hoạt động tốt. Nhưng đây là một vấn đề khác, hình thức phát ra âm thanh của loa rất thấp, gai cpu đã tăng lên khá nhiều, thiết bị phần cứng không được hiển thị. Điều khiển âm thanh hiển thị hệ thống âm thanh 5: 1 trong đó tôi chỉ có hệ thống âm thanh 2: 1.

Tôi cần một cách để chuyển đổi giữa Pulseaudio và Jack. Tôi không phải là một nhà sản xuất âm nhạc chuyên nghiệp. Tôi chỉ cần Jackd khi tôi sử dụng Ardor hoặc bất kỳ ứng dụng nào khác cần Jack. Bạn phải nghĩ Pulseaudio sẽ tự động bị vô hiệu hóa khi bắt đầu Jack. Nhưng đó không phải là trường hợp của tôi. Trước đây tôi đã phải đối mặt với sự cố gắng

Đây là nhật ký của lỗi đó

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

Bây giờ câu hỏi của tôi là làm thế nào tôi có thể chuyển đổi giữa Pulse và Jack một cách an toàn? Có ứng dụng nào để làm như vậy không?

Đây là một ảnh chụp màn hình -

Câu trả lời:


3

Tùy chọn tốt nhất tôi tìm thấy tại thời điểm này là tạm dừng pulseaudio trong khi jack đang chạy. Nó được mô tả trong trang pulseaudio và jack , và liên quan đến việc gọi máy chủ jack thông qua pasuspender.

Từ trang người đàn ông:

   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

Tôi nhận ra câu hỏi này đã được hỏi / trả lời cách đây khá lâu tuy nhiên tôi có một số thông tin bổ sung có thể giúp ích cho những người có thể gặp phải câu hỏi này.

Các poster ban đầu cho thấy họ đang gặp phải sự tăng đột biến của CPU (lag) trong khi sử dụng cả âm thanh xung và jackd cùng nhau. Theo kinh nghiệm của tôi (tôi là một kỹ sư phòng thu chuyên nghiệp) điều này xảy ra do không chạy kernel có độ trễ thấp có sẵn để sử dụng với ardor et. al.

Đề nghị của tôi trước tiên là cài đặt và khởi động lại PC bằng rt-kernel. Hạt nhân phải có sẵn trong repo và synap, tuy nhiên các nguồn có thể cần kích hoạt.

Cá nhân, tôi muốn giới thiệu rt-kernel vì ubfox hỗ trợ tích cực cho nó và có sẵn (và sẽ không ảnh hưởng đến việc sử dụng PC trong cả ngày hôm nay.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.