Movatterモバイル変換


[0]ホーム

URL:


Ir para o conteúdo
Wikipédia
Busca

Advanced Linux Sound Architecture

Origem: Wikipédia, a enciclopédia livre.
ALSA
Screenshot do AlsaMixer 1.0.14
DesenvolvedoresJaroslav Kysela e ALSA team
Lançamento estável
1.2.8 / 25 de outubro de 2022; há 3 anos[1]
Sistema
operacional
Linux
TipoDriver de dispositivo de áudio
Módulo carregável do núcleo
LicençaGPL eLGPL
Websitewww.alsa-project.org

Advanced Linux Sound Architecture (conhecido pela siglaALSA) é um componente donúcleo visando substituir o originalOpen Sound System (OSS) para fornecerdevice drivers paraplacas de som. No início, alguns dos objetivos do projeto ALSA eram a configuração automática do hardware daplaca de som e a manipulação elegante de múltiplos dispositivos em um sistema. Algunsframeworks, como oJACK, usam o ALSA para permitir obter uma edição e mixagem de áudio profissional de baixa latência.

Liderado porJaroslav Kysela, o projeto começou a partir de um device driver Linux para a placa de somGravis Ultrasound, em1998 e foi desenvolvido separadamente do núcleo Linux até que foi introduzido na série de desenvolvimento 2.5 em2002 (2.5.4-2.5.5)..[2] Na versão 2.6, substituiu oOSS como padrão, devido a uma camada de compatibilidade anterior existente.

Características do ALSA

[editar |editar código]

ALSA foi projetado para utilizar alguns recursos que não foram, no momento da sua concepção, suportados pelo OSS:

  • SínteseMIDI baseado em hardware.
  • Mixagem de hardware em múltiplos canais.
  • OperaçãoFull-duplex.
  • Device drivers para multiprocessadores ethread-safe

Para fornecer funcionalidades mais claras, ALSA possui umaAPI maior e mais complexa do que o OSS, mas que pode dificultar o desenvolvimento de aplicações que utilizam ALSA como sua tecnologia de áudio. No entanto, ALSA também fornece uma camada opcional de emulação do OSS, sendo assim uma API OSS mais simples e portável pode ser usada.

Além dos device drivers de áudio, ALSA também disponibiliza umabiblioteca doEspaço de usuário para desenvolvedores de aplicações que querem utilizar as funcionalidades do driver com um nível de API mais alto do que a interação direta com os drivers do núcleo. Ao contrário da API do núcleo, que tenta refletir diretamente as capacidades do hardware, a biblioteca do espaço de usuário do ALSA apresenta uma abstração que é a mais semelhante possível para todos os diferentes hardwares. Isto é feito em partes pelo uso de plugins de software. Por exemplo, muitas placas de som ou componentes de som internos mais modernos não possuem um controle de "volume principal", então para estes dispositivos a biblioteca oferece um software de controle de volume, ao invés do plugin "softvol", e permitindo que os aplicativos de nível superior não se preocupem com isso.

Conceitos do ALSA

[editar |editar código]

Esta seção fornece uma visão geral dos conceitos básicos relativos ao ALSA.[3][4][5][6]

Normalmente, ALSA suporta até oitoplacas numeradas de 0 a 7. Cada placa é um dispositivo físico ou lógico do núcleo com capacidade de entrada, saída ou controle de som e também pode ser endereçado por seuid que é uma string explicativa comoHeadset ouICH9. Se a placa é omitida, isso significa placa 0 ou placa default, onde a maioria dos sons é tocado e que é determinado pelo sistema operacional. Placas temdevices numerados começando por 0. Um device pode ser do tipo playback, que significa que sai som do computador, ou outro tipo como captura, controle, temporizador ou sequenciador. Se o device é omitido, isso significa device 0. Um device pode tersubdevices numerados começando por 0 que representam por exemplo um par de alto-falantes ou outro ponto final de áudio relevante para o device. Se o subdevice é -1 ou omitido, isso significa qualquer subdevice. Ainterface é uma descrição de um protocolo ALSA para acesso, comohw,plughw,default eplug:dmix. A interfacehw fornece acesso direto ao device do núcleo, mas nenhum software de mixagem ou adaptação de stream, enquanto queplughw oudefault habilitam saída de áudio aonde a interfacehw produziria um erro.

Uma aplicação normalmente descreve a saída de áudio, combinando todas as informações anteriores em umadevice string, em um formato comointerface:placa,device,subdevice ouinterface:CARD=1,DEV=3,SUBDEV=2. A device string é sensível ao tamanho da letra (maiúscula ou minúscula).

Umstream ALSA é um fluxo de dados representando som. O mais comum formato stream éPCM e sua codificação deve casar com o hardware ou o som não será tocado. Parâmetros são:taxa de amostragem que é 44.1 kHz para estéreos, e 48 kHz parahome theater, umtamanho da amostra medido em bits, como 8, 16, 24 ou 32, umacodificação da amostra, um número de canais, 1 para mono, 2 para estéreo ou 6 paraAC-3/IEC958 e o ALSA precisa armazenar também um parâmetro que determina com qual frequência a atenção da CPU é requerida.

Ver também

[editar |editar código]

Referências

  1. «Main Page News - AlsaProject». AlsaProject. Consultado em 26 de dezembro de 2022 
  2. Linux 2.5.5 release notes
  3. Tranter, Jeff (30 de setembro de 2004).«Introduction to Sound Programming with ALSA».Linux Journal. Consultado em 1 de dezembro de 2007 
  4. Phillips, Dave (30 de junho de 2005).«A User's Guide to ALSA».Linux Journal. Consultado em 1 de dezembro de 2007.Cópia arquivada em 9 de maio de 2012 
  5. «ALSA». Consultado em 26 de dezembro de 2022.Cópia arquivada em 4 de outubro de 2012 
  6. «Alsa C library Doxygen documentation». Consultado em 26 de dezembro de 2022 

Ligações externas

[editar |editar código]
Obtida de "https://pt.wikipedia.org/w/index.php?title=Advanced_Linux_Sound_Architecture&oldid=71406334"
Categorias:
Categoria oculta:

[8]ページ先頭

©2009-2026 Movatter.jp