Differenze tra le versioni di "Alsa e Gambas: Gli eventi Midi in particolare"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
I particolari "Messaggi Midi" standard organizzati opportunamente in ''Eventi MIDI'' di ALSA verranno inviati al sub-sistema "seq" di ALSA ciascuno nelle modalità appresso descritte.
+
#REDIRECT [[Alsa_e_Gambas_-_Dai_Messaggi_Midi_standard_all'Evento_Midi_di_ALSA#Gli_Eventi_Midi_di_ALSA_in_particolare]]
 
 
Come sappiamo, i primi sette dati relativi all'area di memoria che costituisce un ''Evento Midi'' di ALSA, appartengono a ogni tipo di ''Evento Midi'' da inviare.
 
 
 
Di seguito si mostreranno i dati appartenti agli specifici ''Eventi Midi''.
 
 
 
 
 
===Messaggi di <FONT Color= #DF6400>NOTE ON</font>===
 
Il tipo di "Evento Midi" '''NOTE-ON''' definito dalla Costante di ALSA:
 
  SND_SEQ_EVENT_NOTEON = 6
 
trasmette l'istruzione di far suonare una nota. Esso è composto nello standard Midi da tre byte: uno relativo al Canale, uno relativo al numero di nota da far suonare ed il terzo relativo alla "velocità di tocco" (''velocity'') sullo strumento.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Note-ON" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Byte per il numero della nota da suonare (da 0 a 127 per un totale di 128 note disponibili);
 
* 1 Byte per il valore della ''velocity'' (da 0 a 127 per un totale di 128 valori disponibili).
 
 
 
 
 
===Messaggi di <FONT Color= #DF6400>NOTE OFF</font>===
 
Il tipo di "Evento Midi" '''NOTE-OFF''' definito dalla Costante di ALSA:
 
SEQ_EVENT_NOTEOFF = 7
 
trasmette l'istruzione di far smettere di suonare una nota che sta suonando. Esso è composto nello standard Midi da tre byte: uno relativo al Canale, uno relativo al numero di nota da far smettere di suonare ed il terzo relativo alla velocità di tocco (velocity) sullo strumento (che sarà più opportunamente posto a <SPAN Style="text-decoration:underline">zero</span>). Essendo contrario all'evento Note ON, la sua struttura e le relative routine riechieste saranno costruite in modo analogo a quelle del NoteON.
 
 
 
 
 
===Messaggi di <FONT Color= #DF6400>Program Change</font>===
 
Il tipo di "Evento Midi" '''PROGRAM-CHANGE''' definito dalla Costante di ALSA:
 
SND_SEQ_EVENT_PGMCHANGE = 11
 
trasmette l'istruzione impostare lo strumento musicale associato ad uno specifico canale. L'Evento ''Program Change'' contiene oltre al byte di ''Stato'' un solo byte di ''dati'', che può assumere un valore da 0 a 127 consentendo così di disporre di 128 suoni (strumenti) all'interno di banco di suoni.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Program-Change" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Integer nel campo "value" della Struttura di ALSA ''[https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__seq__event__t.html snd_seq_event_t]'' per il numero dello strumento musicale da impostare (da 0 a 127 per un totale di 128 strumenti disponibili).
 
 
 
 
 
===Messaggi di <FONT Color= #DF6400>Control Change</font>===
 
Il tipo di "Evento Midi" '''CONTROL CHANGE''' definito dalla Costante di ALSA:
 
SND_SEQ_EVENT_PGMCHANGE = 10
 
consente di impostare particolari modalità esecutive e diffusive musicali. Esso altre al valore del Canale, presenta un valore (da 0 a 127) per specificare il tipo di ''controller'' ed un terzo valore (da 0 a 127) per impostare la ''quantità'' dell'effetto determinato dal controller da applicare.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Control-Change" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Integer nel campo "param" della Struttura di ALSA ''[https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__seq__event__t.html snd_seq_event_t]'' per impostare il numero del ''controller'' da usare (da 0 a 127);
 
* 1 Integer nel campo "value" della predetta Struttura di ALSA per l'impostazione del valore da attribuire al tipo di controller (da 0 a 127).
 
 
 
 
 
