3.5.8 Proprietà di contesto per gli effetti MIDI

Le seguenti proprietà di contesto possono essere usate per applicare vari effetti MIDI alle note suonate sul canale MIDI associato col rigo, strumento MIDI o voce correnti (a seconda del valore della proprietà di contesto Score.midiChannelMapping e del contesto in cui si trova Staff_performer; vedi Mappatura dei canali MIDI).

La modifica di queste proprietà di contesto avrà effetto su tutte le note suonate sul canale dopo il cambio, tuttavia alcuni effetti potrebbero essere applicati anche a note che stanno già suonando (a seconda di come è stato implementato il dispositivo MIDI).

Sono supportate le seguenti proprietà di contesto:

Staff.midiPanPosition

La posizione del panning regola il modo in cui il suono in un canale MIDI è distribuito tra gli altoparlanti stereo di sinistra e di destra. Questa proprietà di contesto accetta un numero compreso tra -1.0 (#LEFT) e 1.0 (#RIGHT); il valore -1.0 sposterà tutto il suono sull’altoparlante sinistro (rendendo muto quello destro), il valore 0.0 (#CENTER) distribuirà il suono in modo uniforme tra gli altoparlanti sinistro e destro, e il valore 1.0 sposterà tutto il suono sull’altoparlante destro. I valori intermedi tra -1.0 e 1.0 permettono di ottenere distribuzioni miste tra gli altoparlanti sinistro e destro.

Staff.midiBalance

Il bilanciamento stereo di un canale MIDI. In modo simile al panning, questa proprietà di contesto accetta un numero compreso tra -1.0 (#LEFT) e 1.0 (#RIGHT). Varia il volume relativo inviato ai due altoparlanti stereo senza alterare la distribuzione dei segnali stereo.

Staff.midiExpression

Livello dell’espressione (come frazione del livello massimo disponibile) da applicare a un canale MIDI. Un dispositivo MIDI combina insieme il livello di espressione del canale MIDI con l’attuale livello di dinamica di una voce (stabilito dai comandi \p o \ff) per ottenere il volume totale di ogni nota nella voce. Il controllo dell’espressione può essere usato, per esempio, per implementare effetti di crescendo o decrescendo su singole note sostenute (non supportato automaticamente da LilyPond).

La gamma del livello di espressione va da 0.0 (nessuna espressione, ovvero volume zero) a 1.0 (piena espressione).

Staff.midiReverbLevel

Livello di riverbero (come frazione del livello massimo disponibile) da applicare a un canale MIDI. Questa proprietà accetta numeri compresi tra 0.0 (nessun riverbero) e 1.0 (pieno effetto).

Staff.midiChorusLevel

Livello del chorus (come frazione del livello massimo disponibile) da applicare a un canale MIDI. Questa proprietà accetta numeri compresi tra 0.0 (nessun effetto chorus) e 1.0 (pieno effetto).

Problemi noti e avvertimenti

Dato che i file MIDI non contengono veri dati audio, le modifiche in queste proprietà di contesto si traducono soltanto in richieste di modifica dei controlli del canale MIDI nei file MIDI generati. Se un particolare dispositivo MIDI (come un lettore MIDI) sia in grado di gestire queste richieste dipende interamente dall’implementazione del dispositivo: un dispositivo potrebbe scegliere di ignorare alcune o tutte le richieste. Dipende dall’implementazione del dispositivo MIDI anche il modo in cui un dispositivo MIDI interpreta valori diversi di questi controlli (generalmente lo standard MIDI corregge il comportamento solo alle estremità della gamma di valori disponibile per ogni controllo) e se un cambiamento nel valore di un controllo avrà effetto anche su note che stanno già suonando su quel canale MIDI.

Quando genera file MIDI, LilyPond trasformerà semplicemente le frazioni comprese in ciascuna gamma in valori di una gamma di numeri interi corrispondenti (0-127 per i 7-bit, 0-32767 per i 14 bit per i controlli del canale MIDI che supportano una migliore risoluzione), arrotondando i valori delle frazioni sul numero intero più vicino. I valori interi convertiti sono salvati così come sono nel file MIDI generato. Consultare la documentazione del proprio dispositivo MIDI per sapere come il dispositivo interpreta questi valori.


Guida alla Notazione di LilyPond v2.25.21 (ramo di sviluppo).