# Advanced Linux Sound Architecture (Português)

## Sobre este documento

Esta é uma tradução feita por Hugo Dória do how to Alsa Setup. Quaisquer dúvidas quanto à tradução do documento, por favor, entrar em contato com o tradutor, e não com o autor do documento original.

Este documento mostra como configurar o alsa tanto com a série 2.4 do kernel, quanto com a 2.6. Veja, também, como permitir que os programas toquem som ao mesmo tempo

## Instalação

### Kernel drivers

#### Kernel 2.4

Se você usa um kernel da série 2.4, você terá que instalar os drivers do alsa. Se o seu kernel foi instalado com o pacote pré-compilado kernel24 ou kernel24-scsi, você pode usar o pacote alsa-driver:

    # pacman -S alsa-driver
    # depmod -a

Se você compilou o seu próprio kernel, você deve compilar um novo pacote do 'alsa-driver' com o ABS e instalá-lo.

#### Kernel 2.6

O Alsa foi incluído no kernel 2.6 e em todos os pacotes kernel26* do Arch. Se você compilar o seu próprio kernel, não esqueça de ativar o driver do alsa correto.

NOTA SOBRE A AUTO DETECÇÃO DO UDEV: Instalações antigas do Arch ou instalações feitas a partir do cd da versão 0.7.1 (recentes instalações via FTP não foram afetadas) terão uma configuração padrão antiga no arquivo /etc/modprobe.d/modprobe.conf que IRÁ QUEBRAR A AUTO DETECÇÃO DO SOM. Se seus modulos de som não forem carregados automaticamente após a instalação ou atualização do udev, por favor, REMOVA AS SEGUINTES LINHAS DO ARQUIVO /etc/modprobe.d/modprobe.conf:

    # OSS Compatibility
    install snd-pcm modprobe -i snd-pcm ; modprobe snd-pcm-oss ; true
    install snd-seq modprobe -i snd-seq ; modprobe snd-seq-oss ; true

Depois de REMOVER estas linhas, o som deverá ser auto detectado corretamente durante a (re)inicialização do sistema. Outra coisa. NUNCA use o alsaconf se você possui uma placa de som PCI ou ISAPNP, pois a configuração que o alsaconf adiciona ao arquivo modprobe.conf poderá ter um efeito parecido sobre a auto detecção do udev.

### Userspace utilities

- Necessário para os programas alsa nativos e administração:

    # pacman -S alsa-lib alsa-utils

- Recomendado caso você deseja usar aplicações com suporte a OSS em combinação com o dmix:

    # pacman -S alsa-oss

Quase todos os programas terão o pacote alsa-lib como dependência.

## Configuração

### Certificando-se que os modulos do som estão carregados

Você pode supor que o udev (ou o hotplug para a série 2.4 do kernel) irá auto detectar o som corretamente, incluíndo os modulos para a compatibilidade com o OSS. Você pode verificar isto com o comando:

    $ lsmod|grep ^snd
    snd_usb_audio          69696  0
    snd_usb_lib            13504  1 snd_usb_audio
    snd_rawmidi            20064  1 snd_usb_lib
    snd_hwdep               7044  1 snd_usb_audio
    snd_seq_oss            29412  0
    snd_seq_midi_event      6080  1 snd_seq_oss
    snd_seq                46220  4 snd_seq_oss,snd_seq_midi_event
    snd_seq_device          6796  3 snd_rawmidi,snd_seq_oss,snd_seq
    snd_pcm_oss            45216  0
    snd_mixer_oss          15232  1 snd_pcm_oss
    snd_intel8x0           27932  0
    snd_ac97_codec         87648  1 snd_intel8x0
    snd_ac97_bus            1792  1 snd_ac97_codec
    snd_pcm                76296  4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec
    snd_timer              19780  2 snd_seq,snd_pcm
    snd                    43776  12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
    snd_page_alloc          7944  2 snd_intel8x0,snd_pcm

Se a saída do comando acima for parecida, seus drivers de som foram auto detectados com sucesso. Você pode, também, checar o diretório /dev/snd para os arquivos de dispositivos corretos (somente kernel 2.6 e udev).

    $ ls -l /dev/snd/
    total 0
    crw-rw----  1 root audio 116,  0 Apr  8 14:17 controlC0
    crw-rw----  1 root audio 116, 32 Apr  8 14:17 controlC1
    crw-rw----  1 root audio 116, 24 Apr  8 14:17 pcmC0D0c
    crw-rw----  1 root audio 116, 16 Apr  8 14:17 pcmC0D0p
    crw-rw----  1 root audio 116, 25 Apr  8 14:17 pcmC0D1c
    crw-rw----  1 root audio 116, 56 Apr  8 14:17 pcmC1D0c
    crw-rw----  1 root audio 116, 48 Apr  8 14:17 pcmC1D0p
    crw-rw----  1 root audio 116,  1 Apr  8 14:17 seq
    crw-rw----  1 root audio 116, 33 Apr  8 14:17 timer

