Capítulo 17. Áudio

Índice
17.1. Um pouco de conhecimento do hardware
17.2. Configuração da BIOS
17.3. Configuração dos dispositivos
17.4. Conselhos sobre a configuração do kernel
17.5. Comandos avançados

O autor deste capítulo (Áudio) é Manolo De Santis

Este capítulo propõe-se a ser um guia breve para o uso de áudio no NetBSD, visto que jamais alguém gostaria de um computador que fosse mudo...

17.1. Um pouco de conhecimento do hardware

Antes de mais nada é necessário saber com que tipo de chipset de áudio estamos a tratar. De fato, não basta saber quem produziu a placa de áudio para conseguir fazê-la funcionar com o NetBSD porque, às vezes, os chipsets de uma certa placa são produzidos por terceiros. Mas não há o que temer! Na maioria dos casos o kernel do NetBSD é capaz de reconhecer o dispositivo. Para checarmos isso basta dar uma olhada no output do dmesg.

Portanto, executar um bom:

# dmesg | more    

para ver qual chipset de áudio foi identificado. Em muitos casos, não se deve nem mesmo intervir no kernel porque o NetBSD identifica e autoconfigura (quase!) toda placa de áudio com muita facilidade.

Às vezes não se consegue fazer funcionar o áudio somente porque o chipset da placa não é suportado pelo NetBSD (e por isso, muita gente bem que pensou em adquirir uma nova placa) ou então porque é necessário perder um pouco de tempo com isso.

17.2. Configuração da BIOS

Pois bem, esta seção será útil apenas aos possuidores de PCs e compatíveis, já que em outras arquiteturas (tipo Amiga) não serve muito, se é que serve. A coisa mais importante para a utilização de uma placa de áudio em um PC com NetBSD é a configuração da BIOS. De fato, é necessário saber qual é o tipo de interface da placa de áudio que se tem.

A escolha é entre PCI e ISA.

Uma placa de tipo ISA é, em geral, mais difícil de configurar, sobretudo porque a BIOS, até certo ponto, quer meter o bedelho nisso.

Nos novos computadores disponíveis no comércio (aqueles produzidos em geral depois do fim de 1997) há uma opção da BIOS que cria grandes problemas para as placas de áudio ISA no NetBSD. Trata-se da 'PNP OS Installed'(encontra-se geralmente em 'PNP/PCI Configuration'). Pois bem, se esta opção está presente, é necessário desabilitá-la. Portanto, definí-la como 'NO'.

17.3. Configuração dos dispositivos

Durante a instalação do NetBSD são criados todos os dispositivos de driver em /dev. Interessam-nos principalmente:

/dev/audio
/dev/sound
/dev/mixer
    

Se eles não estão presentes, podemos criá-los assim:

# cd /dev
# ./MAKEDEV all
    

Dessa forma são recriados todos os dispositivos de driver, incluindo os relacionados ao áudio.

Pois bem, nesse ponto é muito provável que a placa de áudio já esteja pronta para o uso.

Agora podemos testá-la, enviando um arquivo qualquer (mesmo de texto ou binário) diretamente ao /dev/audio ou ao /dev/sound, da seguinte maneira:

# cat NomeDoArquivo > /dev/audio    

ou ainda

# cat NomeDoArquivo > /dev/sound    

Se for possível ouvir alguma coisa, então não há problemas. Tudo funciona corretamente porque a placa é diretamente suportada pelo kernel do nosso sistema.

Em caso contrário, há necessidade de configurar o kernel definindo os dispositivos correspondentes à nossa placa de áudio.

17.4. Conselhos sobre a configuração do kernel

As placas de áudio suportadas pelo NetBSD são muitíssimas. De fato, no kernel GENERIC da versão 1.5 do sistema operacional, já estão habilitadas todas as opções correspondentes.

Alguns PCs não têm placa de som, mas um chipset de áudio integrado à placa-mãe, e tal função não está habilitada no kernel GENERIC. É necessário identificar estas linha no próprio arquivo de configuração do kernel GENERIC:

# Plug-and-Play BIOS and attached devices
 
#pnpbios*       at mainbus?
  
# mainboard audio chips 
#ess*           at pnpbios? index ?     # ESS AudioDrive
#sb*            at pnpbios? index ?     # NeoMagic 256AV in sb mode
#wss*           at pnpbios? index ?     # NeoMagic 256AV in wss mode
#ym*            at pnpbios? index ?     # OPL3-SA3    

Nesse ponto é necessário retirar os comentários para habilitar os chipsets de áudio integrados e recompilar o kernel.

Voltando às placas de som, eventualmente devem ser configurados manualmente também os IRQ e os DMA.

Para um teste, podem-se deixar todas as opções habilitadas porque muitos chipsets de áudio somente podem funcionar emulando um outro dispositivo.

Geralmente muitos chipsets desfrutam de compatibilidade com SoundBlaster e OPL, mas na maioria dos casos o áudio funciona aproveitando o WSS.

OPL é um sintetizador MIDI produzido pela Yamaha e existem diferentes variantes dele no comércio (entre os quais OPL2, OPL3SA, OPL3SA2, etc.). Posso dizer que muitíssimas placas de som do mercado possuem este microchip ou um totalmente compatível. Por exemplo, todos os chips produzidos pela Crystal (entre os quais os comuns CS423X) possuem este chipset, e é exatamente este último que lhes permite o funcionamento no NetBSD!

WSS não é propriamente um microchip, antes... é o acrônimo de Windows Sound System. De fato, wss é um driver do kernel do NetBSD que suporta o sistema de áudio do Microsoft Windows. Muitas placas de áudio funcionam com o Windows exatamente porque aderem ao padrão WSS. A mesma coisa afortunadamente vale para o NetBSD.

Pessoalmente tenho um modo de provar diversas placas no NetBSD e posso dizer que muitas delas apenas funcionam se opl* e wss* estão habilitados no kernel.

Nenhum problema com as Sound Blaster Creative originais. Todas funcionam, inclusive a Sound Blaster Live 1024!

Uma vez que tudo funciona corretamente, podem-se desabilitar do kernel as opções relativas aos dispositivos de áudio que não nos interessam.

17.5. Comandos avançados

O NetBSD possui utilitários projetados exclusivamente para o controle e uso dos dispositivos de áudio. Eles são: