Difference between revisions of "PulseAudio (Português)"

From ArchWiki
Jump to: navigation, search
(Tradução parcial do Configurações Alternativas. Não sei se vou terminar tudo, primeiro porque é muito conteúdo e segundo porque tem coisas aqui que tenho quase certeza que estão desatualizadas.)
(Primeira versão 100% em português. Correção de algumas coisas pequenas e corte da parte falando do JACK e chroot. Mais informações no discussion.)
Line 1: Line 1:
 
[[Category:Português]]
 
[[Category:Português]]
 
{{i18n|PulseAudio}}
 
{{i18n|PulseAudio}}
 
''Tradução parcial da versão inglesa''
 
  
 
'''PulseAudio''' é um servidor de áudio para sistemas POSIX e Win32. Seu recurso mais básico é mixar o som de diferentes programas juntos, permitindo a reprodução de diversos sons de uma vez.
 
'''PulseAudio''' é um servidor de áudio para sistemas POSIX e Win32. Seu recurso mais básico é mixar o som de diferentes programas juntos, permitindo a reprodução de diversos sons de uma vez.
Line 154: Line 152:
 
Depois de fazer a mudança, você deve reiniciar o PulseAudio.
 
Depois de fazer a mudança, você deve reiniciar o PulseAudio.
  
====ALSA Monitor source====
+
====Gravar de fonte monitora====
To be able to record from a monitor source (a.k.a. "What-U-Hear", "Stereo Mix"), use {{Codeline|pactl list}} to find out the name of the source in Pulseaudio (e.g. {{Codeline|alsa_output.pci-0000_00_1b.0.analog-stereo.monitor}}). Then add lines like the following to {{Filename|/etc/asound.conf}} or {{Filename|~/.asoundrc}}:
+
Para conseguir gravar a partir de uma fonte monitora (a.k.a. "O-que-você-ouve", "Stereo Mix"), use {{Codeline|pactl list}} para achar o nome da fonte no PulseAudio (ex. {{Codeline|alsa_output.pci-0000_00_1b.0.analog-stereo.monitor}}). Então adicione algo como o seguinte no {{Filename|/etc/asound.conf}} or {{Filename|~/.asoundrc}}:
 
  pcm.pulse_monitor {
 
  pcm.pulse_monitor {
 
   type pulse
 
   type pulse
Line 166: Line 164:
 
  }
 
  }
  
Now you can select {{Codeline|pulse_monitor}} as a recording source.
+
Agora você pode selecionar o {{Codeline|pulse_monitor}} como uma fonte de gravação.
  
 
===PulseAudio via rede===
 
===PulseAudio via rede===
Line 180: Line 178:
 
  pulseaudio-native: ALL
 
  pulseaudio-native: ALL
  
====Zeroconf (Avahi) publishing====
+
====Publicação Zeroconf (Avahi)====
 
