Gentoo Logo

Aviso : Este documento não é válido e não é mais mantido.


Guia de ALSA do Gentoo Linux

Conteúdo:

1.  Introdução

O que é a ALSA?

ALSA, que quer dizer Arquitetura Avançada de Som no Linux (Advanced Linux Sound Architecture), fornece funções de áudio e MIDI (Musical Instrument Digital Interface) ao sistema operacional Linux. A ALSA é o subsistema de som padrão no kernel 2.6, substituindo o OSS (Open Sound System), que era usado nos kernéis 2.4.

As principais funções da ALSA incluem suporte eficiente para todos tipos de interfaces de áudio de placas de som domésticas a equipamento de som profissional, drivers completamente modularizados, segurança de SMP e threads, compatibilidade com OSS e uma biblioteca de espaço de usuário chamada alsa-lib para tornar o desenvolvimento de aplicações fácil.

ALSA no Gentoo

Uma das principais forças do Gentoo está em dar ao usuário controle máximo sobre como um sistema é instalado/configurado. A ALSA no Gentoo segue o mesmo princípio. Existem duas maneiras de ter suporte a ALSA funcionando em seu sistema. Nós iremos vê-las com detalhe no próximo capítulo.

2.  Instalando a ALSA

Opções

Aviso: Os métodos mostrados abaixo são mutualmente exclusivos. Você não pode ter ALSA compilado no kernel e usar media-sound/alsa-driver. Haverá problemas.

As duas opções são:

  1. Usar a ALSA fornecida pelo seu kernel. Este é o método preferido/recomendado.
  2. Usar o pacote do Gentoo media-sound/alsa-driver.

Nós iremos ver os dois antes de finalmente decidir qual.

Se você for usar a ALSA fornecida pelo kernel, os prós e contras são os seguintes:

ALSA no Kernel Prós e contras
+ Bem estável já que os drivers são integrados no kernel.
+ Solução de uma só vez, sem repetir emerges.
- Pode ser uma versão um pouco mais velha que alsa-driver.

E, se você for usar alsa-driver,

alsa-driver Prós e contras
+ Últimos drivers do projeto da ALSA.
- Toda recompilação de kernel necessita de um novo emerge do alsa-driver.
- Precisa de certas opções de configuração do kernel desativadas para funcionar corretamente.

Então...

A diferença principal entre usar alsa-driver e a ALSA que vem com o kernel é que alsa-driver é geralmente mais atual que a versão do kernel. Já que isso não faz nenhuma grande diferença, você é encorajado a usar a ALSA fornecida pelo kernel pela facilidade de uso. Antes de relatar problemas relacionados a som no Bugzilla do Gentoo, por favor, tente reproduzi-los usando alsa-driver e relate o bug independentemente do resultado.

Antes de proceder

Qualquer método de instalação que você escolher, você precisa saber que drivers sua placa de som usa. Na maior parte dos casos, placas de som (onboard e outras) são baseadas em PCI e lspci irá ajudar a descobrir a informação necessária. Por favor faça emerge sys-apps/pciutils para obter lspci, se você já não o tiver instalado. Caso você tenha uma placa de som USB, lsusb de sys-apps/usbutils pode ser útil. Para placas ISA, experimente usar sys-apps/isapnptools. Também, as seguintes páginas podem ajudar usuários com placas baseadas em ISA.

Nota: Para facilidade de uso/explicação, nós presumimos que o usuário tem uma placa de som baseada em PCI para o resto do guia.

Nós agora procedemos para descobrir detalhes sobre a placa de som.

Listagem de código 2.1: Detalhes da placa de som

# lspci -v | grep -i audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)

Nós agora sabemos que a placa de som na máquina é uma Sound Blaster Live! e que o fabricante da placa é a Creative Labs. Vá para a página da Matriz de placa de som da ALSA e selecione Creative Labs do menu de seleção. Você será levado para a página de matriz da Creative Labs, onde você pode ver que a SB Live! usa o módulo emu10k1. Esta é a informação que precisamos por hora. Se você estiver interessado em informações mais detalhadas, você pode clicar no link ao lado de "Details", que irá levar para a página específica do emu10k1.

Usando a ALSA fornecida por seu kernel

Se você é uma pessoa que gosta de manter as coisas simples como eu, este é o jeito certo.

