[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < El bloc MIDI ] | [ Amunt : Creació de sortida MIDI ] | [ Indicacions de matís dinàmic al MIDI > ] |
3.5.4 Control de les dinàmiques del MIDI
Es possible controlar el volum MIDI general, el volum relatiu de les indicacions de matís dinàmic i el volum relatiu dels diferents instruments.
Les indicacions de matís dinàmic es tradueixen automàticament a nivells de volum dins del rang de volums MIDI disponible mentre que els crescendos i decrescendos varien el volum linealment entre els seus dos extrems. És possible controlar el volum relatiu de les indicacions de matís dinàmic, i el volum general dels diferents instruments.
Indicacions de matís dinàmic al MIDI | ||
Establiment del volum MIDI | ||
Establiment de les propietats del bloc MIDI |
Indicacions de matís dinàmic al MIDI
Sols les marques de dinàmica des de ppppp
fins
fffff
, inclosos mp
, mf
i sf
tenen
valors assignats. Aquest valor s’aplica a continuació al valor
del rang de volum a la sortida MIDI per a aquesta indicació de
matís dinàmic en particular. Les fraccions predeterminades varien
des de 0.25 per al ppppp fins a 0.95 per al
fffff. El conjunt complet de les indicacions de matís
dinàmic poden veure’s al fitxer ‘scm/midi.scm’.
Fragments de codi seleccionats
Creació de marques dinàmiques a la sortida MIDI
L’exemple següent mostra com crear un marcatge dinàmic, que no està inclòs a llista predeterminada, i assignar-lo a un valor específic de manera que es pugui usar per afectar la sortida MIDI.
A la marca dinàmica \rfz
se li assigna un valor de 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 {} }
Fitxers instal·lats: ‘ly/script-init.ly’ ‘scm/midi.scm’.
Fragments de codi: MIDI.
Referència de funcionament intern: Dynamic_performer.
Establiment del volum MIDI
Els volums generals mínim i màxim de les indicacions de matís
dinàmic MIDI es controlen establint les propietats
midiMinimumVolume
i midiMaximumVolume
en el nivell
del bloc Score
. Aquestes propietats tenen efecte sols al
començament de una veu i sobre les indicacions dinàmiques. La
fracció que correspon a cada indicació dinàmica es modifica amb
aquesta fórmula:
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracció
A l’exemple següent, el rang dinàmic del volum MIDI general es
limita a l’interval entre 0.2
i 0.5
.
\score { << \new Staff { \set Staff.midiInstrument = "flute" … music … } \new Staff { \set Staff.midiInstrument = "clarinet" … music … } >> \midi { \context { \Score midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
Es pot obtenir una equalització senzilla d’instruments MIDI
establint les propietats midiMinimumVolume
i
midiMaximumVolume
dins del context Staff
.
\score { \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … music … } \midi { } }
Per a partitures amb més d’un pentagrama i més d’un instrument MIDI, es poden fixar individualment els volums relatius de cada instrument:
\score { << \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … music … } \new Staff { \set Staff.midiInstrument = "clarinet" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 … music … } >> \midi { } }
En aquest exemple el volum del clarinet es redueix de forma relativa al volum de la flauta.
Si no s’estableixen aquestes propietats de volum, el LilyPond encara aplica un ‘petit grau’ d’equalització a certs instruments. Vegeu ‘scm/midi.scm’.
Fitxers instal·lats: ‘scm/midi.scm’.
Vegeu també
Referència de la notació: Disposició de la partitura.
Referència de funcionament intern: Dynamic_performer.
Fragments de codi seleccionats
Replacing default MIDI instrument equalization
The default MIDI instrument equalizer can be replaced by setting the
instrumentEqualizer
property in the Score
context to a
user-defined Scheme procedure that uses a MIDI instrument name as its
argument along with a pair of fractions indicating the minimum and
maximum volumes respectively to be applied to that specific instrument.
The following example sets the minimum and maximum volumes for flute and clarinet respectively."
#(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 { } }
Advertiments i problemes coneguts
Els canvis al volum del MIDI sols tenen lloc al començament d’una nota, per la qual cosa els crescendos i decrescendos no afecten a volum d’una sola nota.
Establiment de les propietats del bloc MIDI
El bloc \midi
pot contenir diverses disposicions dels
contextos, definicions de context noves o codi que estableix els
valors de certes propietats.
\score { … music … \midi { \tempo 4 = 72 } }
Aquí, el temps s’estableix a 72 pulsacions de negra per minut. La
indicació de temps dins del bloc \midi
no apareix a la
partitura impresa. Tot i que qualsevol altra indicació de
\tempo
que s’especifiqui dins del bloc \score
també
apareixerà a la sortida MIDI.
Dins d’un bloc \midi
, l’ordre \tempo
està establint
propietats durant la interpretació de la música i en el context de
les definicions de sortida; així, s’interpreta com si fos
una modificació de context.
Les definicions de context segueixen la mateixa sintaxi que les
del bloc \layout
:
\score { … music … \midi { \context { \Voice \remove Dynamic_performer } } }
Aquest exemple suprimeix l’efecte de les indicacions dinàmiques sobre la sortida MIDI. Nota: els mòduls de traducció del LilyPond usats per al so s’anomenen ‘performers’.
Vegeu també
Manual de aprenentatge: Altres fonts d'informació.
Referència de la notació: Expressions, Disposició de la partitura.
Fitxers instal·lats: ‘ly/performer-init.ly’.
Fragments de codi: MIDI.
Referència de funcionament intern: Dynamic_performer.
Advertiments i problemes coneguts
Certs reproductors de MIDI no sempre gestionen correctament els canvis de tempo a la sortida MIDI.
Els canvis fets al midiInstrument
, així com certes opcions
MIDI al començament d’un pentagrama, poden aparèixer dos
cops a la sortida MIDI.