Para o servidor remoto do PulseAudio aparecer no PulseAudio Device Chooser ({{Filename|padevchooser}}, você também vai precisar adicionar o {{Filename|avahi-daemon}} na linha DAEMONS do seu rc.conf tanto no servidor quanto nos clientes.
 
Para o servidor remoto do PulseAudio aparecer no PulseAudio Device Chooser ({{Filename|padevchooser}}, você também vai precisar adicionar o {{Filename|avahi-daemon}} na linha DAEMONS do seu rc.conf tanto no servidor quanto nos clientes.
  
===Switching the PulseAudio server used by local X clients===
+
===Trocando o servidor PulseAudio usado por clientes X locais===
To switch between servers on the client from within X, the {{Codeline|pax11publish}} command can be used. For example, to switch from the default server to the server at hostname foo:
+
Para trocar entre servidores no cliente a partir do X, o comando {{Codeline|pax11publish}} pode ser usado. Por exemplo, para trocar do servidor padrão para um servidor no hostname foo:
 
  $ pax11publish -e -S foo
 
  $ pax11publish -e -S foo
  
Or to switch back to the default:
+
Ou para voltar ao servidor padrão:
 
  $ pax11publish -e -r
 
  $ pax11publish -e -r
  
Note that for the switch to become apparent, the programs using Pulse must be restarted.
+
Note que para a troca se efetive, os programas que usam o PulseAudio devem ser reiniciados.
 
 
===Pulseaudio through JACK===
 
The JACK-Audio-Connection-Kit is popular for audio work, and is widely supported by Linux audio applications. It fills a similar niche as Pulseaudio, but with more of an emphasis on professional audio work. In particular, audio applications such as Ardour and Audacity (recently) work well with Jack.
 
 
 
Pulseaudio provides module-jack-source and module-jack-sink which allow Pulseaudio to be run as a sound server above the JACK daemon. This allows the usage of per-volume adjustments and the like for the apps which need it, play-back apps for movies and audio, while allowing low-latency and inter-app connectivity for sound-processing apps which connect to JACK. However, this will prevent Pulseaudio from directly writing to the sound card buffers, which will increase overall CPU usage.
 
 
 
To just try PA on top of jack you can have PA load the necessary modules on start:
 
pulseaudio -L module-jack-sink -L module-jack-source
 
 
 
To use pulseaudio with JACK, JACK must be started up before Pulseaudio, using whichever method you prefer. Pulseaudio then needs to be started loading the 2 relevant modules. Edit {{Filename|/etc/pulse/default.pa}}, and change the following region:
 
### Load audio drivers statically (it is probably better to not load
 
### these drivers manually, but instead use module-hal-detect --
 
### see below -- for doing this automatically)
 
#load-module module-alsa-sink
 
#load-module module-alsa-source device=hw:1,0
 
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
 
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
 
#load-module module-null-sink
 
#load-module module-pipe-sink
 
 
### Automatically load driver modules depending on the hardware available
 
.ifexists module-udev-detect.so
 
load-module module-udev-detect
 
.else
 
### Alternatively use the static hardware detection module (for systems that
 
### lack udev support)
 
load-module module-detect
 
.endif
 
 
 
to the following:
 
### Load audio drivers statically (it is probably better to not load
 
### these drivers manually, but instead use module-hal-detect --
 
### see below -- for doing this automatically)
 
#load-module module-alsa-sink
 
#load-module module-alsa-source device=hw:1,0
 
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
 
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
 
#load-module module-null-sink
 
#load-module module-pipe-sink
 
load-module module-jack-source
 
load-module module-jack-sink
 
 
### Automatically load driver modules depending on the hardware available
 
#.ifexists module-udev-detect.so
 
#load-module module-udev-detect
 
#.else
 
### Alternatively use the static hardware detection module (for systems that
 
### lack udev support)
 
#load-module module-detect
 
#.endif
 
 
 
Basically, this prevents module-udev-detect from loading. module-udev-detect will always try to grab your sound-card (JACK has already done that, so this will cause an error). Also, the jack source and sink must be explicitly loaded.
 
 
 
====QjackCtl with Startup/Shutdown Scripts====
 
Using the settings listed above you can use QjackCtl to execute a script upon startup and shutdown to load/unload PulseAudio. Part of the reason you may wish to do this is that the above changes disable PulseAudio's automatic hardware detection modules. This particular setup is for using PulseAudio in an exclusive fashion with JACK, though the scripts could be modified to unload and load an alternate non-JACK setup, but killing and starting PulseAudio while programs might be using it would become problematic.
 
 
 
The following example could be used and modified as necessary as a startup script that daemonizes PulseAudio and loads the ''padevchooser'' program (optional, needs to be built from AUR) called {{Filename|jack_startup}}:
 
#!/bin/bash
 
#Load PulseAudio and PulseAudio Device Chooser
 
 
pulseaudio -D
 
padevchooser&
 
 
 
as well as a shutdown script to kill PulseAudio and the Pulse Audio Device Chooser, as another example called {{Filename|jack_shutdown}} also in the home directory:
 
#!/bin/bash
 
#Kill PulseAudio and PulseAudio Device Chooser
 
 
pulseaudio --kill
 
killall padevchooser
 
 
 
Both scripts need to be made executable:
 
chmod +x jack_startup jack_shutdown
 
 
 
then with QjackCtl loaded, click on the ''Setup'' button and then the ''Options'' tab and tick both "Execute Script after Startup:" And "Execute Script on Shutdown:" and put either use the ... button or type the path to the scripts (assuming the scripts are in the home directory) {{Filename|~/jack_startup}} and {{Filename|~/jack_shutdown}} making sure to save the changes you have made.
 
  
 
===Pulseaudio via OSS===
 
===Pulseaudio via OSS===
Line 271: Line 195:
  
 
Então inicie o PulseAudio como usual.
 
Então inicie o PulseAudio como usual.
 
===Pulseaudio from within a chroot (ex. 32-bit chroot in 64-bit install)===
 
Since a chroot sets up an alternative root for the running/jailing of applications, pulseaudio must be installed within the chroot itself ({{Codeline|pacman -S pulseaudio}} within the chroot environment).
 
 
Pulseaudio, if not set up to connect to any specific server (this can be done in {{Filename|/etc/pulse/client.conf}}, through the PULSE_SERVER environment variable, or through publishing to the local X11 properties using module-x11-publish), will attempt to connect to the local pulse server, failing which it will spawn a new pulse server. Each pulse server has a unique ID based on the machine-id value in {{Filename|/var/lib/dbus}}. To allow for chrooted apps to access the pulse server, the following directories must be mounted within the chroot:-
 
/var/run
 
/var/lib/dbus
 
/tmp
 
~/.pulse
 
 
{{Filename|/dev/shm}} should also be mounted for efficiency and good performance. Note that mounting /home would normally also allow sharing of the {{Filename|~/.pulse}} folder.
 
 
For specific direction on accomplishing the appropriate mounts, please refer to the wiki on installing a bundled 32-bit system, especially the [http://wiki.archlinux.org/index.php?title=Arch64_Install_bundled_32bit_system#Additional_mount_option_to_allow_32-bit_apps_to_access_the_64-bit_Pulseaudio_server additional section] specific to Pulseaudio.
 
  
 
==Soluções de problemas==
 
==Soluções de problemas==

Revision as of 01:12, 4 December 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

PulseAudio é um servidor de áudio para sistemas POSIX e Win32. Seu recurso mais básico é mixar o som de diferentes programas juntos, permitindo a reprodução de diversos sons de uma vez.

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

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. Veja a sessão Desktop Environments para mais detalhes.

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 Template:Filename 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 Template:Codeline executando:

# rmmod snd_pcm_oss

Depois, coloque o módulo na lista negra (blacklist) adicionando Template:Codeline na parte MODULES do arquivo Template:Filename.

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 Template:Filename.

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: Template:File

GStreamer

Para fazer o GStreamer usar o PulseAudio, execute Template:Filename (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 Template:Codeline para pulsesink e Template:Codeline 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 Template:Filename e precisa ser setada manualmente usando o Template:Filename ou Template:Filename:

 $ 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: Template:File

libao

Edite o arquivo de configuração do libao: Template:File

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 geral

Inicie o PulseAudio depois do X usando:

$ start-pulseaudio-x11

Isso vai iniciar o PulseAudio e os plugins do 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.

Se você usa o GNOME ou KDE, o PulseAudio será iniciado automaticamente.

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 Template:Filename:

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. Template:Filename 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 KDE3 não é possível usar o PulseAudio por enquanto.

KDE 4 e Qt4

Se você instalou o PulseAudio, tudo que você precisa fazer é ir em "Configurações do sistema -> Multimídia -> Phonon -> Preferência do dispositivo" e mudar tudo para PulseAudio.

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 como você e não usar o usuário mpd é preferível.

MPlayer

MPlayer nativamente suporta o PulseAudio usando a opção "-ao=pulse". Também é possível configurar o PulseAudio para ser a saída de áudio padrão, em Template:Filename para cada usuário, ou Template:Filename para o sistema inteiro: Template:File

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 Template:Filename: 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 Template:Codeline para achar o nome da fonte no PulseAudio (ex. Template:Codeline). Então adicione algo como o seguinte no Template:Filename or Template:Filename:

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 Template:Codeline 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)

Para ativar o módulo TCP, adicione isso (ou descomente, se já estiver aí) Template:Filename:

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 Template:Filename com a seguinte linha:

pulseaudio-native: ALL

Publicação Zeroconf (Avahi)

Para o servidor remoto do PulseAudio aparecer no PulseAudio Device Chooser (Template:Filename, você também vai precisar adicionar o Template:Filename 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 Template:Codeline 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 Template:Filename:

 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 Template:Codeline. 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 Template:Filename (inserindo Template:Codeline)

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 Template:Filename 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 Template:Filename. 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 Template:Filename:

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

Depois disso, você precisa adicionar seu usuário no grupo Template:Codeline:

# gpasswd -a <user> pulse-rt

Veja também

Links externos