===Messaggi di <FONT Color=#DF6400>Channel Aftertouch</font>===
 
Il tipo di "Evento Midi" '''CHANNEL AFTERTOUCH''' definito dalla Costante di ALSA:
 
SND_SEQ_EVENT_CHANPRESS = 12
 
(anche chiamato ''Channel Pressure'', ''Mono Aftertouch'' o ''Mono Pressure'') consente solo il controllo globale di tutte le note suonate (influisce sull'intero canale MIDI) e determina l'applicazione di una pressione aggiuntiva complessiva (non individuale) sulle note (che stanno suonando) appartenenti ad un medesimo canale, sulle quali si è già esercitata una pressione iniziale (velocity). Esso oltre al valore del Canale, presenta un solo valore per specificare la ''quantità'' di ''pressione aggiuntiva'' da applicare.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Channel-Aftertouch" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Integer nel campo "value" della Struttura di ALSA ''[https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__seq__event__t.html snd_seq_event_t]'' per impostare il valore di pressione aggiuntiva.
 
 
 
 
 
===Messaggi di <FONT Color= #DF6400>Pitch Bend (Pitch-Wheel)</font>===
 
Il tipo di "Evento Midi" '''PITCH WHEEL''' definito dalla Costante di ALSA:
 
SND_SEQ_EVENT_PITCHBEND As Byte = 13
 
Il messaggio ''Pitch Bend'', anche chiamato ''Pitch Wheel'', simula l'effetto ''glissato''. Esso oltre al valore del Canale, presenta nello standard Midi un valore LSB per determinare le micro-variazioni di intonazione (variazione che chiameremo "raffinata"), ed un terzo valore, quello MSB per determinare le variazioni all'intonazione della nota (variazione che chiameremo "grossolana") davvero percettibili all'udito. I valori previsti per il Pitch Bend (e che saranno quindi quelli che saranno utilizzati con il 3° valore MSB) vanno da -8192 a + 8192; laddove:
 
* -8192 = abbassamento massimo dell'intonazione;
 
* 0 = intonazione normale, naturale della nota;
 
* +8192 = innalzamento massimo della nota;
 
per un totale di 16394 valori intermedi (da 0 a 16393).
 
<BR>Solitamente il 3° valore, quello MSB, percorre tutti i 16384 valori intermedi del Pitch Bend.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Pitch-Wheel" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Integer nel campo "param" della Struttura di ALSA ''[https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__seq__event__t.html snd_seq_event_t]'' per impostare il 2° valore: LSB;
 
* 1 Integer nel campo "value" della Struttura di ALSA per impostare il 3° valore: MSB.
 
 
 
 
===<FONT Color= #DF6400>Aftertouch Polyphonic</font>===
 
Il tipo di "Evento Midi" '''AFTERTOUCH POLYPHONIC''' definito dalla Costante di ALSA:
 
SND_SEQ_EVENT_KEYPRESS = 8
 
(anche chiamato ''Polyphonic Key Pressure'' o ''Key Aftertouch''), determina l'applicazione di una ulteriore pressione su una specifica nota (che sta suonando), sulla quale si è già esercitata una pressione iniziale (velocity). Esso oltre al valore del Canale, presenta il valore (da 0 a 127) che si riferisce alla nota sulla quale si intende applicare l'ulteriore pressione (da 0 a 127) ed un 3° valore (da 0 a 127) per specificare la quantità di pressione aggiuntiva da applicare a quella nota.
 
 
 
In ALSA, in particolare, i valori ''specifici'' dell'Evento Midi "Aftertouch-Polyphonic" da trasmettere in modo imprescindibile sono:
 
* 1 Byte per definire il Canale (da 0 a 15 per un totale di 16 canali disponibili);
 
* 1 Byte nel campo "velocity" della Struttura di ALSA ''[https://www.alsa-project.org/alsa-doc/alsa-lib/structsnd__seq__event__t.html snd_seq_event_t]'' per impostare il valore di pressione aggiuntiva (da 0 a 127).
 

Versione attuale delle 05:32, 19 gen 2022