Como eu uso o Jack? Como o Linux funciona? [fechadas]

7

Estou tentando configurar o Jack, como ouvi dizer que é o equivalente do ASIO no Windows no Linux. Eu toco guitarra por diversão e pensei que seria legal tocar com o Ardour ou encontrar um equivalente FOSS ao Guitar Rig.

No entanto, eu não entendo ... bem, qualquer coisa. Eu não entendo o que Jack faz. Pelo que posso reunir, o fluxo geral é

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

(Phonon entra porque eu uso o KDE, eu acho).

Eu realmente não sei o que as setas representam. O site do JACK contém basicamente zero documentação inicial orientada ao usuário, exceto por uma página que descreve como usar o JACK com o PulseAudio.

Como um iniciante que, independentemente do JACK, não entende como o som funciona no Linux, onde posso aprender? Eu gostaria de obter uma compreensão da pilha de sons. Mas para o JACK, tudo que consegui encontrar é o seu Wiki estéril (incluindo dois links suculentos chamados Configurando e executando um servidor JACK e Configurando uma cadeia de áudio simples , que ambas acabam sendo páginas "Coming Soon" que não foram editadas em cinco anos) e um Artigo da Revista Linux de 2005 .

Muitas coisas me confundem. Como posso saber quais dispositivos de som o Linux reconhece? Eu tenho três: um chip onboard, uma interface de áudio USB (um M-Audio FastTrack) e uma webcam USB que possui um microfone. Todas essas coisas são reconhecidas pelo Linux? Todos eles se registram especificamente como dispositivos de som? Cada dispositivo precisa ter drivers independentes para JACK, ALSA, PulseAudio etc.? Existe uma maneira básica de testar meu dispositivo para garantir que ele tenha saída? Existe uma maneira de monitorar meus dispositivos para ver se o software está realmente usando-os?

Neste momento, o som do Amarok é audível, mas o som do Youtube não é. O Amarok também está passando pelo meu USB FastTrack em vez do meu chip de som onboard. O hidrogênio se recusa a iniciar, presumivelmente porque eu tenho JACK ou Alsa ou algo configurado errado. Eu não tenho ideia de como descobrir a rima ou a razão para essas coisas.

    
por leo-the-manic 22.05.2013 / 01:53

1 resposta

10

No meu esforço com o som do Linux, acabei desabilitando o auto-registro do Pulse Audio (assim ele não reinicia quando desligado):

Adicione autospawn=no a ~/.pulse/client.conf .

  • Pare com pactl exit
  • Comece com pulseaudio

Fazendo material de som ao vivo ou algo parecido, encerro o PA e só executo o JACK. Nenhuma ponte de PA Eu nunca obtive latência satisfatoriamente reduzida usando PA ou JACK + PA.

Este artigo parece dar uma boa introdução às camadas, que também menciona Phonon .

Você talvez tenha lido isso e também não esteja atualizado, mas talvez aproxime-o de um entendimento: Linux Music Workflow: Mudando do Mac OS X para o Ubuntu com Kim Cascone . Observe o diagrama acima do título "Fluxo de trabalho" . (Que você também pode encontrar aqui em diagrama esquemático do JACK .) Leia também os links, por exemplo. o topo Introdução ao Linux Audio , mesmo que a partir de 2004 ele ofereça uma visão rápida da ALSA.

Embora eu não esteja familiarizado comigo mesmo, acredito que uma boa abordagem é dividir o aprendizado em várias partes.

  1. Entenda o ALSA
  2. Entenda o JACK (especialmente porque você quer fazer um trabalho de estúdio.)
  3. Entenda o Pulse Audio

nessa ordem. Não é de admirar que se lute com o som do Linux. Isso tem muito a ver com a história e como tudo evoluiu. É também por isso que, se alguém quiser realmente entendê-lo, é bom aprender a história dele. Assim, novamente - ALSA é um bom lugar para começar. Faça algum sniffing no OSS. E trabalhe seu caminho.

A forma rápida de poder fazer com que ela funcione é qualquer um desses guias .

Simplisticamente; A ALSA faz parte do kernel e sabe como lidar com vários hardwares. O JACK, assim como o Pulse Audio, usa API para controlar e interagir com o hardware. O ALSA também pode ser usado sozinho como um servidor de som. Aplicativos usa JACK / PA API para fazer o trabalho de som multi-thread.

Uma visão rápida do seu sistema pode ser obtida executando o script alsa-info.sh encontrado aqui .

Um diagrama muito simplificado de uma vista borrada mostrando algumas das conexões:

 +------------------------------------------------+
 |                   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                           |
|                                                 |
+-------------------------------------------------+
    
por 22.05.2013 / 04:19

Tags