Nota: Desde o lançamento 2005.0, o Gentoo Linux usa 2.6 como kernel padrão. A menos que você esteja usando um profile especificamente de 2.4, gentoo-sources será um kernel 2.6 na maior parte das arquiteturas. Por favor, verifique que seu kernel é da série 2.6. Este método não irá funcionar com um kernel 2.4.

Vamos configurar o kernel para ativar a ALSA.

Importante: Usuários de genkernel devem agora rodar genkernel --menuconfig all e seguir as instruções em Opções de kernel para ALSA.

Listagem de código 2.2: Indo para a fonte

# cd /usr/src/linux
# make menuconfig

Nota: O exemplo acima presume que o link simbólico /usr/src/linux aponta para as fontes de kernel que você quer usar. Por favor certifique-se do mesmo antes de proceder.

Agora nós veremos algumas das opções que iremos ter de ativar no kernel 2.6 para assegurar o suporte correto de ALSA para nossa placa de som.

Por favor note que para facilitar, todos exemplos mostram ALSA construída como módulos. É aconselhável seguir o mesmo, já que permite o uso de alsaconf, que é uma mão na roda para configurar sua placa. Por favor não pule a seção Configuração deste documento. Se você ainda quiser ter as opções construídas no kernel, certifique-se de fazer as mudanças necessárias à sua configuração.

Listagem de código 2.3: Opções de kernel para a ALSA

Device Drivers  --->
   Sound  --->
   
(Isto deve estar ativado)
<M> Sound card support

(Certifique-se de que OSS está desativado)
Open Sound System   --->
   < > Open Sound System (DEPRECATED)

(Vá um passo para trás e entre em ALSA)
Advanced Linux Sound Architecture  --->
   <M> Advanced Linux Sound Architecture
   (Selecione se você quiser seqüenciamento de MIDI e roteamento)
   <M> Sequencer support
   (Suporte a /dev/mixer* e /dev/dsp* de estilo antigo. Recomendado.)
   <M> OSS Mixer API
   <M> OSS PCM (digital audio) API 

(Você agora tem uma escolha de dispositivos para ativar suporte.
Geralmente, você terá um tipo de dispositivo e não mais que isso. Se você tiver
mais que uma placa de som, por favor ative todas aqui.)

(Principalmente para propósitos de teste e desenvolvimento, não é
necessário para usuários normais a menos que você saiba o que está
fazendo.)
Generic devices  --->
   
(Para placas de som ISA)
ISA devices   --->
(SE você tivesse a Gravis, você selecionaria esta opção)
   <M> Gravis UltraSound Extreme

(Volte um nível e entre em dispositivos PCI. A maior parte das placas
de som hoje em dia são dispositivos PCI)
PCI devices   --->
   (Nós agora selecionamos o driver emu10k1 para nossa placa)
   <M> Emu10k1 (SB Live!, Audigy, E-mu APS)
   (Ou para uma placa Intel seria)
   <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
   (Ou se você tiver uma placa VIA)
   <M> VIA 82C686A/B, 8233/8235 AC97 Controller

(Volte um nível e selecione caso você tenha uma placa de som USB)
USB Devices   --->

Agora que sua opções estão configuradas, você pode (re)compilar o kernel e suporte a ALSA para sua placa deve estar funcional uma vez que você reiniciar no novo kernel. Não se esqueça de atualizar sua configuração do GRUB para usar o kernel recém-construido. Você pode continuar com Utilitários da ALSA e ver se tudo está funcionando como deveria.

Usando o pacote ALSA Driver

Então você optou pelo método do alsa-driver. Vamos começar. Existem algumas coisas menores a serem feitas para certificar que só os drivers para sua placa de som são compilados. Embora isto não seja realmente necessário, corta os drivers desnecessários que seriam compilados caso contrário.

Se você não tem idéia de que drivers sua placa de som precisa, por favor olhe a seção lspci deste guia. Uma vez que você tiver seu nome de driver (emu10k1 em nosso exemplo), edite o /etc/make.conf e adicione uma variável, ALSA_CARDS.

Listagem de código 2.4: Adicionando ALSA_CARDS ao make.conf

(Para uma placa de som)
ALSA_CARDS="emu10k1"
(Para mais de uma, nomes separados por espaços)
ALSA_CARDS="emu10k1 via82xx"

