Differenze tra le versioni di "Cosa è A.L.S.A."
(70 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
− | Come per ogni argomento, prima ancora di scendere nei dettagli di A.L.S.A, è opportuno ed essenziale comprenderne il funzionamento in termini generali | + | Come per ogni argomento, prima ancora di scendere nei dettagli di A.L.S.A, è opportuno ed essenziale comprenderne il funzionamento in termini generali. |
===DEFINIZIONE=== | ===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 "''driver''". Il sistema ALSA offre una modalità uniforme di connettere flussi di eventi MIDI tra diversi programmi e tra vari dispositivi hardware. | + | '''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 di eventi MIDI tra diversi programmi e tra vari dispositivi hardware. |
− | = | + | =Linux - Device - Hardware= |
− | + | In via generale il nucleo del sistema operativo non si relaziona ''direttamente'' con l'hardware, bensì attraverso un particolare componente strumentale: il dispositivo (''device''). | |
+ | <p>Il sistema ALSA in relazione alle sue specifiche funzioni rappresenta, dunque, proprio un dispositivo di tal genere, che consente, appunto, al sistema operativo ed ai vari programmi di dialogare con la scheda audio.</p> | ||
+ | <p>Gli elementi hardware in linux vengono gestiti tutti come "device", accessibili tramite i "dev" driver speciali presenti appunto nella directory "''/dev''" (in particolare per ALSA: /dev/snd ).</p> | ||
+ | ===Struttura del sistema ALSA=== | ||
− | + | Il sistema ALSA è composto da diversi sub-sistemi ''seq'', ''rawmidi'', ''pcm'', etc, ciascuno dei quali esercita una propria specifica funzione controllando un particolare tipo di flusso di dati per l'audio. | |
+ | Alsa controlla in modo distinto i dati Midi mediante due sub-sistemi: '''Seq''' e '''RawMidi'''. | ||
+ | |||
+ | Il subsistema ''Seq'' controlla in particolare il flusso di dati in qualità di <SPAN Style="text-decoration:underline">''eventi''</span> MIDI strutturati secondo il protocollo di Alsa. | ||
+ | |||
+ | Il sub-sistema ''RawMidi'', invece, gestisce i dati grezzi Midi strettamente conformi al protocollo Midi, come quelli provenienti da un dispositivo Midi esterno (ad esempio una tastiera). | ||
+ | |||
+ | Pertanto, nel redigere il nostro programma Gambas di gestione dei dati MIDI dovremo far riferimento, in base alle nostre necessità o scelte, ai due precedenti subsistemi di ALSA. | ||
+ | |||
+ | |||
+ | |||
+ | =Riferimenti= | ||
+ | * http://www.alsa-project.org | ||
+ | * https://www.alsa-project.org/alsa-doc/alsa-lib/ | ||
+ | * http://www.volkerschatz.com/noise/alsa.html | ||
+ | * https://www.webcitation.org/65QZUbXWD?url=http://alsa.opensrc.org/Main_Page# | ||
+ | * https://tldp.org/HOWTO/Alsa-sound.html | ||
+ | * https://www.linuxjournal.com/article/6735 | ||
+ | * https://www.linuxjournal.com/article/8234 | ||
+ | * https://qastack.it/ubuntu/426983/how-can-i-tell-if-im-using-alsa-or-pulse-audio-by-default-switching-to-i3-wm | ||
+ | * https://www.kernel.org/doc/html/v4.15/sound/kernel-api/writing-an-alsa-driver.html |
Versione attuale delle 00:44, 9 set 2020
Come per ogni argomento, prima ancora di scendere nei dettagli di A.L.S.A, è opportuno ed essenziale comprenderne il funzionamento in termini generali.
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 di eventi MIDI tra diversi programmi e tra vari dispositivi hardware.
Linux - Device - Hardware
In via generale il nucleo del sistema operativo non si relaziona direttamente con l'hardware, bensì attraverso un particolare componente strumentale: il dispositivo (device).
Il sistema ALSA in relazione alle sue specifiche funzioni rappresenta, dunque, proprio un dispositivo di tal genere, che consente, appunto, al sistema operativo ed ai vari programmi di dialogare con la scheda audio.
Gli elementi hardware in linux vengono gestiti tutti come "device", accessibili tramite i "dev" driver speciali presenti appunto nella directory "/dev" (in particolare per ALSA: /dev/snd ).
Struttura del sistema ALSA
Il sistema ALSA è composto da diversi sub-sistemi seq, rawmidi, pcm, etc, ciascuno dei quali esercita una propria specifica funzione controllando un particolare tipo di flusso di dati per l'audio. Alsa controlla in modo distinto i dati Midi mediante due sub-sistemi: Seq e RawMidi.
Il subsistema Seq controlla in particolare il flusso di dati in qualità di eventi MIDI strutturati secondo il protocollo di Alsa.
Il sub-sistema RawMidi, invece, gestisce i dati grezzi Midi strettamente conformi al protocollo Midi, come quelli provenienti da un dispositivo Midi esterno (ad esempio una tastiera).
Pertanto, nel redigere il nostro programma Gambas di gestione dei dati MIDI dovremo far riferimento, in base alle nostre necessità o scelte, ai due precedenti subsistemi di ALSA.
Riferimenti
- http://www.alsa-project.org
- https://www.alsa-project.org/alsa-doc/alsa-lib/
- http://www.volkerschatz.com/noise/alsa.html
- https://www.webcitation.org/65QZUbXWD?url=http://alsa.opensrc.org/Main_Page#
- https://tldp.org/HOWTO/Alsa-sound.html
- https://www.linuxjournal.com/article/6735
- https://www.linuxjournal.com/article/8234
- https://qastack.it/ubuntu/426983/how-can-i-tell-if-im-using-alsa-or-pulse-audio-by-default-switching-to-i3-wm
- https://www.kernel.org/doc/html/v4.15/sound/kernel-api/writing-an-alsa-driver.html