@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
Translation of GIT committish: 4244c3a9fbf1f3ff2e20e665f92516d35b61de53
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
@c \version "2.19.29"
@c Translators: Federico Bruni
@c Translation checkers: Luca Rossetto Casel
@node Note simultanee
@section Note simultanee
@translationof Simultaneous notes
@lilypondfile[quote,ragged-right,line-width=16\cm]{simultaneous-headword.ly}
La polifonia in musica si riferisce alla coesistenza simultanea di più di una voce in un
brano musicale. In LilyPond la polifonia si riferisce alla coesistenza di
più voci sullo stesso rigo.
@menu
* Una voce::
* Più voci::
@end menu
@node Una voce
@subsection Una voce
@translationof Single voice
In questa sezione vengono spiegate le note simultanee che fanno parte di
un'unica voce.
@menu
* Note in un accordo::
* Ripetizione di un accordo::
* Espressioni simultanee::
* Cluster::
@end menu
@node Note in un accordo
@unnumberedsubsubsec Note in un accordo
@translationof Chorded notes
@cindex accordi
@cindex parentesi uncinate (o angolari)
@funindex <
@funindex >
@funindex <...>
Un accordo si forma racchiudendo una serie di altezze tra @code{<}
e @code{>} e può essere seguito da una durata, come accade per le
semplici note.
@lilypond[verbatim,quote]
\relative {
1 2 4 8. 16
}
@end lilypond
Proprio come per le note, si possono specificare le articolazioni da
riferire all'accordo.
@lilypond[verbatim,quote]
\relative {
1\fermata 2-> 4\prall 8.^! 16-.
}
@end lilypond
Si possono specificare abbellimenti e articolazioni per ogni nota che fa parte
dell'accordo.
@lilypond[verbatim,quote]
\relative {
1 c-^ e>2 4
8. 16
}
@end lilypond
Tuttavia, alcuni elementi della notazione, come le dinamiche e le forcelle,
devono essere attaccate all'accordo invece che alle sue singole note, altrimenti
non appariranno. Altri elementi della notazione, come le diteggiature e le
legature di portamento, saranno posizionate in modo nettamente diverso se
attaccate alle note di un accordo invece che a un accordo intero o a singole
note.
@lilypond[verbatim,quote]
\relative {
1 \f ( )
\< \!
}
@end lilypond
@cindex accordi vuoti
@cindex eventi segnaposto
Un accordo si comporta semplicemente come un contenitore di note, articolazioni
e altri elementi. Di conseguenza, un accordo privo di note non ha una
durata. Qualsiasi articolazione attaccata a un accordo vuoto si troverà
nel momento musicale della nota o accordo seguenti e si combinerà con
questi (possibilità più complesse di combinazione sono spiegate in
@ref{Simultaneous expressions}):
@lilypond[verbatim,quote]
\relative {
\grace { g'8( a b }
<> ) \p \< -. -\markup \italic "sempre staccato"
\repeat unfold 4 { c4 e } c1\f
}
@end lilypond
@cindex altezza relativa, accordi
@cindex accordi, altezza relativa
Si può usare la modalità relativa per indicare l'altezza degli accordi. La
prima nota di ogni accordo è sempre relativa alla prima nota dell'accordo
che lo precede oppure, se non c'è un accordo precedente, è relativa
all'altezza dell'ultima nota che precede l'accordo. Le altezze di tutte le altre note
dell'accordo sono relative alla nota che le precede @emph{all'interno dell'accordo}.
@lilypond[verbatim,quote]
\relative {
1
}
@end lilypond
Maggiori informazioni sugli accordi si trovano in @ref{Chord notation}.
@seealso
Glossario Musicale:
@rglosnamed{chord,accordo}.
Manuale d'apprendimento:
@rlearning{Combinare le note negli accordi}.
Guida alla notazione:
@ref{Chord notation},
@ref{Articolazioni e abbellimenti},
@ref{Relative octave entry},
@ref{Multiple voices}.
Frammenti:
@rlsr{Simultaneous notes}.
@knownissues
Gli accordi che contengono più di due altezze in uno spazio del rigo,
come ad esempio @samp{}, presentano le teste di tali note sovrapposte.
A seconda della situazione, si può migliorare l'aspetto con
@itemize
@item
l'uso temporaneo di @ref{Multiple voices},
@samp{<< f! \\ >>},
@item
la trascrizione enarmonica di una o più altezze,
@samp{}, oppure
@item
i @ref{Cluster}.
@end itemize
@node Ripetizione di un accordo
@unnumberedsubsubsec Ripetizione di un accordo
@translationof Chord repetition
@cindex accordo, ripetizione
@cindex ripetizione, uso di @code{q}
@cindex @code{q}, ripetizione accordo
Per inserire la musica più rapidamente, si può usare una scorciatoia che ripete
l'accordo precedente. Il simbolo di ripetizione dell'accordo è @code{q}:
@lilypond[verbatim,quote]
\relative {
1 q 2 q
}
@end lilypond
Come nel caso dei normali accordi, il simbolo di ripetzione dell'accordo si
può usare con le durate, le articolazioni, i testi a margine, le legature
di portamento, le travature, etc. dato che solo le altezze dell'accordo
precedente vengono duplicate.
@lilypond[verbatim,quote]
\relative {
1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall
}
@end lilypond
Il simbolo di ripetizione dell'accordo ricorda sempre l'ultimo accordo
inserito, quindi è possibile inserire l'accordo più recente anche se
nel frattempo sono state inserite altre note (senza accordi) o pause.
@lilypond[verbatim,quote]
\relative {
1 c'4 q2 r8 q8 |
q2 c, |
}
@end lilypond
Tuttavia questo simbolo non conserva le dinamiche, le articolazioni o
gli abbellimenti dell'accordo precedente.
@lilypond[verbatim,quote]
\relative {
1\sfz c'4 q2 r8 q8 |
q2 c, |
}
@end lilypond
Per far sì che alcuni elementi siano conservati, si può invocare esplicitamente
la funzione @code{\chordRepeats} con un'ulteriore argomento che indica una
lista di @var{tipi di evento} da mantenere, a meno che eventi di quel tipo non
siano già presenti nell'accordo @code{q} stesso.
@lilypond[verbatim,quote]
\relative {
\chordRepeats #'(articulation-event)
{ 1\sfz c'4 q2 r8 q8-. } |
q2 c, |
}
@end lilypond
In questo esempio l'uso di @code{\chordRepeats} all'interno di un blocco
@code{\relative} produce risultati indesiderati: gli eventi di un accordo,
una volta espansi, non si distinguono più per essere stati inseriti
come accordi normali, quindi @code{\relative} assegna un'ottava basata
sul contesto corrente.
Dato che @code{\relative} annidati non si influenzano l'un l'altro, si può
usare un altro @code{\relative} dentro @code{\chordRepeats} per stabilire
le relazioni di ottava prima di espandere gli accordi ripetuti. In questo
caso l'intero contenuto del @code{\relative} più interno non influenza
quello esterno; ecco perché in questo esempio la nota finale è stata
specificata con un'ottava diversa.
@c Without \new Voice, implicit voice creation does the dumbest thing.
@lilypond[verbatim,quote]
\new Voice
\relative c'' {
\chordRepeats #'(articulation-event)
\relative
{ 1\sfz c'4 q2 r8 q8-. } |
q2 c |
}
@end lilypond
Le interazioni con @code{\relative} si verificano solo con chiamate esplicite
di @code{\chordRepeats}: l'espansione implicita all'inizio della creazione
della partitura viene fatta in un momento in cui tutti i @code{\relative} sono
stati già elaborati.
@seealso
Guida alla notazione:
@ref{Chord notation},
@ref{Articolazioni e abbellimenti}.
File installati:
@file{ly/chord-repetition-init.ly}.
@node Espressioni simultanee
@unnumberedsubsubsec Espressioni simultanee
@translationof Simultaneous expressions
Una o più espressioni musicali racchiuse tra due coppie di parentesi uncinate sono
considerate simultanee. Se la prima espressione inizia con una nota
singola o se l'intera espressione simultanea appare esplicitamente
all'interno di una voce, sarà posta in un solo rigo; altrimenti gli
elementi dell'espressione simultanea saranno messi in righi separati.
Gli esempi seguenti mostrano espressioni simultanee su un rigo:
@lilypond[quote,verbatim]
\new Voice { % voce singola esplicita
<< \relative { a'4 b g2 }
\relative { d'4 g c,2 } >>
}
@end lilypond
@lilypond[quote,verbatim]
\relative {
% prima nota singola
a' << \relative { a'4 b g }
\relative { d'4 g c, } >>
}
@end lilypond
Questo può essere utile se le sezioni simultanee hanno durate
identiche, ma i tentativi di collegare note con durate diverse
allo stesso gambo causerà degli errori. Le note, le articolazioni
e le modifiche delle proprietà in una @emph{singola} voce (@samp{Voice})
sono raccolte e create secondo l'ordine della musica:
@lilypond[quote,verbatim]
\relative {
4-. <>-. << c a >> << { c-. } { a s-. } >>
}
@end lilypond
Per poter inserire gambi o travature multiple e variare le durate o
altre proprietà di note riferibili allo stesso momento musicale,
occorre usare più voci.
L'esempio seguente mostra come le espressioni simultanee possano
generare implicitamente righi multipli:
@lilypond[quote,verbatim]
% nessuna singola nota precede l'espressione simultanea
<< \relative { a'4 b g2 }
\relative { d'4 g2 c,4 } >>
@end lilypond
In questo caso le durate diverse non causano problemi perché sono
interpretate in voci diverse.
@cindex collisioni, ignorare
@knownissues
Se le note appartenenti a due o più voci, senza che sia stato specificato
uno spostamento, hanno i gambi nella stessa direzione, il messaggio
@example
attenzione: questa voce ha bisogno di un'impostazione \voiceXx o \shiftXx
@end example
apparirà durante la compilazione del file. Si può evitare con:
@example
\override NoteColumn.ignore-collision = ##t
@end example
Tuttavia, questo comando non si limita a eliminare l'avvertimento, ma impedisce qualsiasi
risoluzione delle collisioni, e potrebbe comportare altri effetti indesiderati
(vedi anche i @emph{Problemi noti} in @ref{Risoluzione delle collisioni}).
@node Cluster
@unnumberedsubsubsec Cluster
@translationof Clusters
@cindex cluster
@cindex cluster di note
@funindex \makeClusters
Un cluster prescrive l'esecuzione simultanea di tutti i suoni compresi in un determinato intervallo. Può
essere rappresentato come un involucro che contiene le note che ne fanno parte. Si
inserisce applicando la funzione @code{\makeClusters} a una sequenza
di accordi, ad esempio:
@lilypond[quote,verbatim]
\relative \makeClusters { 2 }
@end lilypond
Si possono inserire insieme sullo stesso rigo le normali note e i cluster,
anche contemporaneamente. In tal caso non viene fatto alcun tentativo di
evitare automaticamente collisioni tra le note normali e i cluster.
@seealso
Glossario Musicale:
@rglos{cluster}.
Frammenti:
@rlsr{Simultaneous notes}.
Guida al funzionamento interno:
@rinternals{ClusterSpanner},
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
@knownissues
I cluster hanno un buon aspetto solo se durano almeno per due accordi; altrimenti
appaiono troppo stretti.
I cluster non hanno un gambo e non possono indicare delle durate da soli, ma
la lunghezza del cluster è determinata dalle durate degli accordi che lo
definiscono. Più cluster distinti devono essere separati da una pausa.
I cluster non generano output MIDI.
@node Più voci
@subsection Più voci
@translationof Multiple voices
Questa sezione presenta le note simultanee in più voci o più righi.
@menu
* Polifonia su un solo rigo::
* Stili di voce::
* Risoluzione delle collisioni::
* Combinazione automatica delle parti::
* Scrivere la musica in parallelo::
@end menu
@node Polifonia su un solo rigo
@unnumberedsubsubsec Polifonia su un solo rigo
@translationof Single-staff polyphony
@cindex polifonia su un rigo singolo
@cindex voce
@cindex testo assegnato a una voce
@funindex \voiceOne
@funindex \voiceOne ... \voiceFour
@funindex Voice
@funindex \oneVoice
@subsubsubheading Istanziare esplicitamente le voci
La struttura di base necessaria per ottenere più voci indipendenti in un
solo rigo è illustrata nell'esempio seguente:
@lilypond[quote,verbatim]
\new Staff <<
\new Voice = "prima"
\relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
\new Voice= "seconda"
\relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>
@end lilypond
@noindent
Le voci sono istanziate esplicitamente e vengono contrassegnate da dei nomi. I
comandi @code{\voiceOne} @dots{} @code{\voiceFour} impostano le voci in
modo che la prima e terza voce abbiano i gambi in su, la seconda e la quarta
voce i gambi in giù, le teste di nota della terza e quarta voce siano
spostate orizzontalmente e le pause in ciascuna voce siano spostate
automaticamente per evitare collisioni. Il comando @code{\oneVoice}
ripristina tutte le impostazioni della voce alle direzioni neutrali
predefinite.
@subsubsubheading Passaggi polifonici temporanei
Un passaggio polifonico temporaneo si può creare col seguente costrutto:
@example
<< @{ \voiceOne @dots{} @}
\new Voice @{ \voiceTwo @dots{} @}
>> \oneVoice
@end example
@noindent
In questo esempio la prima espressione all'interno di un passaggio polifonico
temporaneo è posta nel contesto @code{Voice} che era in uso immediatamente
prima del passaggio polifonico e quello stesso contesto @code{Voice} continua
dopo la sezione temporanea. Le altre espressioni comprese nelle parentesi
uncinate vengono assegnate a voci temporanee distinte. Questo permette di
assegnare il testo a una voce che continua prima, durante e dopo una sezione
polifonica:
@lilypond[quote,verbatim]
\relative <<
\new Voice = "melody" {
a'4
<<
{
\voiceOne
g f
}
\new Voice {
\voiceTwo
d2
}
>>
\oneVoice
e4
}
\new Lyrics \lyricsto "melody" {
This is my song.
}
>>
@end lilypond
@noindent
I comandi @code{\voiceOne} e @code{\voiceTwo} sono necessari per
definire le impostazioni di ogni voce.
@subsubsubheading Il costrutto con la doppia barra inversa (backslash)
Il costrutto @code{<< @{@dots{}@} \\ @{@dots{}@} >>}, in cui due (o
più) espressioni sono separate da due barre inverse (backslash), si
comporta diversamente dal costrutto simile privo delle due barre:
@emph{tutte} le espressioni in questo costrutto vengono assegnate
a nuovi contesti @code{Voice}. Questi nuovi contesti @code{Voice}
vengono creati implicitamente e ad essi vengono assegnati dei nomi
prestabiliti @code{"1"}, @code{"2"}, etc.
Il primo esempio potrebbe essere riscritto nel modo seguente:
@lilypond[quote,verbatim]
<<
\relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
\\
\relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>
@end lilypond
Questa sintassi si usa quando non importa che le voci temporanee siano
create e poi eliminate. A queste voci create implicitamente vengono
assegnate le impostazioni equivalenti all'uso dei comandi
@code{\voiceOne} @dots{} @code{\voiceFour}, nell'ordine in cui
appaiono nell'input.
Nell'esempio seguente, la voce intermedia ha i gambi in su, dunque viene
inserita in terza posizione in modo che diventi la terza voce, che ha
i gambi in su. Si usano le pause spaziatrici per evitare il raddoppio delle pause ordinarie.
@lilypond[quote,verbatim]
<<
\relative { r8 g'' g g g f16 ees f8 d }
\\
\relative { ees'8 r ees r d r d r }
\\
\relative { d''8 s c s bes s a s }
>>
@end lilypond
In tutti i brani, a eccezione di quelli più semplici, è consigliabile creare contesti
@code{Voice} espliciti come è spiegato in @rlearning{Contesti e incisori} e
@rlearning{Definire esplicitamente le voci}.
@subsubsubheading Ordine delle voci
Quando si inseriscono più voci nel file di input, conviene usare il
seguente ordine:
@example
Voce 1: la più alta
Voce 2: la più bassa
Voce 3: la seconda più alta
Voce 4: la seconda più bassa
Voce 5: la terza più alta
Voce 6: la terza più bassa
etc.
@end example
Sebbene possa sembrare controintuitivo, ciò semplifica il processo
automatico di formattazione. Si noti che le voci con numero
dispari hanno i gambi in su, quelle con numero pari hanno i
gambi in giù:
@lilypond[quote,verbatim]
\new Staff <<
\time 2/4
{ f''2 } % 1: la più alta
\\
{ c'2 } % 2: la più bassa
\\
{ d''2 } % 3: seconda più alta
\\
{ e'2 } % 4: seconda più bassa
\\
{ b'2 } % 5: terza più alta
\\
{ g'2 } % 6: terza più bassa
>>
@end lilypond
@funindex \voices
Quando si desidera inserire le voci in un ordine diverso, conviene usare
il comando @code{\voices}:
@lilypond[quote,verbatim]
\new Staff \voices 1,3,5,6,4,2 <<
\time 2/4
{ f''2 } % 1: la più alta
\\
{ d''2 } % 3: seconda più alta
\\
{ b'2 } % 5: terza più alta
\\
{ g'2 } % 6: terza più bassa
\\
{ e'2 } % 4: seconda più bassa
\\
{ c'2 } % 2: la più bassa
>>
@end lilypond
@warning{Il testo e gli estensori (come le legature di portamento e di valore,
le forcelle, etc.) non possono @q{attraversare} le voci.}
@subsubsubheading Durate identiche
Nel caso speciale in cui si desideri inserire sezioni musicali parallele
con il medesimo ritmo, si possono combinare in un unico contesto
@code{Voice}, formando dunque degli accordi. Per farlo, vanno racchiuse
in un semplice costrutto musicale simultaneo all'interno di una
voce esplicita:
@lilypond[quote,verbatim]
\new Voice <<
\relative { e''4 f8 d e16 f g8 d4 }
\relative { c''4 d8 b c16 d e8 b4 }
>>
@end lilypond
Questo metodo produce strane travature e avvertimenti se le sezioni musicali
non hanno lo stesso ritmo.
@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
@endpredefined
@seealso
Manuale d'apprendimento:
@rlearning{Le voci contengono la musica},
@rlearning{Definire esplicitamente le voci}.
Guida alla notazione:
@ref{Percussion staves},
@ref{Invisible rests},
@ref{Stems}.
Frammenti:
@rlsr{Simultaneous notes}.
@node Stili di voce
@unnumberedsubsubsec Stili di voce
@translationof Voice styles
@cindex stili di voce
@cindex voci, stili
@cindex colorare le voci
@funindex \voiceOneStyle
@funindex \voiceTwoStyle
@funindex \voiceThreeStyle
@funindex \voiceFourStyle
@funindex \voiceNeutralStyle
Si possono assegnare colori e forme diverse a ciascuna voce per facilitarne
l'identificazione:
@lilypond[quote,verbatim]
<<
\relative { \voiceOneStyle d''4 c2 b4 }
\\
\relative { \voiceTwoStyle e'2 e }
\\
\relative { \voiceThreeStyle b2. c4 }
\\
\relative { \voiceFourStyle g'2 g }
>>
@end lilypond
Il comando @code{\voiceNeutralStyle} permette di ripristinare l'aspetto
predefinito.
@predefined
@code{\voiceOneStyle},
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
@endpredefined
@seealso
Manuale d'apprendimento:
@rlearning{Sento le Voci},
@rlearning{Altre fonti di informazione}.
Frammenti:
@rlsr{Simultaneous notes}.
@node Risoluzione delle collisioni
@unnumberedsubsubsec Risoluzione delle collisioni
@translationof Collision resolution
@cindex unire le note
@cindex collisioni di note
@cindex collisioni
@cindex spostare una nota
@cindex nota, spostamento
@cindex tante voci
@cindex voci multiple
@cindex musica polifonica
@cindex spostare le voci
@cindex spostamento automatico della pausa
@cindex pausa, spostamento automatico
@funindex \shiftOn
@funindex \shiftOnn
@funindex \shiftOnnn
@funindex \shiftOff
@funindex \mergeDifferentlyDottedOn
@funindex \mergeDifferentlyDottedOff
@funindex \mergeDifferentlyHeadedOn
@funindex \mergeDifferentlyHeadedOff
Le teste di note che si trovano in voci diverse ma hanno stessa altezza,
stessa testa e direzione del gambo opposta vengono unite automaticamente;
invece, le note che hanno la stessa testa o la stessa direzione del gambo
non vengono unite. Le pause opposte a un gambo in una voce diversa vengono
spostate verticalmente. L'esempio seguente mostra tre diverse circostanze,
sul primo e terzo movimento della prima battuta e sul primo movimento della seconda
battuta, in cui l'unione automatica delle teste di nota non funziona.
@lilypond[quote,verbatim]
<<
\relative {
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
Note con teste diverse possono essere unite come è mostrato sotto. In
questo esempio le teste delle note nel primo battito della prima battuta
sono unite:
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
Le minime e le semiminime, invece, non sono unite, perché sarebbe
difficile distinguerle.
Anche le teste di note con diversi punti, come nel terzo movimento della prima
battuta, possono essere unite:
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
La minima e la croma all'inizio della seconda misura sono unite
per errore, perché l'unione automatica non riesce a completare
correttamente l'unione quando tre o più note sono allineate sulla
stessa colonna di note: in questo caso la testa di nota unita non
è corretta. Per far sì che l'unione selezioni la testa di nota
corretta, occorre applicare il comando @code{\shift} alla nota
che non deve essere unita. In questo esempio si usa @code{\shiftOn} per
spostare il Sol superiore (@notation{g}) fuori dalla colonna e di
conseguenza @code{\mergeDifferentlyHeadedOn} funziona correttamente.
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c''8 d e d c d c4
\shiftOn
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
Il comando @code{\shiftOn} permette (senza forzare) lo spostamento delle note
in una voce. Quando si applica @code{\shiftOn} a una voce, una nota o
accordo in quella voce vengono spostati solo se il suo gambo altrimenti entrerebbe
in collisione col gambo di un'altra voce, e solo se i gambi
che collidono puntano nella stessa direzione. Il comando @code{\shiftOff}
impedisce che si verifichi questo tipo di spostamento.
Per impostazione predefinita, le voci più esterne (solitamente la prima e
la seconda voce) hanno specificato @code{\shiftOff}, mentre le voci più
interne (terza e successive) hanno specificato @code{\shiftOn}. Quando si
applica uno spostamento, le voci con i gambi in su (voci dispari)
vengono spostate a destra, e le voci con i gambi in giù (voci pari)
vengono spostate a sinistra.
Ecco un esempio che aiuta a visualizzare come un'espressione simultanea
abbreviata viene espansa internamente.
@warning{Attenzione: con tre o più voci, l'ordine verticale delle voci
nel file di input non deve essere lo stesso dell'ordine verticale delle
voci del rigo!}
@lilypond[quote,verbatim]
\new Staff \relative {
%% inserimento abbreviato
<<
{ f''2 } % 1: più alta
\\
{ g,2 } % 2: più bassa
\\
{ d'2 } % 3: più alta centrale
\\
{ b2 } % 4: più bassa centrale
>>
%% espansione interna dell'input precedente
<<
\new Voice = "1" { \voiceOne \shiftOff f'2 }
\new Voice = "2" { \voiceTwo \shiftOff g,2 }
\new Voice = "3" { \voiceThree \shiftOn d'2 } % sposta a destra
\new Voice = "4" { \voiceFour \shiftOn b2 } % sposta a sinistra
>>
}
@end lilypond
Due ulteriori comandi, @code{\shiftOnn} e @code{\shiftOnnn},
mettono a disposizione altri livelli di spostamento che possono
essere specificati in modo temporaneo per risolvere delle collisioni
in situazioni complesse -- vedi @rlearning{Esempio musicale}.
Le note vengono unite solo se presentano opposta direzione dei gambi (come
accade, ad esempio, nella prima o seconda voce o quando i gambi sono
impostati esplicitamente in direzioni opposte).
@predefined
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\mergeDifferentlyHeadedOff}.
@code{\shiftOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
@endpredefined
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{additional-voices-to-avoid-collisions.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
@seealso
Glossario Musicale:
@rglosnamed{polyphony,polifonia}.
Manuale d'apprendimento:
@rlearning{Note simultanee},
@rlearning{Le voci contengono la musica},
@rlearning{Esempio musicale}.
Frammenti:
@rlsr{Simultaneous notes}.
Guida al funzionamento interno:
@rinternals{NoteColumn},
@rinternals{NoteCollision},
@rinternals{RestCollision}.
@cindex collisioni,ignorare
@knownissues
Se si usa @code{\override NoteColumn.ignore-collision = ##t},
le note con teste diverse che si trovano in voci
diverse saranno unite in modo non corretto.
@lilypond[quote,verbatim,fragment]
\mergeDifferentlyHeadedOn
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
\override NoteColumn.ignore-collision = ##t
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
@end lilypond
@ignore
@knownissues
@c TODO investigate! Sometimes it works, sometimes not. --FV
The requirements for successfully merging different note heads that
are at the same time differently dotted are not clear.
@end ignore
@node Combinazione automatica delle parti
@unnumberedsubsubsec Combinazione automatica delle parti
@translationof Automatic part combining
@cindex combinazione automatica delle parti
@cindex combinatore delle parti
@cindex unione delle parti
@cindex parte a due
@cindex parte solista
@funindex \partcombine
La combinazione automatica delle parti si usa per combinare in un unico rigo due
parti musicali separate. Ciò è utile soprattutto quando si scrivono partiture
orchestrali. Viene stampata una sola voce se le due parti musicali sono
identiche, ma nei punti in cui sono diverse viene aggiunta una seconda voce. Le
direzioni dei gambi sono impostate in su e in giù in base alla voce di
appartenenza, mentre le sezioni solistiche e @notation{a due} sono a loro volta
identificate e contrassegnate.
La sintassi per la combinazione automatica delle parti è:
@example
\partcombine @var{espressione-musicale1} @var{espressione-musicale2}
@end example
L'esempio seguente illustra il funzionamento di base: le parti
sono poste su un unico rigo in modo polifonico e le direzioni dei
gambi sono regolate di conseguenza. Si usano le stesse variabili
per le parti indipendenti e il rigo combinato.
@lilypond[quote,verbatim]
instrumentOne = \relative {
c'4 d e f |
R1 |
d'4 c b a |
b4 g2 f4 |
e1 |
}
instrumentTwo = \relative {
R1 |
g'4 a b c |
d4 c b a |
g4 f( e) d |
e1 |
}
<<
\new Staff \instrumentOne
\new Staff \instrumentTwo
\new Staff \partcombine \instrumentOne \instrumentTwo
>>
@end lilypond
Entrambe le parti hanno note identiche nella terza misura, dunque viene
stampata una sola nota. Le direzioni dei gambi e delle legature di portamento e
di valore sono impostate automaticamente, a seconda che l'esecuzione delle parti sia
solistica o all'unisono. Quando si rende necessario, in
caso di polifonia, la prima parte (nel contesto @code{one}) ha i gambi
in @qq{su}, mentre la seconda (nel contesto @code{two}) ha sempre i
gambi in @qq{giù}. In caso di parti solistiche, la prima e seconda
parte sono contrassegnate rispettivamente con @qq{Solo} e @qq{Solo II}.
Le parti (@notation{a due}) all'unisono sono contrassegnate con la
scritta @qq{a2}.
Il comportamento predefinito del combinatore delle parti è
quello di unire due note della stessa altezza in una nota @notation{a due},
combinare in un accordo note della stessa durata e separate da un intervallo
inferiore alla nona e separare in voci distinte le note con un intervallo
superiore alla nona (o quando le voci collidono). Tale comportamento può
essere modificato con un argomento opzionale di una coppia di numeri dopo
il comando @code{\partcombine}: il primo indica l'intervallo in cui le note
iniziano a essere combinate (il valore predefinito è zero) e il secondo
dove le note vengono divise in note distinte. Impostando il secondo argomento
su zero, il combinatore delle parti divide le note che hanno un intervallo
di una seconda o più; impostandolo su uno, divide le note di una terza o
più, e così via.
@lilypond[quote,verbatim]
instrumentOne = \relative {
a4 b c d |
e f g a |
b c d e |
}
instrumentTwo = \relative {
c'4 c c c |
c c c c |
c c c c |
}
<<
\new Staff \partcombine \instrumentOne \instrumentTwo
\new Staff \partcombine #'(2 . 3) \instrumentOne \instrumentTwo
>>
@end lilypond
Entrambi gli argomenti di @code{\partcombine} sono interpretati come
contesti @code{Voice} separati, dunque se la musica viene inserita in
modo relativo @emph{entrambe} le parti devono contenere una funzione
@code{\relative}, ovvero:
@example
\partcombine
\relative @dots{} @var{espressione-musicale1}
\relative @dots{} @var{espressione-musicale2}
@end example
@noindent
Un blocco @code{\relative} che racchiude un @code{\partcombine} non ha
effetto sulle altezze di @code{@var{espressione-musicale1}} e
@code{@var{espressione-musicale2}}.
@funindex \partcombineChords
@funindex \partcombineApart
@funindex \partcombineUnisono
@funindex \partcombineSoloI
@funindex \partcombineSoloII
@funindex \partcombineAutomatic
Nelle partiture professionali, spesso le voci sono tenute separate per
lunghi passaggi anche se alcune note sono le stesse in entrambe le voci
e potrebbero essere stampate come unisono. Combinare le note in un
accordo o mostrare una voce come solista, dunque, non è la scelta
ideale, perché la funzione @code{\partcombine} considera ogni nota
individualmente. In questo caso si può sovrascrivere la funzione
@code{\partcombine} con uno dei comandi elencati sotto. Tutti i comandi
devono essere preceduti da @code{\once} per applicarli soltanto alla
nota successiva dell'espressione musicale.
@itemize
@item
@code{\partcombineApart} mantiene le note su due voci distinte, anche se
potrebbero essere combinate in un accordo o in un unisono.
@item
@code{\partcombineChords} unisce le note in un accordo.
@item
@code{\partcombineUnisono} unisce entrambe le voci come @qq{unisono}.
@item
@code{\partcombineSoloI} stampa soltanto la prima voce e la contrassegna
come un @qq{Solo}.
@item
@code{\partcombineSoloII} stampa soltanto la seconda voce e la contrassegna
come un @qq{Solo}.
@item
@code{\partcombineAutomatic} termina le funzioni dei comandi precedenti e
ripristina il funzionamento predefinito di @code{\partcombine}.
@end itemize
@lilypond[quote,verbatim]
instrumentOne = \relative c' {
\partcombineApart c2^"separato" e |
\partcombineAutomatic e2^"automatico" e |
\partcombineChords e'2^"accordo" e |
\partcombineAutomatic c2^"automatico" c |
\partcombineApart c2^"separato" \once \partcombineChords e^"accordo una volta sola" |
c2 c |
}
instrumentTwo = \relative {
c'2 c |
e2 e |
a,2 c |
c2 c' |
c2 c |
c2 c |
}
<<
\new Staff { \instrumentOne }
\new Staff { \instrumentTwo }
\new Staff { \partcombine \instrumentOne \instrumentTwo }
>>
@end lilypond
@subsubsubheading Uso di \partcombine col testo vocale
@cindex \partcombine e testo vocale
Il comando @code{\partcombine} non è progettato per funzionare col
testo vocale; al punto che se una delle voci è nominata in modo
esplicito per poterle assegnare del testo, l'unione delle parti
smette di funzionare. Tuttavia, questo risultato si può ottenere
usando un contesto @code{NullVoice}. Vedi @ref{Polyphony with shared lyrics}.
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{combining-two-parts-on-the-same-staff.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
{changing-partcombine-texts.ly}
@seealso
Glossario Musicale:
@rglos{a due},
@rglosnamed{part,parte}.
Guida alla notazione:
@ref{Writing parts}.
Frammenti:
@rlsr{Simultaneous notes}.
Guida al funzionamento interno:
@rinternals{PartCombineMusic},
@rinternals{Voice}.
@knownissues
Tutte le funzioni @code{\partcombine@dots{}} possono accettare soltanto due
voci.
Le funzioni @code{\partcombine@dots{}} non possono essere inserite all'interno
di un blocco @code{\tuplet} o @code{\relative}.
Se @code{printPartCombineTexts} è attivo e le due voci eseguono le stesse
note @qq{in modo discontinuo} nella stessa misura, potrebbe apparire
il testo @code{a2} più di una volta in quella misura.
@code{\partcombine} sa soltanto quando una nota inizia in una voce
(@code{Voice}); non può, ad esempio, ricordare se una nota in una
voce è già iniziata quando combina le note già iniziate nell'altra
voce. Questo può portare a vari problemi inattesi, tra cui la stampa
non corretta dei segni @qq{Solo} e @qq{Unisono}.
@code{\partcombine} tiene tutti gli estensori (legature di portamento e
di valore, forcelle, etc.) nella stessa voce, quindi se uno di questi
estensori inizia o termina in una voce diversa potrebbe essere
stampato incorrettamente o non essere stampato affatto.
Se la funzione @code{\partcombine} non riesce a combinare le due espressioni
musicali (ovvero quando le due voci hanno durate diverse), assegnerà alle
voci, internamente, nomi personalizzati: rispettivamente @code{one} e
@code{two}. Ciò significa che se c'è un @qq{passaggio} a un contesto
@code{Voice} nominato diversamente, gli eventi in quel contesto verranno
ignorati.
Consultare i @emph{Problemi noti e avvertimenti} in @ref{Default tablatures}
se si usa @code{\partcombine} con l'intavolatura, e la @emph{Nota} in
@ref{Travature automatiche} se si usa la disposizione automatica delle travature.
@node Scrivere la musica in parallelo
@unnumberedsubsubsec Scrivere la musica in parallelo
@translationof Writing music in parallel
@cindex scrivere la musica in parallelo
@cindex musica parallela
@cindex parallela, musica
@funindex \parallelMusic
La musica che contiene parti diverse può essere messa in parallelo nel codice
di input. La funzione @code{\parallelMusic} accetta una lista contenente
i nomi di un insieme di variabili da creare e un'espressione musicale. Il
contenuto delle misure alternate nell'espressione diventa il valore delle
rispettive variabili, in modo che possano essere usate successivamente per
stampare la musica.
@warning{L'uso dei controlli di battuta @code{|} è obbligatorio e le misure
devono avere la stessa durata.}
@lilypond[quote,verbatim]
\parallelMusic #'(voiceA voiceB voiceC) {
% Battuta 1
r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
r16 e'8.~ 4 r16 e'8.~ 4 |
c'2 c'2 |
% Battuta 2
r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
r16 d'8.~ 4 r16 d'8.~ 4 |
c'2 c'2 |
}
\new StaffGroup <<
\new Staff << \voiceA \\ \voiceB >>
\new Staff { \clef bass \voiceC }
>>
@end lilypond
L'uso del modo relativo è permesso. Attenzione: il comando @code{\relative}
non deve essere messo dentro @code{\parallelMusic}. Le note sono relative
alla nota precedente della voce, non a quella precedente nell'input. In altre
parole, le note relative di @code{voiceA} ignorano le note in @code{voiceB}.
@lilypond[quote,verbatim]
\parallelMusic #'(voiceA voiceB voiceC) {
% Battuta 1
r8 g16 c e g, c e r8 g,16 c e g, c e |
r16 e8.~ 4 r16 e8.~ 4 |
c2 c |
% Battuta 2
r8 a,16 d f a, d f r8 a,16 d f a, d f |
r16 d8.~ 4 r16 d8.~ 4 |
c2 c |
}
\new StaffGroup <<
\new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
\new Staff \relative c' { \clef bass \voiceC }
>>
@end lilypond
Questo è molto utile nella musica per pianoforte. Questo esempio combina
sezioni di quattro battute consecutive con quattro variabili:
@lilypond[quote,verbatim]
global = {
\key g \major
\time 2/4
}
\parallelMusic #'(voiceA voiceB voiceC voiceD) {
% Battuta 1
a8 b c d |
d4 e |
c16 d e fis d e fis g |
a4 a |
% Battuta 2
e8 fis g a |
fis4 g |
e16 fis g a fis g a b |
a4 a |
% Bar 3 ...
}
\score {
\new PianoStaff <<
\new Staff {
\global
<<
\relative c'' \voiceA
\\
\relative c' \voiceB
>>
}
\new Staff {
\global \clef bass
<<
\relative c \voiceC
\\
\relative c \voiceD
>>
}
>>
}
@end lilypond
@seealso
Manuale d'apprendimento:
@rlearning{Organizzare i brani con le variabili}.
Frammenti:
@rlsr{Simultaneous notes}.