Làm thế nào để tôi sử dụng Jack? Linux hoạt động như thế nào? [đóng cửa]


7

Tôi đang cố gắng thiết lập Jack, vì tôi đã nghe nói đó là Linux tương đương với ASIO trên Windows. Tôi chơi guitar cho vui và nghĩ rằng sẽ rất tuyệt khi chơi với Ardor hoặc tìm FOSS tương đương với Guitar Rig.

Tuy nhiên tôi không hiểu ... tốt, bất cứ điều gì. Tôi không hiểu Jack làm gì. Từ những gì tôi có thể thu thập, dòng chảy chung là

[sound hardware][kernel][JACK][ALSA][PulseAudio][Phonon][my headphones]

(Phonon đến vì tôi sử dụng KDE. Tôi nghĩ vậy.)

Tôi thực sự không biết những gì các mũi tên đại diện. Trang web JACK về cơ bản chứa tài liệu hướng đến người dùng bằng không, ngoại trừ một trang mô tả cách sử dụng JACK với PulseAudio.

Là người mới bắt đầu, bất kể JACK, không hiểu âm thanh hoạt động như thế nào trong Linux, tôi có thể học ở đâu? Tôi muốn có được sự hiểu biết về ngăn xếp âm thanh. Nhưng đối với JACK, tất cả những gì tôi có thể tìm thấy là Wiki cồng kềnh của nó (bao gồm hai liên kết ngon ngọt có tên là Cấu hình và chạy máy chủ JACKThiết lập chuỗi âm thanh đơn giản , cả hai đều là trang "Sắp ra mắt" chưa được chỉnh sửa trong năm năm) và một bài báo Tạp chí Linux từ năm 2005 .

Nhiều điều làm tôi bối rối. Làm cách nào tôi có thể biết thiết bị âm thanh nào Linux nhận ra? Tôi có ba: chip trên bo mạch, giao diện âm thanh USB (M-Audio FastTrack) và webcam USB có micrô. Có phải tất cả những điều này được Linux công nhận? Có phải tất cả đều đăng ký cụ thể như các thiết bị âm thanh? Có phải mỗi thiết bị phải có trình điều khiển độc lập cho JACK, ALSA, PulseAudio, v.v.? Có cách cơ bản nào để tôi có thể kiểm tra thiết bị của mình để đảm bảo thiết bị có đầu ra không? Có cách nào để tôi có thể theo dõi các thiết bị của mình để xem phần mềm có thực sự sử dụng chúng không?

Ngay bây giờ âm thanh Amarok có thể nghe được, nhưng âm thanh Youtube thì không. Amarok cũng đang chạy qua USB FastTrack của tôi thay vì chip âm thanh trên bo mạch của tôi. Hydrogen từ chối bắt đầu, có lẽ vì tôi có JACK hoặc Alsa hoặc một cái gì đó được cấu hình sai. Tôi không biết làm thế nào để tìm ra vần điệu hoặc lý do cho những điều này.


1
"Là người mới bắt đầu, bất kể JACK, không hiểu âm thanh hoạt động như thế nào trong Linux, tôi có thể học ở đâu? Tôi muốn có được sự hiểu biết về ngăn xếp âm thanh." - vâng, khó nói những gì đang được hỏi. Hay chỉ khó trả lời?
mlvljr

Câu trả lời:


10

Trong nỗ lực của tôi với âm thanh Linux, cuối cùng tôi đã vô hiệu hóa tính năng tự động phát xung của Pulse Audio (vì vậy nó không khởi động lại khi tắt máy):

Thêm autospawn=novào ~/.pulse/client.conf.

  • Dừng lại với pactl exit
  • Bắt đầu với pulseaudio

Làm công cụ âm thanh trực tiếp hoặc tương tự tôi tắt PA và chỉ chạy JACK. Không có cầu PA. Tôi chưa bao giờ giảm độ trễ một cách thỏa đáng khi sử dụng PA hoặc JACK + PA.

Bài viết này dường như đưa ra một giới thiệu khá tốt và nhanh chóng về các lớp, trong đó cũng đề cập đến Phonon.