Se você compilou seu kernel e quer usar o alsa-driver, por favor certifique-se do seguinte antes de proceder, caso contrário o alsa-driver provavelmente irá falhar. A lista de código a seguir é um meio de fazer as verificações.

Nota: Usuários de genkernel podem proceder com Instalando alsa-driver já que sua configuração está em sincronia com a mostrada abaixo por padrão.

  1. CONFIG_SOUND está configurado. (Suporte básico a som ativado)
  2. CONFIG_SOUND_PRIME não está configurado. (Suporte interno a OSS desativado)
  3. CONFIG_SND não está configurado. (Suporte a ALSA interno desativado)
  4. /usr/src/linux aponta para o kernel com que a ALSA deve funcionar.

Listagem de código 2.5: verificações de .config

(Presumindo que link simbólico linux aponta para o kernel correto)
# cd /usr/src/linux
# grep SOUND .config
(1. é verdadeiro)
CONFIG_SOUND=y
(2. é verdadeiro)
CONFIG_SOUND_PRIME is not set
# grep SND .config
(e 3. é verdadeiro)
CONFIG_SND is not set

Agora tudo que você precisa fazer é digitar as palavras mágicas... e não, não é abracadabra.

Listagem de código 2.6: Instalando o alsa-driver

# emerge alsa-driver

Importante: Por favor note que você precisará rodar emerge alsa-driver após cada (re)compilação de kernel, já que drivers anteriores são apagados.

3.  Configurando/Testando a ALSA

Utilitários da ALSA

alsa-utils faz uma parte integral da ALSA, já que tem uma batelada de programas que são muito úteis, incluindo os scripts de init da ALSA. Logo, nós recomendamos enfaticamente que você instale alsa-utils.

Listagem de código 3.1: Instale alsa-utils

# emerge alsa-utils

Nota: Se você ativou ALSA em seu kernel e não compilou a ALSA como módulos, por favor proceda para a seção Script de init da ALSA. O resto deve configurar a ALSA. Isto é facilitado pela existência da ferramenta alsaconf fornecida por alsa-utils.

Configuração

Nota: Por favor desligue quaisquer programas que possam acessar a placa de som enquanto estiver rodando alsaconf.

O jeito mais fácil de configurar sua placa de som é rodar alsaconf. Simplesmente digite alsaconf em uma shell como administrador (root).

Listagem de código 3.2: Invocando o alsaconf

# alsaconf

Você agora irá ver uma bela interface de menus que irá automaticamente sondar seus dispositivos e tentar encontrar sua placa de som. Será pedido para escolher sua placa de som de uma lista. Uma vez feito, irá pedir permissão para fazer as mudanças necessárias automaticamente a /etc/modules.d/alsa. Irá então ajustar suas configurações de volume para níveis otimizados, rodar modules-update e iniciar o serviço /etc/init.d/alsasound. Uma vez que o alsaconf terminar, você pode continuar com a configuração do script de init da ALSA.

Script de init da ALSA

Estamos quase prontos. Com qualquer método que você usou para instalar a ALSA, você precisará ter algo para carregar seus módulos ou iniciar a ALSA e carregar suas configurações de volume quando o sistema carregar. O script de init da ALSA lida com tudo isto para você e é chamado alsasound. Adicione ao runlevel boot.

Listagem de código 3.3: Adicionando ALSA ao runlevel boot

# rc-update add alsasound boot
 * alsasound added to runlevel boot
 * rc-update complete.

A seguir, verifique o arquivo /etc/conf.d/alsasound e certifique-se que a variável SAVE_ON_STOP está marcada como yes. Isto salva seus ajustes de som quando você desliga seu sistema.

Grupo audio

Antes de continuarmos com os testes, existe uma última coisa importante que precisa ser configurada. Regra de dedo em um sistema operacional *nix: não rode como administrador (root) a menos que necessário. Isto se aplica aqui também ;) Como? Bem, na maior parte das vezes você deve estar logado como um usuário e quer ouvir música ou acessar sua placa de som. Para que isto aconteça, você precisa estar no grupo "audio". Neste ponto, nós iremos adicionar usuários ao grupo audio, para que não tenham problemas quando quiserem acessar dispositivos de som. Nós usaremos gpasswd aqui e você precisará estar logado como root para que isto funcione.

