[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Il blocco MIDI ] | [ Su : Creazione dell'output MIDI ] | [ Dinamiche nel MIDI > ] |
3.5.4 Gestione delle dinamiche nel MIDI
È possile regolare il volume MIDI complessivo, il volume relativo dei segni di dinamica e il volume relativo dei diversi strumenti.
Le dinamiche vengono trasferite automaticamente sui livelli di volume nella gamma di volume MIDI disponibile, mentre crescendi e decrescendi variano il volume gradualmente tra i loro due estremi. È possibile regolare il volume relativo delle dinamiche e i livelli del volume complessivo dei diversi strumenti.
Dinamiche nel MIDI | ||
Impostazione del volume MIDI | ||
Impostazione delle proprietà del blocco MIDI |
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Gestione delle dinamiche nel MIDI ] | [ Su : Gestione delle dinamiche nel MIDI ] | [ Impostazione del volume MIDI > ] |
Dinamiche nel MIDI
Solo i segni di dinamica compresi tra ppppp
e fffff
, inclusi
mp
, mf
e sf
hanno dei valori assegnati. Questo valore
viene poi applicato al valore della gamma del volume MIDI complessivo per
ottenere il volume finale incluso nell’output MIDI per quella particolare
dinamica. Le frazioni predefinite vanno da 0.25 per ppppp a
0.95 per fffff. L’insieme completo di dinamiche e delle loro
frazioni associate si trova in ‘scm/midi.scm’.
Frammenti di codice selezionati
Creare dinamiche personalizzate nell’output MIDI
L’esempio seguente mostra come creare un segno di dinamica, non incluso nell’elenco predefinito, e assegnargli un valore specifico così che possa essere usato per cambiare l’output MIDI.
Al segno di dinamica \rfz
viene assegnato il valore 0.9
.
#(define (myDynamics dynamic) (if (equal? dynamic "rfz") 0.9 (default-dynamic-absolute-volume dynamic))) \score { \new Staff { \set Staff.midiInstrument = #"cello" \set Score.dynamicAbsoluteVolumeFunction = #myDynamics \new Voice { \relative { a'4\pp b c-\rfz } } } \layout {} \midi {} }
File installati: ‘ly/script-init.ly’ ‘scm/midi.scm’.
Frammenti: MIDI.
Guida al funzionamento interno: Dynamic_performer.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Dinamiche nel MIDI ] | [ Su : Gestione delle dinamiche nel MIDI ] | [ Impostazione delle proprietà del blocco MIDI > ] |
Impostazione del volume MIDI
I valori minimo e massimo del volume complessivo delle dinamiche MIDI sono
regolati dalle proprietà midiMinimumVolume
e midiMaximumVolume
nel
livello Score
. Tali proprietà hanno effetto soltanto all’inizio di
una voce e sui segni di dinamica. La frazione corrispondente a ciascun
segno di dinamica viene modificata con la seguente formula:
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * frazione
Nell’esempio seguente la gamma dinamica del volume MIDI complessivo
è limitata alla gamma 0.2
- 0.5
.
\score { << \new Staff { \set Staff.midiInstrument = "flauto" … musica … } \new Staff { \set Staff.midiInstrument = "clarinetto" … musica … } >> \midi { \context { \Score midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
Una semplice equalizzazione degli strumenti MIDI si può ottenere impostando
le proprietà midiMinimumVolume
e midiMaximumVolume
nel
contesto Staff
.
\score { \new Staff { \set Staff.midiInstrument = "flauto" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … musica … } \midi { } }
In caso di partiture con molti righi e molti strumenti MIDI, i volumi relativi di ogni strumento possono essere impostati individualmente;
\score { << \new Staff { \set Staff.midiInstrument = "flauto" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … musica … } \new Staff { \set Staff.midiInstrument = "clarinetto" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 … musica … } >> \midi { } }
In questo esempio il volume del clarinetto è diminuito in modo proporzionale al volume del flauto.
Se queste proprietà del volume non sono impostate, LilyPond applica comunque “un po’” di equalizzazione a certi strumenti. Vedi ‘scm/midi.scm’.
File installati: ‘scm/midi.scm’.
Vedi anche
Guida alla notazione: Formattazione della partitura.
Guida al funzionamento interno: Dynamic_performer.
Frammenti di codice selezionati
Modificare l’equalizzazione predefinita degli strumenti MIDI
L’equalizzatore predefinito degli strumenti MIDI può essere modificato
impostando la proprietà instrumentEqualizer
nel contesto Score
come una procedura Scheme definita dall’utente che usi il nome dello strumento
MIDI come argomento insieme a una coppia di frazioni indicanti i volumi
minimi e massimi da applicare a quello specifico strumento.
L’esempio seguente imposta i volumi massimo e minimo per il flauto e per il clarintetto.
#(define my-instrument-equalizer-alist '()) #(set! my-instrument-equalizer-alist (append '( ("flute" . (0.7 . 0.9)) ("clarinet" . (0.3 . 0.6))) my-instrument-equalizer-alist)) #(define (my-instrument-equalizer s) (let ((entry (assoc s my-instrument-equalizer-alist))) (if entry (cdr entry)))) \score { << \new Staff { \key g \major \time 2/2 \set Score.instrumentEqualizer = #my-instrument-equalizer \set Staff.midiInstrument = "flute" \new Voice \relative { r2 g''\mp g fis~ 4 g8 fis e2~ 4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = "clarinet" \new Voice \relative { b'1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { } }
Problemi noti e avvertimenti
Le modifiche al volume MIDI si verificano soltanto all’inizio di una nota, quindi i crescendi e i decrescendi non possono cambiare il volume di una singola nota.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Impostazione del volume MIDI ] | [ Su : Gestione delle dinamiche nel MIDI ] | [ Uso degli strumenti MIDI > ] |
Impostazione delle proprietà del blocco MIDI
Il blocco \midi
può contenere modifiche del contesto, nuove definizioni
del contesto o codice che imposti i valori di certe proprietà.
\score { … musica … \midi { \tempo 4 = 72 } }
In questo esempio il tempo è impostato su 72 battiti da un quarto per minuto. Il
segno di tempo nel blocco \midi
non appare nella partitura, mentre qualsiasi
altra indicazione di \tempo
specificata nel blocco \score
sarà
trasferita anche nell’output MIDI.
Se all’interno di un blocco \midi
, il comando \tempo
imposta le
proprietà durante l’interpretazione della musica e nel contesto delle
definizioni di output; dunque viene interpretato come se fosse
una modifica di contesto.
Le definizioni di contesto seguono la stessa sintassi di quelle di un
blocco \layout
;
\score { … musica … \midi { \context { \Voice \remove Dynamic_performer } } }
Questo esempio toglie l’effetto delle dinamiche dall’output MIDI. Nota bene: i moduli di traduzione di LilyPond usati per l’audio si chiamano ‘performer’.
Vedi anche
Manuale di apprendimento: Altre fonti di informazione.
Guida alla notazione: Segni di espressione, Formattazione della partitura.
File installati: ‘ly/performer-init.ly’.
Frammenti: MIDI.
Guida al funzionamento interno: Dynamic_performer.
Problemi noti e avvertimenti
Alcuni lettori MIDI non sempre gestiscono correttamente i cambi di tempo.
I cambi di midiInstrument
, e di altre opzioni MIDI, all’inizio
di un rigo potrebbero apparire due volte nell’output MIDI.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Impostazione del volume MIDI ] | [ Su : Gestione delle dinamiche nel MIDI ] | [ Uso degli strumenti MIDI > ] |