Se você tiver, pelo menos, os dispositivos controlC0 e pcmC0D0p ou parecidos, então seus modulos de som foram detectados e carregados corretamente.

Se este não for o caso, você terá que carregar os modulos manualmente.

- Procure o modulo da sua placa de som: http://www.alsa-project.org/alsa-doc/ O modulo terá o préfixo 'snd-' (por exemplo: 'snd-via82xx').

- Carregue o modulo:

     # modprobe snd-NOME-DO-MODULO
     # modprobe snd-pcm-oss

- Verifique os arquivos de dispositivos no diretório /dev/snd (veja acima) e/ou rode o alsamixer ou o amixer e veja se eles mostram uma saída correta.

- Adicione snd-pcm-oss e snd-NOME-DO-MODULO para a lista de MODULOS em /etc/rc.conf para garantir que eles serão carregados da próxima vez.

### Habilitando canais e testando a placa de som

- Habilitando o som (tirando do mudo):

     # amixer set Master 75 unmute
     # amixer set PCM 75 unmute

Você também pode fazer isto graficamente utilizando o 'alsamixer'.

OBS: Quando usar o alsamixer, tire o canal do mudo (apertando M) e aumente o volume (com os direcionais do teclado).

- Tente tocar um arquivo no formato wav:

     # aplay meuarquivo.wav

- Allow multiple programs to play sound at once

### Configurando as permissões

Para poder usar a placa de som como um usuário comum, siga os seguintes passos:

- Adicione o seu usuário ao grupo 'audio':

    # gpasswd -a NOME-DO-USUARIO audio

- Dê logoff e logue-se novamente para ter certeza que o grupo audio foi carregado.

### Restaurando as configurações do mixer durante a inicialização

- Rode 'alsactl' uma vez para que o arquivo '/etc/asound.state' seja criado

    alsactl store

- Edite o arquivo '/etc/rc.conf' e adicione 'alsa' na lista de DAEMONS a serem rodados durante o boot. Isto vai fazer com que as configurações do mixer sejam salvas sempre que o computador for desligado e restauradas a cada boot.

### Obtendo a saída SPDIF

- No Controle de Volume do Gnome, na aba Options, mude de IEC958 para PCM. Esta opção pode ser ativada nas preferências.

- Caso você não tenha o Controle de Volume do Gnome,
  - Edite o arquivo /etc/asound.state. É neste arquivo que as configurações do mixer são salvas.
  - Encontre uma linha que diz: 'IEC958 Playback Switch'. Próxima a ela, você encontrará uma linha dizendo value:false. Mude para value:true
  - Agora encontre esta linha: 'IEC958 Playback AC97-SPSA' e mude o seu valor para 0.
  - Reinicie o alsa.

Método alternativo para ativar a saída SPDIF automaticamente durante o login (testado na SoundBlaster Audigy)

- Adicione as seguintes linhas ao arquivo /etc/rc.local:

     # Use COAX-digital output
     amixer set 'IEC958 Optical' 100 unmute
     amixer set 'Audigy Analog/Digital Output Jack' on

Você pode ver o nome da daída digital da sua placa som:

     amixer scontrols

## Continua sem som?

Mesmo que os drivers estejam instalados corretamente e que o volume esteja alto (sem nada mudo), você pode não escutar nada! Adicionar a linha abaixo ao arquivo '/etc/modprobe.d/modprobe.conf' pode consertar o problema (com o driver 'via82xx', pelo menos)

    options snd-NAME-OF-MODULE ac97_quirk=0

Verifique também, através do alsamixer, se as barras de volume não estão marcadas com "MM", pois isso significa que aquele dispositivo está mudo. Para mudar isso selecione a barra de volume do dispositivo que deseja (importante se não sai som de seu headphone) e pressione "M".

## Configurando o KDE

- Inicialize o KDE:

    # startx

- Configure o volume como deseja para este usuário (cada usuário tem suas próprias configurações):

    # alsamixer

- KDE 3.3 Vá em K Menu > Multimedia > KMix
  - Selecione Settings > Configure KMix...
  - Desmarque a opção "Restore volumes on logon"
  - Pressione OK. Pronto. Agora seus volumes serão os mesmo na linha de comando e dentro do KDE.

Category:

- Português