versione 1.04, giugno 2026
|
|
Michele Liberi mail: mliberi@gmail.com cell: +393485211456 telegram: @MicheleLiberi |
Richiamato da plisten o altro port listener, alsad (ALSA daemon) riceve dal client i comandi da eseguire. La porta di default è la 5999.
alsad è stato espressamente concepito per permettere ad un X client di generare dei suoni usando la scheda audio. Il server X infatti gestisce lo schermo, la tastiera, il mouse, ma non è in grado di generare suoni se non tramite il cicalino della tastiera, dispositivo che in molti computer moderni non è più presente. In questi casi il cicalino viene emulato via software con risultati pessimi.
Poiché utilizza le librerie ALSA per pilotare la scheda audio, alsad non è disponibile per tutti i sistemi operativi.
La creazione di questo componente come servizio TCP è stata una scelta praticamente obbligata. Infatti il protocollo X prevede che il client (il programma che gestisce la logica applicativa) si connetta al server (il programma che gestisce i dispositivi di input/output) via TCP sulla porta 6000. Un client che voglia generare anche dei suoni non deve far altro che connettersi allo stesso server sulla porta 5999, dove c'è in ascolto alsad, ed inviare dei comandi. Questo avviene usando la stessa variabile d'ambiente DISPLAY utilizzata per connettersi al server X.
L'accesso al servizio è disponibile tramite un insieme di funzioni di libreria (C API). Nulla vieta tuttavia di richiamare alsad direttamente da linea di comandi e impartire comandi direttamente da tastiera, o da un file. In questo modo una shell script (o qualunque altro programma) può generare dei suoni.
alsad è in grado di sintetizzare suoni con diversi timbri inviando alla scheda audio una delle seguenti forme d'onda, selezionabili con il comando W:
L'ampiezza massima delle onde sintetizzate, che corrisponde al volume del suono generato, può essere regolata con il comando V.
Tutti i suoni generati hanno una durata che può essere di volta in volta specificata esplicitamente. In caso contrario verrà usata una durata predefinita che si può impostare con il comando D.
Con il comando S è possibile generare un suono ad una data frequenza.
Con il comando N è possibile generare una nota, data un'ottava (da 1 a 7), la nota (da 1 a 12).
Con il comando M è possibile generare una melodia, cioè una sequenza concatenata di note. La melodia viene descritta da una stringa, che viene interpretata con le seguenti regole:
Esempio: MmRmRm-i+rd-ll
L'ultima melodia suonata può essere ripetuta con il comando R.
Con il comando C è possibile generare un suono con frequenza che varia linearmente da un minimo ad un massimo.
Per ulteriori informazioni sulla sintassi di attivazione e sulle opzioni disponibili lanciare il comando con l'opzione -h.
(c) M. Liberi, last updated: 2026-06-13