Configurando PulseAudio com Jack no Ubuntu 10.04

Aqui no blog estão faltando artigos a respeito de música (afinal, o subtítulo dele diz que este é um dos assuntos) e estou pretendendo mudar isto. Estou preparando um artigo legal que espero publicar em breve, mas, por hora, vou publicar uma dica rápida e útil para quem trabalha ou pretende trabalhar com música no Linux: que é a integração do Jack com o PulseAudio, que é padrão em diversas distribuições.

Para quem não conhece, o Jack é um servidor de áudio para Linux e MacOS X sensacional, desenvolvido para trabalho profissional de edição e produção de áudio. Ele provê baxíssima latência e funciona como uma mesa de som virtual, permitindo que você faça vários programas isolados trabalharem em conjunto de forma fácil. O problema é que, quando ele está rodando, todos os seus softwares que utilizam o PulseAudio param de emitir som. Isto atrapalha muito, pois às vezes estamos gravando alguma coisa e queremos ouvir uma MP3 no programa padrão do computador ou assistir um vídeo no YouTube e não isto não será possível até que o Jack seja encerrado. É para resolver este problema que existe o pacote “pulseaudio-module-jack”, fazendo com que o PulSeAudio repasse para o Jack o audio, acabando com este inconveniente!

Já existem alguns tutoriais na Internet explicando isto, mas nenhum funcionou 100% para mim. Então segue o que fiz para funcionar no meu computador:

1) Instalando o pulseaudio-module-jack

Pode utilizar Ubuntu Software Center (se preferir a interface gráfica) ou copiar e colar o comando abaixo no Terminal:

sudo apt-get install  pulseaudio-module-jack

2) Copiando configurações padrão do PulseAudio

Utilize o comando abaixo para copiar o arquivo de configurações padrão do PulseAudio para o seu diretório de usuário:

cp /etc/pulse/default.pa ~/.pulse/pulsejack.pa

3) Configurando o PulseAudio para usar o Jack

Abra o arquivo criado no passo anterior no seu editor de texto favorito (eu gosto do Gedit) e modifique as seguintes linhas:

### Load audio drivers statically (it is probably better to not load<br /> ### these drivers manually, but instead use module-hal-detect --<br /> ### see below -- for doing this automatically)<br /> #load-module module-alsa-sink<br /> #load-module module-alsa-source device=hw:1,0<br /> #load-module module-oss device="/dev/dsp" sink_name=output source_name=input<br /> #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input<br /> #load-module module-null-sink<br /> #load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available<br /> .ifexists module-hal-detect.so<br /> load-module module-hal-detect<br /> .else<br /> ### Alternatively use the static hardware detection module (for systems that<br /> ### lack HAL support)<br /> load-module module-detect<br /> .endif

para que fiquem assim:

### Load audio drivers statically (it is probably better to not load<br /> ### these drivers manually, but instead use module-hal-detect --<br /> ### see below -- for doing this automatically)<br /> #load-module module-alsa-sink<br /> #load-module module-alsa-source device=hw:1,0<br /> #load-module module-oss device="/dev/dsp" sink_name=output source_name=input<br /> #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input<br /> #load-module module-null-sink<br /> #load-module module-pipe-sink<br /> load-module module-jack-source<br /> load-module module-jack-sink

### Automatically load driver modules depending on the hardware available<br /> #.ifexists module-hal-detect.so<br /> #load-module module-hal-detect<br /> #.else<br /> ### Alternatively use the static hardware detection module (for systems that<br /> ### lack HAL support)<br /> #load-module module-detect<br /> #.endif

4) Parando o PulseAudio e fazer com que ele não inicie automaticamente

A configuração padrão do PulseAudio no Ubuntu faz com que ele inicie automaticamente caso ele seja fechado. No nosso caso este não é o comportamento desejado, pois o Jack tem que pará-lo para reiniciá-lo com as configurações feitas no passo anterior. Então rode o comando abaixo para reconfigurar o PulseAudio:

echo "autospawn = no" > ~/.pulse/client.conf

5) Configure o Jack

Agora só basta dizer para o Jack reiniciar o PulseAudio com as novas configurações quando ele estiver ativo e voltar para o comportamento padrão com ele estiver inativo. Para fazer isto, abra o Jack Control, entre em “Settings…” e vá para a aba “Options”. Nesta aba, mude as configurações para as seguintes:

Configurações do Jack

Pronto, agora nunca mais perderá o som dos aplicativos padrão depois de iniciar o Jack para trabalhar com áudio!

Créditos: Este tutorial foi feito baseado neste que foi encontrado através deste.