Listagem de código 3.4: Adicionando usuários ao grupo audio

(Troque <nomedeusuario> com seu usuário)
# gpasswd -a <nomedeusuario> audio 
Adding user <nomedeusuario> to group audio

Verificação de volume!

Nós completamos todos os ajustes e pré-requisitos, então vamos iniciar a ALSA. Se você rodou alsaconf, você pode pular este passo, já que alsaconf já faz isto para você.

Listagem de código 3.5: Iniciar o serviço

(ALSA modular)
# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 * Loading: snd-card-0 ...        [ ok ]
 * Loading: snd-pcm-oss ...       [ ok ]
 * Loading: snd-seq ...           [ ok ]
 * Loading: snd-emu10k1-synth ... [ ok ]
 * Loading: snd-seq-midi ...      [ ok ]
 * Restoring Mixer Levels ...     [ ok ]
(ALSA interno)
# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 * Restoring Mixer Levels ...     [ ok ]

Agora que as coisas necessárias foram feitas, nós precisamos verificar o volume já que em certos casos está mudo. Nós usamos alsamixer para este propósito.

Listagem de código 3.6: Iniciando alsamixer

(Abre um programa de console. Só os ajustes necessários são mostrados)
# alsamixer

Importante: Se você tiver problemas para iniciar o alsamixer e obtiver erros como alsamixer: function snd_ctl_open failed for default: No such file or directory, isto é normalmente um problema com a configuração de dispositivos do udev. Rode killall udevd; udevstart para recarregar entradas de /dev e abra o alsamixer. Isto deve resolver o problema.

Este é como o ALSA Mixer pode parecer-se a primeira vez que você abri-lo. Preste atenção aos canais Master e PCM que têm MM embaixo deles. Isto significa que estão mudos. Se você tentar tocar qualquer coisa com o alsamixer neste estado, você não ouvirá nada.


Figura 3.1: Janela principal do Alsa Mixer, mudo

Fig. 1: AlsaMixer mudo

Agora, vamos demusdar estes canais, e ajustar os níveis de volume conforme necessário.

Aviso: Tanto Master quanto PCM precisam ser desmudados e configurados a um volume audível se você quiser ouvir saída em suas caixas acústicas.

  • Para trocar entre canais, use as setas de esquerda e direita. (<- & ->)
  • Para ligar/desligar o mudo, vá para o canal específico, por exemplo Master, e aperte a tecla m no teclado.
  • Para aumentar e diminuir os níveis de volume, use as teclas de para cima e para baixo respectivamente.

Nota: Seja cuidadoso na hora de ajustar seus valores de Bass e Treble. 50 é normalmente um bom valor para os dois. Valores extremamente altos de Bass podem causar chiados em caixas que não são desenhadas para suportá-los.

Depois de terminar, seu ALSA Mixer deve parecer-se com o abaixo. Note o 00 ao invés do MM e também os níveis de volume para ajustes otimizados.


Figura 3.2: Alsa Mixer pronto para funcionar

Fig. 2: AlsaMixer desmudado

Verificando o som!

Finalmente. Música. Se tudo acima estiver perfeito, você pode agora ouvir boa música. Um jeito rápido de testar é uma ferramenta de linha de comando como media-sound/madplay. Você também pode usar algo mais conhecido como mpg123 ou xmms. Se você for um fã de ogg, você pode usar ogg123 fornecido pelo media-sound/vorbis-tools. Use qualquer reprodutor com que você estiver confortável. Como sempre, faça emerge do que precisar.

Listagem de código 3.7: Obtendo o software

(Instale as aplicações que você quer)
# emerge madplay mpg123 xmms
(Para tocar arquivos .ogg)
# emerge vorbis-tools

E toque sua trilha sonora favorita...

Listagem de código 3.8: Tocando música

# madplay -v /mnt/shyam/Music/Paul\ Oakenfold\ -\ Dread\ Rock.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: Dread Rock
         Artist: Paul Oakenfold
          Album: Matrix Reloaded
           Year: 2003
          Genre: Soundtrack
                 Soundtrack
 00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC

# ogg123 Paul\ Oakenfold\ -\ Dread\ Rock.ogg
Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: Paul Oakenfold - Dread Rock.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Genre: Soundtrack
Transcoded: mp3;160
Title: Dread Rock
Artist: Paul Oakenfold
Date: 2003
Album: Matrix Reloaded
Time: 00:11.31 [04:28.75] of 04:40.06  (200.6 kbps)  Output Buffer  96.9%

