Como configurar um Debian Studio: Como instalar o JACK, o servidor de áudio profissional para Linux

como-configurar-um-debian-studio-como-instalar-o-jack-o-servidor-de-audio-profissional-para-linux

Na postagem anterior vimos como compilar um kernel RT no Debian 12, procedimento necessário para podermos trabalhar com áudio não somente no Debian, mas em qualquer distribuição Linux. Nesta postagem iremos realizar algumas configurações necessárias para termos um sistema de áudio em Real Time, e também realizaremos a instalação e configuração do Jack – Jack Audio Connection Kit, a melhor opção para trabalharmos com áudio no Linux.

Configurando o grupo de Áudio no Debian

Para que possamos trabalhar com áudio utilizando preempção RT no Linux não basta apenas compilar um kernel RT. Isso mesmo, não basta compilar o kernel, pois além da compilação do mesmo é necessário realizar algumas configurações, extras, para que o sistema esteja realmente pronto para as nossas atividades.

Para termos prioridade máxima ao usarmos nosso sistema para o trabalho com áudio, devemos realizar algumas configurações como foi dito anteriormente. Primeiramente devemos verificar se temos o grupo áudio devidamente criado em nosso sistema, para tal execute o seguinte comando:

groups

Na saída deste comando tem de aparecer o grupo “audio” entre os demais grupos, caso você não tenha tal grupo criado, ou não pertença ao mesmo, você terá de criar ou adicionar o seu usuário ao grupo caso ele exista, vejamos:

groupadd audio && adduser usuário audio

Caso o grupo exista, e você não seja um membro do mesmo, basta adicionar o seu usuário ao mesmo com o comando que segue:

adduser usuário audio

Após a realização de tais procedimentos devemos configurar o grupo audio para ter prioridade máxima em relação aos demais processos, dessa forma devemos incluir o conteúdo que segue no final do arquivo /etc/security/limits.conf. Este procedimento também deve ser realizado pelo root. Cole no arquivo limits.conf:

@audio  rtprio 99
@audio  memlock unlimited
@audio  nice -19

Após este procedimento basta reiniciar o sistema e pronto, o sistema já pode ser usado para trabalharmos com preempção RT.

JACK Audio Connection Kit – JACK, o Servidor de Áudio Profissional para o Linux

O JACK como é mais conhecido é um servidor de áudio profissional para o Linux, com foco em sistemas que visam a baixa latência como prioridade. Com o JACK é possível manipular múltiplos clientes em ambiente de baixa latência, gerenciando e sincronizando vários streams de áudio.

Instalação do JACK no Debian

Para instalarmos o JACK no Debian basta o usarmos o apt, vejamos:

apt install jackd qjackctl patchage

Após instalarmos o JACK iremos configurá-lo para termos um bom desempenho com as aplicações, para tal podemos configurá-lo por meio do qjackctl, vejamos:

qjackctl

Após executar o comando anterior clique no botão Setup para abrir a janela de configurações do programa.

Configure o qjackctl conforme a imagem anterior, se for necessário altere alguns parâmetros conforme a sua necessidade. No entanto temos de ficar atentos ao indicador de latência – Latency – na parte inferior da janela de configurações, pois é por meio dele que vamos nos guiar para podermos, tentar, chegar ao mínimo de latência.

Veja que ao alterarmos algumas opções como Frames/Period ou Sample Rate a taxa de latência muda para mais ou para menos. Nosso objetivo é mantê-la com o menor valor possível, mas devemos ter em mente que quanto menor for o valor maior será o risco de termos quebras e atrasos – xruns. Dessa forma devemos testar e encontrar a melhor configuração para o nosso hardware. Estou conseguindo usar o sistema com 5,33 milissegundos de latência, o que para mim é ótimo.

As alterações realizadas pelo qjackctl ficam gravadas no arquivo de configuração do jackd o .jackdrc, desta forma também podemos editar tal arquivo para configurar o JACK.

Outra forma, de uso e configuração, seria por meio da linha de comando onde podemos chamar o JACK sem a necessidade de interface gráfica, o que é muito útil para ser utilizado em scripts.

jackd -v -R -P89 -dalsa -dhw:0 -r48000 -p128 -n2 -s -z -Xseq

Onde temos as seguintes opções do JACK:

  • jackd – chama o servidor JACK;
  • -v – Ativa o modo verbose;
  • -R – Inicia o JACK com prioridade de tempo real;
  • -P89 – Ativa a prioridade de tempo real do sheduler;
  • -dalsa – Especifica o back-end do sistema de áudio para o ALSA;
  • -dhw:0 – Especi?ca a interface de áudio que será usada;
  • -r48000 – Especi?ca a taxa de amostragem do JACK;
  • -p128 – Especi?ca o número de quadros entre as chamadas de função do JACK;
  • -n2 – Especi?ca o número de períodos no buffer do hardware;
  • -s – ignora xruns relatados pelo driver ALSA;
  • -Xseq – Seleciona o drive MIDI a ser utilizado.

Basta chamarmos o patchage para termos uma noção de como ficou nossa configuração:

patchage

Utilizando o patchage podemos ver que estou com uma taxa de latência de 3 milissegundo. Como o nosso objetivo é mantermos o sistema com baixa latência e livre de xruns, para conseguirmos tal proeza devemos testar as configurações e chegar a algo que supra as nossas necessidades. Certamente com tais configurações podemos dar início ao nosso trabalho com áudio no Debian 12, até a próxima postagem.