Pode ser prejudicial conceder prioridade em tempo real do jackd?

7

Estou apto a instalar o Ardor, um programa de mixagem de som, apenas para experimentá-lo. Instalar o Ardour também instala o JACK, uma dependência. Como parte do script de instalação do JACK, recebo o seguinte diálogo:

  

Se você deseja executar o jackd com prioridades em tempo real, o usuário que inicia o jackd precisa de permissões em tempo real. Aceite esta opção para criar o arquivo /etc/security/limits.d/audio.conf, concedendo prioridade em tempo real e privilégios de memlock ao grupo de áudio.

     

A execução do jackd com prioridade em tempo real minimiza a latência, mas pode levar a bloqueios completos do sistema, solicitando toda a memória física disponível do sistema, o que é inaceitável em ambientes multiusuário.

     

Ativar prioridade do processo em tempo real?

Estou instalando no meu laptop, que nunca tem vários usuários simultâneos. Eu ainda tenho preocupações: o JACK é algo que será usado pelo próprio sistema para tocar qualquer som (ou seja, ele substituirá o ALSA)? Em caso afirmativo, isso significa que, se eu ativar a prioridade em tempo real para o JACK, correrei um pequeno risco de congelar a máquina sempre que algum som for reproduzido? Ou será que o JACK só será usado pelo Ardour por enquanto (até que eu instale algum outro programa dependente do JACK)?

    
por SuperElectric 06.03.2011 / 23:07

2 respostas

12

O Jackd normalmente não substitui o ALSA. O Jackd geralmente usa o ALSA para fornecer sua saída. O que o Jackd oferece é uma rede de roteamento / encaminhamento de áudio de baixa latência que outro software pode usar. Apenas o software projetado para usar o Jackd usará o JackD. O Jackd só precisa ser executado quando você estiver executando o software que o utiliza (por exemplo, Arddor, Rosegarden, Jack-rack). Quando você não está executando um programa que usa o jackd, você não precisa executar o jackd.

O melhor programa que encontrei para controlar o jackd é o qjackctl, que pode ser instalado através do Ubuntu Software Center como Jack Control. Permite iniciar / parar o jackd, configurar como é executado e configurar conexões.

Para obter a menor latência possível, o jackd realmente gostaria de usar threads de prioridade em tempo real. Permitir o processamento em tempo real para o jackd é uma boa coisa a fazer e não deve prejudicar o seu sistema. (A máquina que eu estou digitando agora já está habilitada há 4 anos com 2 distribuições diferentes do Linux e duas encarnações de hardware diferentes, sem travas.)

BTW, uma vez que você começa a usar alguns dos recursos do jackd, fica bastante viciante. Ao iniciar diferentes racks de efeitos (instâncias de jack-rack) e configurar as conexões, posso fazer uma gravação em estéreo e criar uma saída 4.2 em tempo real, onde tenho diferentes atrasos de reverb / delay para os alto-falantes traseiros, um centro personalizado mix de canais e uma saída de sub-woofers. (Eu ainda estou tentando encontrar um bom dobrador de oitava para isso.)

    
por jwernerny 06.03.2011 / 23:27
1

Uma abordagem para o problema de bloqueio em tempo real é simplesmente abrir um terminal bash com uma prioridade maior que jackd . Use seu terminal de alta prioridade para matar jackd caso veja sinais de sobrecarga do CPU em tempo real. Eu usei isso para evitar falhas totais antes de aprender a arte do ajuste fino para áudio profissional. Curva de aprendizado íngreme, grandes recompensas!

    
por Josh Sewell 11.07.2012 / 21:52