ALSA e USE

Você pode agora adicionar a opção de use alsa ao /etc/make.conf para certificar que suas aplicações que tem suporte de ALSA são construídas com ele. Algumas arquiteturas como x86 e amd64 têm a opção ativada por padrão.

Problemas?

Se por algum motivo você não puder ouvir som, a primeira coisa a fazer é verificar seus ajustes de alsamixer. 80% dos problemas estão com canais mudos ou volumes baixos. Também verifique o aplicativo de som de seu gerenciador de janelas e verifique que os volumes estão em níveis audíveis.

/proc é seu amigo. E neste caso, /proc/asound é seu melhor amigo. Nós vamos dar uma pequena olhada em quanta informação é disponibilizada lá.

Listagem de código 3.9: Diversão com /proc/asound

(Primeiro de tudo, se /proc/asound/cards mostrar sua placa, a ALSA
pegou sua placa de som.)
# cat /proc/asound/cards
0 [Live           ]: EMU10K1 - Sound Blaster Live!
                     Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

(Se você rodar o ALSA do kernel como eu ou quiser saber que distância
está do alsa-driver, isto mostra a versão atual da ALSA)
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).

(Detalhes de emulação de OSS da ALSA)
# cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code)
Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

Audio devices:
0: EMU10K1 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: EMU10K1 MPU-401 (UART)

Timers:
7: system timer

Mixers:
0: SigmaTel STAC9721/23

O problema mais comum que usuários encontram é o temido erro "Unknown symbol in module". Um exemplo dele é mostrado abaixo.

Listagem de código 3.10: erro Unknown Symbol in module

# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 *   Loading: snd-card-0 ...                                              [ ok ]
 *   Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)                             
                                                                          [ !! ]
 *   Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)                             
                                                                          [ !! ]
 *   Loading: snd-seq ...                                                 [ ok ]
 *   Loading: snd-emu10k1-synth ...                                       [ ok ]
 *   Loading: snd-seq-midi ...                                            [ ok ]
 * Restoring Mixer Levels ...                                             [ ok ]

E quando você olhar a saída de dmesg como sugerido, é provável que você veja:

Listagem de código 3.11: saída de dmesg

(Só partes relevantes mostradas abaixo)
# dmesg | less
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
snd_pcm_oss: Unknown symbol snd_unregister_oss_device
snd_pcm_oss: Unknown symbol snd_register_oss_device
snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
snd_pcm_oss: Unknown symbol snd_oss_info_register
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register

O problema acima é causado quando você troca de alsa-driver para ALSA dentro de kernel porque quando você desinstala alsa-driver os arquivos de módulo são protegidos por configuração e são deixados no mesmo lugar. Então, quando você troca para módulos dentro do kernel, rodar modprobe fará uma mistura de drivers de alsa-driver e kernel que causam os erros acima.

A solução é simples. Nós precisamos remover o diretório que está causando o problema manualmente após desinstalar alsa-driver. Certifique-se de remover a versão correta de kernel e não a atual!

Listagem de código 3.12: Removendo os módulos de alsa-driver

# rm -rf /lib/modules/$(uname -r)/alsa-driver

Outra razão para mensagens de erro parecidas com as acima pode ser um arquivo em /etc/modules.d fornecendo um parâmetro device_mode quando não é necessário. Confirme se este realmente é o problema e descubra qual arquivo é o culpado.

Listagem de código 3.13: Confirmando e buscando device_mode

