# PulseAudio (Português)

PulseAudio (antigo Polypaudio) é um servidor de som em rede multi-plataforma , comumente usado em sistemas baseados no Linux e FreeBSD. Ele pode ser usado como um substituo melhorado do Enlightened Sound Daemon (ESD).

PulseAudio roda em sistemas Microsoft Windows e POSIX-compliant, como o Linux e FreeBSD. PulseAudio é um software livre lançado sobre os termos da GNU Lesser General Public License.

Fonte: Wikipédia

## Instalação

Para instalar o PulseAudio:

    # pacman -S pulseaudio

Opcionalmente você pode instalar alguns frontends escritos em GTK:

    # pacman -S paprefs pavucontrol

## Executando

O PulseAudio pode ser iniciado usando:

    $ pulseaudio --start

Ou se você usa o X11:

    $ start-pulseaudio-x11

Isso vai iniciar o PulseAudio com os plugins para o X11.

No KDE você pode usar o comando:

    $ start-pulseaudio-kde

Isso permite que você veja cada um dos dispositivos de áudio no Configurações do sistema->Multimídia->Phonon.

Você pode parar o PulseAudio usando:

    $ pulseaudio --kill

Note que em alguns Desktops Environments como o KDE e o GNOME, o PulseAudio será iniciado durante o login.

## Configuração dos Backends

### ALSA

Para aplicativos que não suportam o PulseAudio mas suportam o ALSA é recomendado instalar o plugin do PulseAudio para o ALSA. O jeito mais simples de fazê-lo é instalando o pacote pulseaudio-alsa.

    # pacman -S pulseaudio-alsa

Esse pacote inclui o `/etc/asound.conf` necessário para configurar o ALSA para usar o PulseAudio.

Se você usa o Arch x86_64 e quer ter som em programas 32-bits (como o Wine), lembre-se de instalar o lib32-libpulse e o lib32-alsa-plugins também.

Para evitar que aplicativos usem a emulação do OSS via ALSA e assim transpassando o PulseAudio (prevenindo outros aplicativos de tocar som), remova o módulo `snd_pcm_oss` executando:

    # rmmod snd_pcm_oss

Depois, coloque o módulo na lista negra (blacklist) adicionando `!snd_pcm_oss` na parte MODULES do arquivo `/etc/rc.conf`.

### OSS

Existem várias maneiras de fazer programas que só funcionam com OSS rodarem no PulseAudio:

#### osspd

Esse é o jeito mais simples.

Instale o ossp e inicie-o digitando:

    # /etc/rc.d/osspd start

Depois, adicione-o na linha DAEMONS do arquivo `/etc/rc.conf`.

#### padsp wrapper

Se você tem um programa que usa o OSS você pode fazê-lo funcionar com o PulseAudio iniciando-o com o padsp:

    $ padsp OSSprogram

Alguns exemplos:

    $ padsp aumix
    $ padsp sox foo.wav -t ossdsp /dev/dsp

Se você preferir você pode renomear seu programa OSS e substituí-lo com um script como esse:

    /usr/bin/OSSProgram

    #!/bin/sh
    if test -x /usr/bin/padsp; then
        exec /usr/bin/padsp /usr/bin/OSSprogram-bin "$@"
    else
        exec /usr/bin/OSSprogram "$@"
    fi

### GStreamer

Para fazer o GStreamer usar o PulseAudio, execute `gstreamer-properties` (parte do pacote gnome-media) e selecione Servidor de som PulseAudio tanto na Saída como Entrada padrão. Alternativamente, isso pode ser feito setando as variáveis `/system/gstreamer/0.10/default/audiosink` para pulsesink e `/system/gstreamer/0.10/default/audiosrc` para pulsesrc no gconf2:

     $ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
     $ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosrc pulsesrc

Algumas aplicações (como o Rhythmbox) ignoram a propriedade audiosink, usando a propriedade musicaudiosink, que não pode ser configurada usando o `gstreamer-properties` e precisa ser setada manualmente usando o `gconf-editor` ou `gconftool-2`:

     $ gconftool-2 -t string --set /system/gstreamer/0.10/default/musicaudiosink pulsesink

### OpenAL

OpenAL deve usar o PulseAudio por padrão, mas você pode configurar explicitamente para usá-lo em:

    /etc/openal/alsoft.conf

    drivers=pulse,alsa

### libao

Edite a seguinte linha no arquivo de configuração do libao:

    /etc/libao.conf

    default_driver=pulse

### PortAudio

