ALSA è un acronimo che sta per "Advanced Linux Sound Architecture". ALSA ha sostituito quasi interamente il precedente sistema OSS cioè "Open Sound System" al punto che ora è parte integrante del
kernel di Linux.
Oltre ai moduli del kernel il progetto ALSA fornisce le librerie necessarie per interfacciarsi con i devices sonori, e varie altre applicazioni.
Se si vuole scrivere in Linux un programma che produca direttamente dei suoni o li registri, si può fare i
delle chiamate alle routines delle librerie ALSA.
Purtroppo le routines sono tantissime e complicate da usare, perchè devono prevedere ogni caso possibile con tutto l'hardware supportato e con
tutte le possibili esigenze dei programmi applicativi.
Inoltre a seconda della versione di librerie installate ci possono essere delle differenze sostanziali di comportamento.
Il meccanismo che sta dietro al funzionamento di queste librerie è grosso modo questo:
le chiamate della libreria manipolano delle strutture che contengono le informazioni necessarie per interagire con i devices sonori logici.
a sua volta i moduli ALSA del kernel usano le informazioni contenute in queste strutture per pilotare i device fisici.
Per compilare dei programmi che usino queste librerie occorre inserire tra gli include la riga
#include < asoundlib.h >
e compilare il programma linkandolo con le librerie con un comando del tipo:
cc prova.c -o prova -lasound
Laboratorio Sperimentale di Matematica Computazionale - parte II