(Verifique o dmesg para confirmar)
# dmesg | grep device_mode
snd: Unknown parameter `device_mode'
(Agora, para encontrar a fonte do problema)
# grep device_mode /etc/modules.d/*

Normalmente é um arquivo chamado alsa com a linha options snd device_mode=0666. Remova esta linha e reinicie o serviço alsasound. Isto deve acabar com o problema.

4.  Outras coisas da ALSA

Configurando suporte a MIDI

Se sua placa de som for uma das que vem com sintetizadores de MIDI on-board e você quer ouvir alguns arquivos .mid, você tem que instalar o awesfx que é basicamente um conjunto de utilitários para controlar o driver AWE32. Nós precisamos instalá-lo primeiro. Se você não tiver um sintetizador de hardware, você pode usar um virtual. Por favor veja seção sobre Sintetizadores virtuais para mais informação.

Listagem de código 4.1: Instalando o awesfx

# emerge awesfx

Nota: Você precisará copiar arquivos de SoundFont (SF2) do CD do driver da sua placa de som ou uma instalação de Windows em /usr/share/sounds/sf2/. Por exemplo, um arquivo de fonte de som para a placa Creative SBLive! seria 8MBGMSFX.SF2.

Depois de copiar os arquivos de fonte de som, nós podemos tocar um arquivo midi como mostrado. Você também pode adicionar o comando asfxload ao /etc/conf.d/local.start, para que a fonte de som seja carregada toda vez que o sistema iniciar.

Nota: Os caminhos /mnt mencionados nas listagem(ns) de código abaixo não serão os mesmos em sua máquina. São só um exemplo. Por favor, seja cuidadoso para mudar o caminho de acordo com sua máquina.

Listagem de código 4.2: Carregando fontes de som

(Primeiro, copie a fonte de som)
# cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/ 
(Ou pegue-as de seu CD de SoundBlaster)
# cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/
(Agora nós carregamos a fonte de som específica)
# asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2

Você pode tocar arquivos de midi usando um programa como aplaymidi. Rode aplaymidi -l para obter uma lista de portas disponíveis e escolha uma para tocar o arquivo.

Listagem de código 4.3: Tocando MIDI

(Verifique as portas abertas)
# aplaymidi -l
 Port    Client name                      Port name
 64:0    EMU10K1 MPU-401 (UART)           EMU10K1 MPU-401 (UART)
 65:0    Emu10k1 WaveTable                Emu10k1 Port 0
 65:1    Emu10k1 WaveTable                Emu10k1 Port 1
 65:2    Emu10k1 WaveTable                Emu10k1 Port 2
 65:3    Emu10k1 WaveTable                Emu10k1 Port 3
(Escolha uma porta, e toque um arquivo mid)
#  aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid

Sintetizadores virtuais

Se sua placa de som não tiver um sintetizador de hardware, você pode usar um virtual como timidity++. A instalação é fácil.

Listagem de código 4.4: Instalando o timidity++

# emerge timidity++

Para que o timidity toque sons, você precisa de uma fonte de som. Se você não tiver nenhuma, instale timidity-eawpatches ou timidity-shompatches que fornecerão fontes de som. Você pode ter múltiplas configurações de fonte de som instaladas, e você pode colocar sua própria em /usr/share/timidity/. Para mudar entre as diferentes configurações do timidity, você deve usar a ferramenta timidity-update que vem com o pacote timidity++.

Listagem de código 4.5: Instalando fontes de som

# emerge timidity-eawpatches
# timidity-update -g -s eawpatches

(ou)

# emerge timidity-shompatches
# timidity-update -g -s shompatches

Não se esqueça de adicionar timidity ao runlevel default.

Listagem de código 4.6: Adicionando timidity ao runlevel default

# rc-update add timidity default
# /etc/init.d/timidity start

Você agora pode testar tocar arquivos MIDI.

Ferramentas e firmware

Algumas placas de som podem tirar proveito de certas ferramentas fornecidas pelos pacotes alsa-tools e alsa-firmware. Se você precisa do alsa-tools, certifique-se de definir a variável ALSA_TOOLS no /etc/make.conf com as ferramentas de que você precisa. Por exemplo:

Listagem de código 4.7: Selecionando ferramentas de ALSA no /etc/make.conf

ALSA_TOOLS="as10k1 ac3dec"

Se a variável ALSA_TOOLS não estiver selecionada, todas ferramentas disponíveis serão construídas. Agora instale o(s) pacote(s) alsa-tools (e/ou alsa-firmware):

Listagem de código 4.8: Instalando as ferramentas da ALSA

# emerge alsa-tools

Um grande agradecimento a...

Todos que contribuíram para a versão antiga do Guia de ALSA do Gentoo: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft e Erwin.

Referências



Imprimir

Atualizado 6 de julho de 2006

A versão original desta tradução não é mais mantida

Resumo: Este documento ajuda um usuário a configurar a ALSA no Gentoo Linux.

Shyam Mani
Author

Marcelo Góes
Tradutor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.