A versão atual do PortAudio no repositório community não suporta o PulseAudio. Isso pode ser arrumado compilando o PortAudio do ABS e aplicando esse patch ao código.

### ESD

PulseAudio substitui o enlightened sound daemon (ESD). Enquanto o PulseAudio estiver rodando, clientes ESD devem ser capazes de usá-lo sem configurações adicionais.

## Desktop Environments

#### X11 bell

Para fazer o PulseAudio tocar um som quando um evento do X11 acontecer (ex.: fazer seu terminal fazer 'Ping!' ao invés de 'Beep!'), adicione o seguinte no arquivo `/etc/pulse/default.pa`:

    load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/dialog-error.ogg
    load-module module-x11-bell sample=x11-bell

Você também pode usar outro som. `dialog-error.ogg` faz parte do pacote sound-theme-freedesktop.

### GNOME

Para obter integração completa do GNOME com o PulseAudio você deve instalar os seguintes pacotes:

- gnome-media-pulse
- gnome-settings-daemon-pulse
- libcanberra-pulse

Eles fazem parte do grupo pulseaudio-gnome.

### KDE 3

PulseAudio não é um substituto para o aRts. Se você usa o KDE 3 não é possível usar o PulseAudio por enquanto.

### KDE 4 e Qt4

Se tudo ocorreu bem não é necessário fazer nenhuma configuração adicional no KDE 4.

## Aplicativos

### Audacious

Audacious tem suporte nativo ao PulseAudio. Para usá-lo você deve setar nas preferências do Audacious (Ctrl + P) -> Áudio -> Plugin de saída atual para 'PulseAudio Output Plugin'.

### mpd

Você vai precisar configurar o mpd para usar o PulseAudio.

Se você roda o daemon no modo system-wide, você vai precisar adicionar o usuário mpd no grupo pulse-access para conseguir fazer o mpd se conectar ao daemon.

Num desktop, executar o mpd com o seu usuário e não com o mpd é preferível.

### MPlayer

O MPlayer tem suporte nativo ao PulseAudio usando a opção "-ao=pulse". Também é possível configurar o PulseAudio para ser a saída de áudio padrão, em `~/.mplayer/config` para cada usuário, ou `/etc/mplayer/mplayer.conf` para o sistema inteiro:

    /etc/mplayer/mplayer.conf

    ao=pulse

## Configurações alternativas

### Sistemas surround

Várias pessoas tem uma placa de som surround, mas só usam dois canais, então o PulseAudio não pode usar como padrão uma configuração surround. Para habilitar todos os canais, edite o arquivo `/etc/pulse/daemon.conf`: descomente a linha 'default-sample-channels' (remova o ponto-e-vírgula do início da linha) e sete o valor para 6 se você tiver um sistema 5.1 ou 8 se você tiver um sistema 7.1 e assim por diante.

    # Padrão
    default-sample-channels=2
    # Para 5.1
    default-sample-channels=6
    # Para 7.1
    default-sample-channels=8

Depois de fazer a mudança, você deve reiniciar o PulseAudio.

#### Gravar de fonte monitora

Para conseguir gravar a partir de uma fonte monitora (a.k.a. "O-que-você-ouve", "Stereo Mix"), use `pactl list` para achar o nome da fonte no PulseAudio (ex. `alsa_output.pci-0000_00_1b.0.analog-stereo.monitor`). Então adicione algo como o seguinte no `/etc/asound.conf` or `~/.asoundrc`:

    pcm.pulse_monitor {
      type pulse
      device alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
    }

    ctl.pulse_monitor {
      type pulse
      device alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
    }

Agora você pode selecionar o `pulse_monitor` como uma fonte de gravação.

### PulseAudio via rede

Um dos recursos mais interessantes do PulseAudio é a possibilidade de fazer streams de áudio dos clientes via TCP até o servidor rodando o daemon do PulseAudio, permitindo que sons sejam transmitidos via LAN.

Para conseguir isso, é necessário ativar o module-native-protocol-tcp, e copiar o pulse-cookie nos clientes.

### Suporte TCP (som via rede)

This article or section is out of date.

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:PulseAudio (Português)#)

Para ativar o módulo TCP, adicione isso (ou descomente, se já estiver aí) `/etc/pulse/default.pa`:

    load-module module-native-protocol-tcp

Para permitir conexões remotas ao módulo TCP, você também tem que desbloquear o serviço em `/etc/hosts.allow` com a seguinte linha:

    pulseaudio-native: ALL

#### Publicação Zeroconf (Avahi)