Có lẽ bạn đã đọc nó và cũng không cập nhật, nhưng có lẽ sẽ giúp bạn hiểu hơn về quy trình: Linux Music Workflow: Chuyển từ Mac OS X sang Ubuntu bằng Kim Cascone . Lưu ý sơ đồ trên tiêu đề "Quy trình làm việc" . (Bạn cũng có thể tìm thấy ở đây theo sơ đồ JACK .) Cũng đọc các liên kết, ví dụ như liên kết hàng đầu Giới thiệu về Linux Audio , mặc dù từ năm 2004, nó cho bạn cái nhìn nhanh về ALSA.


Mặc dù bản thân tôi không quen thuộc nhưng tôi tin rằng một cách tiếp cận tốt là tách ra việc học ở nhiều phần khác nhau.

  1. Hiểu về ALSA
  2. Tìm hiểu về JACK (Đặc biệt là khi bạn muốn làm công việc phòng thu.)
  3. Tìm hiểu về Pulse Audio

theo thứ tự đó. Không có gì lạ khi một cuộc đấu tranh với việc nắm bắt âm thanh Linux. Điều đó có khá nhiều liên quan đến lịch sử và làm thế nào tất cả đã phát triển. Đó cũng là lý do tại sao, nếu một người muốn thực sự hiểu nó, đó là một điều tốt để tìm hiểu lịch sử của nó. Do đó một lần nữa - ALSA là một nơi tốt để bắt đầu. Làm một số đánh hơi trên OSS. Và làm việc theo cách của bạn lên.

Cách nhanh chóng để có thể làm cho nó hoạt động là làm theo một trong những hướng dẫn này .

Đơn giản hóa; ALSA là một phần của kernel và biết cách xử lý các phần cứng khác nhau. JACK cũng như Pulse Audio sử dụng API để kiểm soát và tương tác với phần cứng. ALSA cũng có thể được sử dụng một mình như một máy chủ âm thanh. Các ứng dụng sử dụng API JACK / PA để thực hiện công việc âm thanh đa luồng.

Một cái nhìn nhanh về hệ thống của bạn có thể đạt được bằng cách chạy alsa-info.shtập lệnh được tìm thấy ở đây .

Một sơ đồ rất đơn giản về chế độ xem mờ hiển thị một số kết nối:

 +------------------------------------------------+
 |                   SOUNDCARD                    |
 |------------------------------------------------|      _____  __
 |                  ___________                   |     /     \/  \
 |                  |   ADC   | <---- analog in --[o---7 :===========|==|==|=[';]
 |                  -----|-----                   |     \____7 \__/
 |    __________ AMP     |                        |
 |   | MIXER |----+------o                        |
 |   +---|---+-- AMP_____|______                  |        _______
 |       |          |   DAC    | ---> analog out -[o------[ o o o ]  ♫ ♬ ♪ ♩ ♭ ♪
 |       |          +----------+                  |       |       |
 |       |                                        |       |  (o)  |
 |   -- -+---^-- --v-- -- -- --^-- --v-- --+--    |       |       |
 |                    CONTROLS                    |       | ((0)) |
 |                                                |       |_______|
 |                                                |
 +------------------------------||----------------+
                                ||
 ADC: Analog to digital         ||
 DAC: Digital to analog         |- udev trigged and mounted
 _______________________________||________________
|                                                 |
|                     KERNEL                      |
|¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ -|-|-|-|- ¨ ¨ ¨ ¨ ¨|
|                                                 |
|       ALSA API <--> [Device Drivers]            |
|         ^  |        module-alsa-card   +--------|--
|         |  |                           |        |
+---------|--|---------------------------|     Memory Buffer I/O
:         |  v                           |        |
|                                        +----|---|--
| JACK ------------ PULSE AUDIO --------------+   |
|             sinks                           |   |--
| * hardware-access-points * hardware-sink    |   |  Uses ALSA API for HW I/O
| * virtual-devices        * mediaplayer-sink |   |  Mixing, Control etc.
|                          * recorder-sink    |   |
|                          * ...              |   |--
|                                             |   |
|-----------------|------|--------------------|---|
|               APPLICATIONS -----------------+   |
|-------------------------------------------------|
|                                                 |
| Software based mixing                           |
|                                                 |
+-------------------------------------------------+

ALSA, PulseAudio và OSS đều làm điều tương tự. JACK tuyến âm thanh.
Geremia
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.