Audio ed Alsa: introduzione

Da Gambas-it.org - Wikipedia.

DEFINIZIONE

ALSA (acronimo di Advanced Linux Sound Architecture) è un componente del kernel Linux che permette, al posto dell’originario OSS (Open Sound System), di gestire le schede audio mediante dispositivi (device) "driver". Il sistema ALSA è esso stesso un Dispositivo che offre - per quel che qui ci interessa - una modalità uniforme di connettere flussi dati audio tra diversi programmi e tra vari dispositivi hardware.


Struttura del sistema ALSA

Il sistema ALSA è composto da diversi sub-sistemi, ciascuno dei quali esercita una propria specifica funzione controllando un particolare tipo di flusso di dati per il suono. Il sub-sistema che controlla il flusso dei dati di tipo audio è denominato: PCM. Pertanto, nel redigere un programma Gambas di gestione dei dati audio, dovremo sempre considerare questo particolare sub-sistema "PCM" , facente parte del più ampio e complesso dispositivo ALSA.


Apertura del sub-sistema PCM

Per poter interagire con il sub-sistema PCM di ALSA, sia nel caso di riproduzione sonora che di registrazione, bisognerà:

  • aprire il sub-sistema PCM mediante un handle (una "maniglia" d'apertura), che verrà instaurato ed impostato con una specifica funzione delle API di ALSA;
  • specificare la direzione del flusso PCM, che può essere la riproduzione oppure la registrazione;
  • specificare, infine, la dimensione del buffer, la frequenza di campionamento, il formato di dati PCM.


Funzionamento basilare di un'applicazione audio

Sostanzialmente il funzionamento di un'applicazione audio può essere così sintetizzato:

  • apertura del dispositivo PCM;
  • impostazione dei parametri del dispositivo audio;
  • riproduzione di dati audio, oppure registrazione di dati audio;
  • chiusura del dispositivo PCM.