Para o servidor remoto do PulseAudio aparecer no PulseAudio Device Chooser (`padevchooser`), você também vai precisar adicionar o `avahi-daemon` na linha DAEMONS do seu rc.conf tanto no servidor quanto nos clientes.

### Trocando o servidor PulseAudio usado por clientes X locais

Para trocar entre servidores no cliente a partir do X, o comando `pax11publish` pode ser usado. Por exemplo, para trocar do servidor padrão para um servidor no hostname foo:

    $ pax11publish -e -S foo

Ou para voltar ao servidor padrão:

    $ pax11publish -e -r

Note que para a troca se efetive, os programas que usam o PulseAudio devem ser reiniciados.

### Pulseaudio via OSS

Adicione a seguinte linha no `/etc/pulse/default.pa`:

     load-module module-oss

Então inicie o PulseAudio como usual.

## Soluções de problemas

### Sem som depois da instalação

#### Sem placa de som

Se o PulseAudio inicie, rode `pacmd list`. Se nenhuma placa de som for reportada, confira se seus dispositivos ALSA não estão em uso:

    $ fuser -v /dev/snd/*
    $ fuser -v /dev/dsp

Tenha certeza que qualquer aplicativo usando pcm ou dsp está desligado antes de reiniciar o PulseAudio.

#### Dispositivo de som mudo

Se você não teve nenhum áudio enquanto usava o ALSA como seu dispositivo padrão, talvez você tenha que remover o mudo da sua placa de som. Para isso, você vai iniciar o alsamixer e checar se cada coluna tem uma verde com 00 abaixo dele (isso pode ser feito pressionando 'm')

    $ alsamixer -c 0

Algumas vezes o módulo snd_pcsp conflita com o snd_hda_intel (para aqueles que usam placas da Intel) e nenhum som é conseguido. Para arrumar isso, você pode colocar na lista negra (blacklist) o módulo snd_pcsp na linha MODULES do arquivo `/etc/rc.conf` (inserindo `!snd_pcsp`)

### Falha ao iniciar o daemon

Tente recomeçar o PulseAudio. Para isso:

    $ pulseaudio --kill
    $ killall pulseaudio
    $ killall -9 pulseaudio
    $ rm -rf ~/.pulse*
    $ rm -rf /tmp/pulse*

Depois disso, inicie o PulseAudio de novo.

### padevchooser

Se você não consegue iniciar o PulseAudio Device Chooser, primeiro (re)inicie o daemon do Avahi:

    $ /etc/rc.d/avahi-daemon restart

### Problemas e uso intenso da CPU a partir da versão 0.9.14

O servidor de áudio PulseAudio foi reescrito para usar timer-based scheduling ao invés do tradicional interrupt-driven scheduling. Timer-based scheduling pode apresentar problemas em alguns drivers do ALSA. Para desligar o timer-based scheduling, substitua a linha:

    load-module module-udev-detect

no arquivo `/etc/pulse/default.pa` por:

    load-module module-udev-detect tsched=0

### Som intermitente

Som intermitente no PulseAudio pode ser resultado de configurações erradas no sample rate do arquivo `/etc/pulse/ddaemon.conf`. Tente substituir a linha

    ; default-sample-rate = 44100

para

    default-sample-rate = 48000

e reinicie o PulseAudio usando

    pulseaudio --kill && pulseaudio --start

### Ajuste de volume não funciona corretamente

Você talvez queira checar:

    /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

### Realtime scheduling

Se o rtkit não funcionar, você pode setar manualmente seu sistema para rodar o PulseAudio com realtime scheduling, o que ajuda na performance. Para fazer isso, adicione as seguintes linhas no arquivo `/etc/security/limits.conf`:

    @pulse-rt - rtprio 9
    @pulse-rt - nice -11

Depois disso, você precisa adicionar seu usuário no grupo `pulse-rt`:

    # gpasswd -a <user> pulse-rt

## Veja também

- Allow multiple programs to play sound at once

## Links externos

- http://www.pulseaudio.org/wiki/PerfectSetup - Um bom guia para configurar o PulseAudio de forma perfeita (em inglês)
- http://www.alsa-project.org/main/index.php/Asoundrc - Alsa wiki sobre .asoundrc (em inglês)
- http://www.pulseaudio.org/ - Site oficial do PulseAudio (em inglês)
- http://www.pulseaudio.org/wiki/FAQ - PulseAudio FAQ (em inglês)

Category:

- Português

Hidden category:

- Pages or sections flagged with Template:Out of date