@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
+ Translation of GIT committish: 09ef86c87175cc6c1071eedb022ed1d01a93bcaf
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.2"
+@c \version "2.19.22"
@node Concetti fondamentali
@chapter Concetti fondamentali
preferiscono. Ma questa flessibilità può creare confusione nei nuovi
utenti. Questa sezione spiegherà in parte questa struttura, ma
sorvolerà su alcuni dettagli in favore della semplicità. Per una
-descrizione completa del formato di input, si veda @ruser{File structure}.
+descrizione completa del formato di input, si veda @ruser{Struttura del file}.
@menu
* Introduzione alla struttura di un file di LilyPond::
serve da utile punto di partenza.
@funindex \book
-@funindex book
@funindex \score
-@funindex score
@cindex book (libro)
@cindex score (partitura)
@cindex libro
necessari. LilyPond tratta un input come questo:
@example
-\relative c'' @{
- c4 a d c
+\relative @{
+ c''4 a d c
@}
@end example
\score @{
\new Staff @{
\new Voice @{
- \relative c'' @{
- c4 a b c
+ \relative @{
+ c''4 a b c
@}
@}
@}
quando vengono usati ulteriori comandi, la creazione implicita dei contesti
può dare risultati inattesi, ad esempio creando dei righi non voluti.
Il modo per creare i contesti esplicitamente è spiegato in
-@ref{Contexts and engravers}.
+@ref{Contesti e incisori}.
@warning{Quando si inseriscono più di poche linee di musica, si consiglia
di creare sempre esplicitamente i righi e le voci.}
Ora però torniamo al primo esempio ed esaminiamo il comando
@code{\score}, lasciando gli altri comandi secondo l'impostazione predefinita.
-Un blocco @code{\score} deve sempre contenere una sola espressione musicale,
-e questa deve trovarsi subito dopo il comando @code{\score}.
+Un blocco @code{\score} deve sempre contenere una sola espressione musicale.
Ricorda che un'espressione musicale può essere qualsiasi cosa, da una
singola nota a una grande espressione composta come
@end example
@funindex \header
-@funindex header
@funindex \layout
-@funindex layout
@funindex \midi
-@funindex midi
@cindex header
@cindex layout
@cindex midi
@code{\layout @{ @}} e @code{\midi @{@}}. Se questi appaiono come
in figura, LilyPond creerà rispettivamente un output per la stampa
e uno per il MIDI. Sono descritti dettagliatamente nella
-Guida alla notazione, in @ruser{Score layout}, e
-@ruser{Creating MIDI files}.
+Guida alla notazione, in @ruser{Formattazione della partitura}, e
+@ruser{Creazione dell'output MIDI}.
@cindex partiture, multiple
@cindex libro, blocco implicito
@cindex implicito, blocco del libro
@funindex \book
-@funindex book
Puoi scrivere molteplici blocchi @code{\score}. Ciascuno verrà
trattato come una partitura separata, ma saranno tutti combinati in
blocco @code{\score} (e quindi in un blocco @code{\book}, esplicitamente
o implicitamente) riguarderà ogni @code{\score} in quel @code{\book}.
-Per maggiori dettagli si veda @ruser{Multiple scores in a book}.
+Per maggiori dettagli si veda @ruser{Molteplici partiture in un libro}.
@cindex variabili
i modelli usano questa forma
@example
-melodia = \relative c' @{
- c4 a b c
+melodia = \relative @{
+ c'4 a b c
@}
\score @{
altro nome. Ricordati che puoi usare quasi ogni nome che vuoi, purché esso
contenga solo caratteri alfabetici e sia diverso dai nomi dei comandi di
LilyPond. Le esatte limitazioni relative ai nomi delle variabili sono spiegate
-dettagliatamente in @ruser{File structure}.
+dettagliatamente in @ruser{Struttura del file}.
@seealso
Per una definizione completa del formato di input, si veda
-@ruser{File structure}.
+@ruser{Struttura del file}.
@node La partitura è una (singola) espressione musicale composta
@translationof Score is a (single) compound musical expression
@funindex \score
-@funindex score
@cindex partitura
@cindex score
@cindex contenuto di un blocco score
semplicemente, che @emph{non c'è} alcun mistero. La seguente frase spiega tutto:
@quotation
-@emph{Un blocco @code{\score} deve iniziare con un'espressione musicale composta.}
+@emph{Un blocco @code{\score} deve contenere una sola espressione musicale.}
@end quotation
@noindent
-Per capire cosa si intende per espressione musicale e per espressione
-musicale composta, potrebbe esserti utile ripassare il tutorial,
-@ref{Espressioni musicali}. In quella sezione, abbiamo visto
-come costruire grandi espressioni musicali a partire da piccoli brani -- abbiamo
-iniziato con le note, poi gli accordi, etc. Adesso inizieremo da una grande
-espressione musicale e proseguiremo poi a spiegarne i dettagli. Per semplicità,
-nel nostro esempio useremo soltanto un canto e un pianoforte. Per questa formazione
-non abbiamo bisogno di @code{StaffGroup}, che non fa altro che raggruppare un insieme
-di righi con una parentesi graffa a sinistra, ma abbiamo comunque bisogno dei
-righi per il canto e per il pianoforte.
+Per capire cosa si intende per espressione musicale, potrebbe esserti utile
+ripassare il tutorial, @ref{Espressioni musicali}. In quella sezione, abbiamo
+visto come costruire grandi espressioni musicali a partire da piccoli brani --
+abbiamo iniziato con le note, poi gli accordi, etc. Adesso inizieremo da una
+grande espressione musicale e proseguiremo poi a spiegarne i dettagli. Per
+semplicità, nel nostro esempio useremo soltanto un canto e un pianoforte. Per
+questa formazione non abbiamo bisogno di @code{StaffGroup}, che non fa altro che
+raggruppare un insieme di righi con una parentesi graffa a sinistra, ma abbiamo
+comunque bisogno dei righi per il canto e per il pianoforte.
@example
\score @{
graffe vicine a @code{\new Voice = "vocal"}, possiamo iniziare a scrivere
@example
-\relative c'' @{
- r4 d8\noBeam g, c4 r
+\relative @{
+ r4 d''8\noBeam g, c4 r
@}
@end example
@code{\addlyrics}, questo comando trasforma la modalità di input in modalità
testo. Senza di esso, LilyPond cercherebbe di interpretare i contenuti come
se fossero note, e questo produrrebbe degli errori. (Sono disponibili molte
-altre modalità di input, si veda @ruser{Input modes}.)
+altre modalità di input, si veda @ruser{Modalità di inserimento}.)
Dunque se aggiungiamo un po' di note e una chiave di basso per la mano
sinistra, otteniamo un brano musicale vero e proprio:
@lilypond[verbatim,quote,ragged-right]
-melody = \relative c'' { r4 d8\noBeam g, c4 r }
+melody = \relative { r4 d''8\noBeam g, c4 r }
text = \lyricmode { And God said, }
-upper = \relative c'' { <g d g,>2~ <g d g,> }
-lower = \relative c { b2 e }
+upper = \relative { <g' d g,>2~ <g d g,> }
+lower = \relative { b,2 e }
\score {
<<
@seealso
-Guida alla notazione: @ruser{Structure of a score}.
+Guida alla notazione: @ruser{Struttura di una partitura}.
@node Annidare le espressioni musicali
@lilypond[verbatim,quote,ragged-right]
\new Staff {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@lilypond[verbatim,quote,ragged-right]
\new Staff = "main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
@seealso
Gli ossia vengono spesso scritti senza armatura di chiave e senza
tempo, e solitamente hanno un font più piccolo. Richiedono ulteriori
-comandi che non sono stati ancora presentati. Si veda @ref{Size of objects},
+comandi che non sono stati ancora presentati. Si veda @ref{Dimensione degli oggetti},
e @ruser{Righi ossia}.
inserita manualmente e finire prima della fine della travatura -- non
molto musicale, forse, ma possibile:
-@lilypond[quote,verbatim,ragged-right,relative=2]
-g8\( a b[ c b\) a] g4
+@lilypond[quote,verbatim,ragged-right]
+\relative { g'8\( a b[ c b\) a] g4 }
@end lilypond
In generale, tipi diversi di parentesi, costrutti in parentesi e segni che
irregolari, e una legatura di frase che si estende fuori da un gruppo
irregolare (linee 3 e 4).
-@lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \tuplet 3/2 { r16 e'8] }
-g,16( a \tuplet 3/2 { b16 d) e }
-g,8[( a \tuplet 3/2 { b8 d) e~] } |
-\tuplet 5/4 { e32\( a, b d e } a4.\)
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ r16[ g' \tuplet 3/2 { r16 e'8] }
+ g,16( a \tuplet 3/2 { b16 d) e }
+ g,8[( a \tuplet 3/2 { b8 d) e~] } |
+ \tuplet 5/4 { e32\( a, b d e } a4.\)
+}
@end lilypond
dunque quando l'uso delle voci multiple è davvero necessario? Si osservi
questo esempio di quattro accordi:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-\key g \major
-<d g>4 <d fis> <d a'> <d g>
+@lilypond[quote,verbatim,fragment,ragged-right]
+\relative {
+ \key g \major
+ <d' g>4 <d fis> <d a'> <d g>
+}
@end lilypond
Questa musica può essere espressa usando soltanto i simboli dell'accordo,
Ecco come suddividere gli accordi precedenti in due voci e aggiungere sia
la nota di passaggio che la legatura di portamento:
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key g \major
-% Voice "1" Voice "2"
-<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key g \major
+ % Voice = "1" Voice = "2"
+ << { g'4 fis8( g) a4 g } \\ { d4 d d d } >>
+}
@end lilypond
Si noti come i gambi della seconda voce adesso siano rivolti in basso.
Ecco un altro semplice esempio:
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key d \minor
-% Voice "1" Voice "2"
-<< { r4 g g4. a8 } \\ { d,2 d4 g } >> |
-<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
-<< { a2. r4 } \\ { fis2. s4 } >> |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key d \minor
+ % Voice = "1" Voice = "2"
+ << { r4 g' g4. a8 } \\ { d,2 d4 g } >> |
+ << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+ << { a2. r4 } \\ { fis2. s4 } >> |
+}
@end lilypond
Non è necessario usare un costrutto con @code{<< \\ >>} in ogni
può aiutare la leggibilità del codice, ma se ci sono molte note in
ogni battuta è preferibile dividere ogni voce, così:
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key d \minor
-<< {
- % Voice "1"
- r4 g g4. a8 |
- bes4 bes c bes |
- a2. r4 |
-} \\ {
- % Voice "2"
- d,2 d4 g |
- g4 g g8( a) g4 |
- fis2. s4 |
-} >>
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \key d \minor
+ \relative { % Voice = "1"
+ r4 g' g4. a8 |
+ bes4 bes c bes |
+ a2. r4 |
+ } \\
+ \relative { % Voice = "2"
+ d'2 d4 g |
+ g4 g g8( a) g4 |
+ fis2. s4 |
+ }
+>>
@end lilypond
legature di valore, dinamica, etc., è impostata correttamente.
@lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
% Main voice
- c16 d e f
- % Voice "1" Voice "2" Voice "3"
+ c'16 d e f
+ % Voice = "1" Voice = "2" Voice = "3"
<< { g4 f e } \\ { r8 e4 d c8~ } >> |
<< { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
}
voce con i triangoli blu.
@lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
% Main voice
- c16 d e f
+ c'16 d e f
<< % Bar 1
{
\voiceOneStyle
nell'esempio) su croci magenta; @code{\voiceNeutralStyle} (anch'esso
non usato qui) riporta lo stile all'impostazione predefinita.
Vedremo in seguito come l'utente possa creare comandi simili.
-Si veda @ref{Visibility and color of objects} e
-@ref{Using variables for layout adjustments}.
+Si veda @ref{Visibilità e colore degli oggetti} e
+@ref{Uso delle variabili per modificare la formattazione}.
@cindex polifonia e modo relativo
@cindex modo relativo e polifonia
@c The following should appear as music without code
@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
- << % Voice one
- { c2 aes4. bes8 }
- \\ % Voice two
+ << % Prima voce
+ { c''2 aes4. bes8 }
+ \\ % Voce due
{
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn.ignore-collision = ##t
+ % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4
+ \once \override NoteColumn.force-hshift = #0
<ees, c>2
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No voice three
- \\ % Voice four
+ \\ % Nessuna terza voce
+ \\ % Quarta voce
{
\override NoteColumn.force-hshift = #0
aes'2 f4 fes
@c The following should appear as music without code
@c The three voice styles should be defined in -init
@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
- { % Voice one
+ { % Prima voce
\voiceOneStyle
- c2 aes4. bes8
+ c''2 aes4. bes8
}
- \\ % Voice two
+ \\ % Seconda voce
{ \voiceTwoStyle
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn.ignore-collision = ##t
+ % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4
+ \once \override NoteColumn.force-hshift = #0
<ees, c>2
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No Voice three (we want stems down)
- \\ % Voice four
+ \\ % Nessuna terza voce (vogliamo i gambi in giù)
+ \\ % Quarta voce
{ \voiceThreeStyle
\override NoteColumn.force-hshift = #0
aes'2 f4 fes
}
@end lilypond
-
Proviamo a scrivere il codice di questa musica da zero. Come
vedremo, questo pone alcune difficoltà. Come abbiamo imparato,
iniziamo usando il costrutto @code{<< \\ >>} per inserire la musica
della prima battuta in tre voci:
@lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
- { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
+ { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
>> |
<c ees aes c>1 |
}
paio di @code{\\}:
@lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<< % Voice one
- { c2 aes4. bes8 }
+ { c''2 aes4. bes8 }
\\ % Voice two
{ <ees, c>2 des }
\\ % Omit Voice three
a evitare le collisioni. LilyPond fornisce molti modi per aggiustare la collocazione
orizzontale delle note. Per ora, non siamo ancora pronti a cercare di
correggere questo problema, dunque dovremo aspettare fino a una
-prossima sezione -- si veda la proprietà @code{force-hshift} in @ref{Fixing
-overlapping notation}.
+prossima sezione -- si veda la proprietà @code{force-hshift} in
+@ref{Correggere la sovrapposizione di elementi della notazione}.
@warning{Il testo e gli @emph{spanner} (come le legature di portamento e di valore, le
forcelle, etc.) non possono essere create @q{attraverso} le voci.}
@translationof Explicitly instantiating voices
@funindex \voiceOne
-@funindex voiceOne
@funindex \voiceTwo
-@funindex voiceTwo
@funindex \voiceThree
-@funindex voiceThree
@funindex \voiceFour
-@funindex voiceFour
@funindex \oneVoice
-@funindex oneVoice
@funindex \new Voice
@cindex contesti della voce, creazione dei
@example
\new Staff @{
- \relative c' @{
- << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+ \relative @{
+ << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
@}
@}
@end example
@example
\new Staff <<
- \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
- \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+ \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
+ \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
>>
@end example
@c The following example should not display the code
@lilypond[ragged-right,quote]
\new Staff <<
- \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
- \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+ \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
+ \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
>>
@end lilypond
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
\voiceOne
- c4 d8~ 8 e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
\voiceTwo
- c4 d8~ 8 e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
c,4 d8~ 8 e4( f | g4 a) b-> c |
}
sì che sia possibile disegnare una legatura di frase sopra di esse.
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
\voiceOneStyle
% This section is homophonic
- c16^( d e f
+ c'16^( d e f
% Start simultaneous section of three voices
<<
% Continue the main voice in parallel
di scrivere lo spartito:
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- c16^( d e f
+\new Staff \relative {
+ c'16^( d e f
<<
{ g4 f e | d2 e) | }
\new Voice {
come nel seguente esempio:
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' <<
+\new Staff \relative <<
% Initiate first voice
\new Voice {
\voiceOne
- c16^( d e f g4 f e | d2 e) |
+ c'16^( d e f g4 f e | d2 e) |
}
% Initiate second voice
\new Voice {
@cindex note, collisioni di
@cindex comandi di spostamento
@funindex \shiftOff
-@funindex shiftOff
@funindex \shiftOn
-@funindex shiftOn
@funindex \shiftOnn
-@funindex shiftOnn
@funindex \shiftOnnn
-@funindex shiftOnnn
Le note maggiormente ravvicinate all'interno di un accordo o quelle che
compaiono nello stesso momento in voci diverse sono disposte in due, e
@code{\shiftOnn} e @code{\shiftOnnn} definiscono ulteriori livelli di
scarto che possono essere temporaneamente specificati per risolvere
-le collisioni in situazioni complesse -- si veda @ref{Real music example}.
+le collisioni in situazioni complesse -- si veda @ref{Esempio musicale}.
Una colonna di note può contenere soltanto una nota (o accordo) di una
voce con gambi in su e una nota (o accordo) di una voce con gambi in
giù. Se note di due voci che hanno i gambi nella stessa direzione
sono poste nella stessa posizione ed entrambe le voci non hanno uno
spostamento specificato oppure ne hanno uno dello stesso tipo, si
-produrrà il messaggio di errore @qq{Too many clashing note columns}.
+produrrà il messaggio di errore
+@qq{questa voce ha bisogno di un'impostazione @code{@bs{}\voiceXx} o @code{@bs{}\shiftXx}}.
@seealso
Manuale di apprendimento:
-@ref{Moving objects}.
+@ref{Spostare gli oggetti}.
Guida alla notazione: @ruser{Più voci}.
@funindex \new Lyrics
@funindex \lyricsto
-@funindex lyricsto
@funindex Lyrics
@cindex Lyrics, creazione di un contesto
@cindex testo, creazione di un contesto
@lilypond[quote,verbatim]
<<
\new Voice = "one" {
- \relative c'' {
+ \relative {
\autoBeamOff
\time 2/4
- c4 b8. a16 | g4. f8 | e4 d | c2 |
+ c''4 b8. a16 | g4. f8 | e4 d | c2 |
}
}
\new Lyrics \lyricsto "one" {
@cindex testo e travatura
@cindex travatura e testo
@funindex \autoBeamOff
-@funindex autoBeamOff
La disposizione automatica delle travature predefinita di LilyPond funziona
bene per la musica strumentale, ma non altrettanto per la musica con testi,
@funindex \new ChoirStaff
@funindex ChoirStaff
@funindex \lyricmode
-@funindex lyricmode
@cindex struttura di una partitura vocale
@cindex rigo per un coro
@lilypond[quote,verbatim]
global = { \key f \major \time 6/8 \partial 8 }
-SopOneMusic = \relative c'' {
- c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
+SopOneMusic = \relative {
+ c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
}
SopOneLyrics = \lyricmode {
Let | flee -- cy flocks the | hills a -- dorn, __
}
-SopTwoMusic = \relative c' {
- r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
+SopTwoMusic = \relative {
+ r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
}
SopTwoLyrics = \lyricmode {
Let | flee -- cy flocks the | hills a -- dorn,
@lilypond[quote,verbatim]
keyTime = { \key c \major \time 4/4 \partial 4 }
-SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 }
VerseOne =
\lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
@end lilypond
@seealso
-Guida alla notazione: @ruser{Vocal music}.
+Guida alla notazione: @ruser{Musica vocale}.
@node Contesti e incisori
nell'output. Ad esempio, si confrontino l'input e l'output del
seguente esempio:
-@lilypond[quote,verbatim,relative=2]
-cis4 cis2. | a4 a2. |
+@lilypond[quote,verbatim]
+\relative { cis''4 cis2. | a4 a2. | }
@end lilypond
L'input è alquanto essenziale, ma nell'output sono stati aggiunti stanghette,
@seealso
-Guida alla notazione: @ruser{Contexts explained}.
+Guida alla notazione: @ruser{Tutto sui contesti}.
@node Creare i contesti
@translationof Creating contexts
@funindex \new
-@funindex new
@cindex nuovi contesti
@cindex creazione di contesti
@cindex contesti, creazione di
di contesto, predefiniti per tutto lo spartito.. Le informazioni su come
usare i blocchi @code{\with} si trovano sotto il titolo
@qq{Setting context properties with @code{\\with} } in
-@ref{Modifying context properties}.)
+@ref{Modificare le proprietà di contesto}.)
@warning{@bs{}@code{new Score} non dovrebbe essere usato perché il fondamentale
contesto di livello superiore @code{Score} viene creato automaticamente quando
l'espressione musicale all'interno del blocco @bs{}@code{score} viene
interpretata. I valori predefiniti delle proprietà di contesto validi per tutta
la partitura possono essere modificati nel blocco @bs{}@code{layout}. Vedi
-@ref{Modifying context properties}}
+@ref{Modificare le proprietà di contesto}}
Nelle sezioni precedenti hai già visto molti esempi pratici della creazione
di nuovi contesti @code{Staff} e @code{Voice}, ma per ricordarti
\clef "treble"
\key g \minor
\new Voice { % create voice for RH notes
- \relative c'' { % start of RH notes
- d4 ees16 c8. |
+ \relative { % start of RH notes
+ d''4 ees16 c8. |
d4 ees16 c8. |
} % end of RH notes
} % end of RH voice
\key g \minor
\new Voice { % create LH voice one
\voiceOne
- \relative g { % start of LH voice one notes
+ \relative { % start of LH voice one notes
g8 <bes d> ees, <g c> |
g8 <bes d> ees, <g c> |
} % end of LH voice one notes
} % end of LH voice one
\new Voice { % create LH voice two
\voiceTwo
- \relative g { % start of LH voice two notes
+ \relative { % start of LH voice two notes
g4 ees |
g4 ees |
} % end of LH voice two notes
@seealso
-Guida alla notazione: @ruser{Creating and referencing contexts}.
+Guida alla notazione: @ruser{Creazione e citazione di un contesto}.
@node Gli incisori
@smallspace
-Vedremo in seguito come cambiare l'output di Lilypond
+Vedremo in seguito come cambiare l'output di LilyPond
modificando il comportamento degli incisori.
@cindex contesto, proprietà del, modificare
@cindex modificare le proprietà del contesto
@funindex \set
-@funindex set
@funindex \unset
-@funindex unset
I contesti si occupano di tenere i valori di un certo numero di
@emph{proprietà} del contesto. Molte di queste possono essere cambiate
@code{\set}. Questo assume la seguente forma
@example
-\set @emph{NomeDelContesto}.@emph{nomeDellaProprietà} = #@emph{valore}
+\set @emph{NomeContesto}.@emph{nomeProprietà} = #@emph{valore}
@end example
-Dove il @emph{NomeDelContesto} è di solito @code{Score},
+Dove il @emph{NomeContesto} è di solito @code{Score},
@code{Staff} o @code{Voice}. Può essere omesso, e in questo
caso viene considerato il contesto attuale (solitamente @code{Voice}).
-I nomi delle proprietà del contesto consistono in parole unite
-insieme e senza lineette o trattini bassi, e solo la prima
-parola inizia con una lettera maiuscola. Ecco alcuni esempi
+I nomi delle proprietà di contesto consistono in parole unite
+insieme e senza lineette o trattini bassi, e tutte le parole tranne
+la prima iniziano con una lettera maiuscola. Ecco alcuni esempi
di quelle più usate comunemente. Ma ne esistono molte altre.
@c attempt to force this onto a new page
@need 50
@multitable @columnfractions .25 .15 .45 .15
-@headitem nomeDellaProprietà
+@headitem nomeProprietà
@tab Tipo
@tab Funzione
@tab Valore di esempio
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Staff.instrumentName = #"Soprano"
- c2 c
+ c''2 c
}
- \new Staff \relative c' {
+ \new Staff \relative {
\set instrumentName = #"Alto" % Wrong!
- d2 d
+ d'2 d
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
- aeses2 aes
+ \new Staff \relative {
+ aeses'2 aes
}
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Staff.extraNatural = ##f
- aeses2 aes
+ aeses'2 aes
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
- aeses2 aes
+ \new Staff \relative {
+ aeses'2 aes
}
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Score.extraNatural = ##f
- aeses2 aes
+ aeses'2 aes
}
>>
@end lilypond
le altre cose) sulla dimensione delle teste delle note. La modifica è relativa
al valore predefinito, non all'ultimo valore impostato.
-@lilypond[quote,verbatim,ragged-right,relative=1]
-c4 d
-% make note heads smaller
-\set fontSize = #-4
-e4 f |
-% make note heads larger
-\set fontSize = #2.5
-g4 a
-% return to default size
-\unset fontSize
-b4 c |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ c'4 d
+ % make note heads smaller
+ \set fontSize = #-4
+ e4 f |
+ % make note heads larger
+ \set fontSize = #2.5
+ g4 a
+ % return to default size
+ \unset fontSize
+ b4 c |
+}
@end lilypond
Abbiamo visto come impostare i valori di diversi tipi di
@subsubheading Impostare le proprietà di contesto con @code{\with}
@funindex \with
-@funindex with
@cindex contesto, proprietà del, impostare con \with
Il valore predefinito delle proprietà di contesto possono essere impostate
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
\new Staff \with { extraNatural = ##f } {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
>>
@cindex contesto, proprietà del, impostare con \context
@funindex \context
-@funindex context
I valori delle proprietà di un contesto possono essere impostate in @emph{tutti}
i contesti di un particolare tipo, così come in tutti i contesti @code{Staff}, con un
@lilypond[verbatim,quote]
\score {
\new Staff {
- \relative c'' {
- cisis4 e d cis
+ \relative {
+ cisis''4 e d cis
}
}
\layout {
\score {
<<
\new Staff {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
\new Staff {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
>>
@seealso
Guida alla notazione:
-@ruser{Changing context default settings},
-@ruser{The set command}.
+@ruser{Modifica delle impostazioni predefinite di un contesto},
+@ruser{Il comando set}.
Guida al funzionamento interno:
@rinternals{Contexts},
@cindex rimuovere gli incisori
@funindex \consists
-@funindex consists
@funindex \remove
-@funindex remove
Abbiamo visto che ciascuno dei contesti contiene vari incisori, ognuno
dei quali ha il compito di produrre una parte specifica dell'output,
\new Staff \with {
\remove "Staff_symbol_engraver"
}
-\relative c' {
- c4 d
+\relative {
+ c'4 d
\set fontSize = #-4 % make note heads smaller
e4 f |
\set fontSize = #2.5 % make note heads larger
\new Voice \with {
\consists "Ambitus_engraver"
} {
- \relative c'' {
+ \relative {
\voiceOne
- c4 a b g
+ c''4 a b g
}
}
\new Voice {
- \relative c' {
+ \relative {
\voiceTwo
- c4 e d f
+ c'4 e d f
}
}
>>
}
<<
\new Voice {
- \relative c'' {
+ \relative {
\voiceOne
- c4 a b g
+ c''4 a b g
}
}
\new Voice {
- \relative c' {
+ \relative {
\voiceTwo
- c4 e d f
+ c'4 e d f
}
}
>>
@subsubheading Modificare tutti i contesti dello stesso tipo
@funindex \layout
-@funindex layout
Gli esempi precedenti mostrano come rimuovere o aggiungere degli incisori
a contesti individuali. È anche possibile rimuovere o aggiungere gli
\score {
<<
\new Staff {
- \relative c'' {
- c4 a b g
+ \relative {
+ c''4 a b g
}
}
\new Staff {
- \relative c' {
- c4 a b g
+ \relative {
+ c'4 a b g
}
}
\new Staff {
\clef "G_8"
- \relative c' {
- c4 a b g
+ \relative {
+ c'4 a b g
}
}
\new Staff {
\clef "bass"
- \relative c {
+ \relative {
c4 a b g
}
}
@code{\set} in un blocco @code{\context} nello stesso modo.
@seealso
-Guida alla notazione: @ruser{Modifying context plug-ins},
-@ruser{Changing context default settings}.
+Guida alla notazione: @ruser{Modifica dei componenti aggiuntivi di un contesto},
+@ruser{Modifica delle impostazioni predefinite di un contesto}.
@knownissues
Gli incisori @code{Stem_engraver} e @code{Beam_engraver} fissano i propri
Hai letto il tutorial, sai come scrivere la musica, comprendi
i concetti fondamentali. Ma come puoi ottenere i
pentagrammi che desideri? Puoi trovare molti
-modelli (vedi @ref{Templates}) da cui partire.
+modelli (vedi @ref{Modelli}) da cui partire.
Ma se ti serve qualcosa che non è presente lì? Continua a leggere.
@menu
@example
\version @w{"@version{}"}
-melodia = \relative c' @{
+melodia = \relative @{
\clef "treble"
\key c \major
\time 4/4
@example
\version @w{"@version{}"}
-melodia = \relative c' @{
+melodia = \relative @{
\clef "treble"
\key c \major
\time 4/4
@example
\version @w{"@version{}"}
-musicaSoprano = \relative c' @{
+musicaSoprano = \relative @{
\clef "treble"
\key c \major
\time 4/4
Aaa Bee Cee Dee
@}
-musicaVioloncello = \relative c @{
+musicaVioloncello = \relative @{
\clef "bass"
\key c \major
\time 4/4
e violoncello.
@lilypond[quote,verbatim,ragged-right,addversion]
-musicaSoprano = \relative c' {
+musicaSoprano = \relative {
\clef "treble"
\key c \major
\time 4/4
Aaa Bee Cee Dee
}
-musicaVioloncello = \relative c {
+musicaVioloncello = \relative {
\clef "bass"
\key c \major
\time 4/4
@seealso
I modelli da cui partire si trovano nell'appendice @q{Modelli},
-si veda @ref{Single staff templates}.
+si veda @ref{Modelli per rigo singolo}.
@node Partitura vocale a quattro parti SATB
@lilypond[quote,ragged-right]
global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
\clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+ r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
Wor -- thy | is the lamb | that was slain |
}
-altoMusic = \relative a' {
+altoMusic = \relative {
\clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+ r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
}
altoWords = \sopranoWords
-tenorMusic = \relative c' {
+tenorMusic = \relative {
\clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+ r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
-bassMusic = \relative c' {
+bassMusic = \relative {
\clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+ r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
-upper = \relative a' {
+upper = \relative {
\clef "treble"
\global
- r4 <a d fis>2 <a e' a>4 |
+ r4 <a' d fis>2 <a e' a>4 |
<d fis d'>4. <d fis d'>8 <a d a'>2 |
<g cis g'>4 <a d fis> <a cis e>2 |
}
-lower = \relative c, {
+lower = \relative {
\clef "bass"
\global
- <d d'>4 <d d'>2 <cis cis'>4 |
+ <d, d'>4 <d d'>2 <cis cis'>4 |
<b b'>4. <b' b'>8 <fis fis'>2 |
<e e'>4 <d d'> <a' a'>2 |
}
}
@end lilypond
-Nessun modello fornisce esattamente questo assetto. Quello più simile
-è @q{Partitura vocale SATB e riduzione automatica per pianoforte}, ma
+@warning{Questa struttura può essere ottenuta facilmente usando il modello
+integrato @code{satb.ly}, descritto in @ref{Modelli integrati}. Ma per
+facilità d'uso tale modello nasconde deliberatamente la necessaria struttura
+dei contesti, dato che la fornisce automaticamente. Dunque a scopo di
+apprendimento vediamo come costruire questa struttura da zero. Potresti
+aver bisogno di far ciò se il modello integrato non soddisfa le tue
+necessità.}
+
+Il modello @qq{copia e modifica} più simile a questa struttura
+è @ref{Partitura vocale SATB e automatica riduzione per pianoforte}, ma
abbiamo bisogno di modificare l'assetto e aggiungere
un accompagnamento per pianoforte che non sia derivato automaticamente dalle
parti vocali. Le variabili che si riferiscono alla musica e alle parole per
@lilypond[quote,verbatim,ragged-right,addversion]
global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
\clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+ r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
Wor -- thy | is the lamb | that was slain |
}
-altoMusic = \relative a' {
+altoMusic = \relative {
\clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+ r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
}
altoWords = \sopranoWords
-tenorMusic = \relative c' {
+tenorMusic = \relative {
\clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+ r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
-bassMusic = \relative c' {
+bassMusic = \relative {
\clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+ r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
-upper = \relative a' {
+upper = \relative {
\clef "treble"
\global
- r4 <a d fis>2 <a e' a>4 |
+ r4 <a' d fis>2 <a e' a>4 |
<d fis d'>4. <d fis d'>8 <a d a'>2 |
<g cis g'>4 <a d fis> <a cis e>2 |
}
-lower = \relative c, {
+lower = \relative {
\clef "bass"
\global
- <d d'>4 <d d'>2 <cis cis'>4 |
+ <d, d'>4 <d d'>2 <cis cis'>4 |
<b b'>4. <b' b'>8 <fis fis'>2 |
<e e'>4 <d d'> <a' a'>2 |
}
(gli oggetti grafici vengono comunemente chiamati @q{grob} nella documentazione
di lilypond) -- non preoccuparti dei dettagli in questo momento; in seguito
verrà fornita una spiegazione approfondita. I curiosi possono dare
-un'occhiata a @ruser{Overview of modifying properties}.
+un'occhiata a @ruser{Panoramica sulla modifica delle proprietà}.
In questo caso, vogliamo modificare soltanto la sottoproprietà
@code{allungabilità}. Di nuovo, chi è curioso può trovare i valori predefiniti
per la proprietà staff-staff-spacing nel file @file{scm/define-grobs.scm}
composer = "J S Bach"
}
keyTime = { \key c \minor \time 4/4 }
-ManualOneVoiceOneMusic = \relative g' {
- g4 g f ees |
+ManualOneVoiceOneMusic = \relative {
+ g'4 g f ees |
d2 c |
}
-ManualOneVoiceTwoMusic = \relative c' {
- ees16 d ees8~ 16 f ees d c8 d~ d c~ |
+ManualOneVoiceTwoMusic = \relative {
+ ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
8 c4 b8 c8. g16 c b c d |
}
-ManualTwoMusic = \relative c' {
- c16 b c8~ 16 b c g a8 g~ 16 g aes ees |
+ManualTwoMusic = \relative {
+ c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
f16 ees f d g aes g f ees d ees8~ 16 f ees d |
}
-PedalOrganMusic = \relative c {
+PedalOrganMusic = \relative {
r8 c16 d ees d ees8~ 16 a, b g c b c8 |
r16 g ees f g f g8 c,2 |
}
Finora hai visto questo tipo di cose:
@lilypond[quote,verbatim,ragged-right]
-hornNotes = \relative c'' { c4 b dis c }
+hornNotes = \relative { c''4 b dis c }
\score {
{
\hornNotes
Potresti anche essere accorto che questo può essere utile nella musica minimalista:
@lilypond[quote,verbatim,ragged-right]
-fragmentA = \relative c'' { a4 a8. b16 }
-fragmentB = \relative c'' { a8. gis16 ees4 }
+fragmentA = \relative { a'4 a8. b16 }
+fragmentB = \relative { a'8. gis16 ees4 }
violin = \new Staff {
\fragmentA \fragmentA |
Tuttavia, puoi usare queste variabili (note anche come
macro, o comandi definiti dall'utente) anche per le modifiche manuali:
-@c TODO Avoid padtext - not needed with skylining
@lilypond[quote,verbatim,ragged-right]
dolce = \markup { \italic \bold dolce }
-padText = { \once \override TextScript.padding = #5.0 }
+centreText = { \once \override TextScript.self-alignment-X = #CENTER }
+
fthenp =_\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
-violin = \relative c'' {
+violin = \relative {
\repeat volta 2 {
- c4._\dolce b8 a8 g a b |
- \padText
- c4.^"hi there!" d8 e' f g d |
- c,4.\fthenp b8 c4 c-. |
+ c''4._\dolce b8 a8 g a b |
+ \centreText
+ c4.^"hi there!" d8 e f g d |
+ c4.\fthenp b8 c4 c-. |
}
}
{
\violin
}
- \layout { ragged-right = ##t }
}
@end lilypond
soprattutto l'ultima linea.
@example
-violin = \relative c'' @{
+violin = \relative @{
\repeat volta 2 @{
- c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
- \once \override TextScript.padding = #5.0
+ c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
+ \once \override TextScript.self-alignment-X = #CENTER
c4.^"hi there!" d8 e' f g d |
c,4.\markup @{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
@}
@end example
-@c TODO Replace the following with a better example -td
-@c Skylining handles this correctly without padText
-
Finora abbiamo visto la sostituzione statica -- quando LilyPond
-vede @code{\padText}, lo sostituisce con quel che noi abbiamo
+vede @code{\centreText}, lo sostituisce con quel che noi abbiamo
definito che sia (ovvero tutto ciò che sta a destra di
-@code{padtext=}).
+@code{centreText=}).
LilyPond può gestire anche la sostituzione non statica (la puoi
immaginare come una funzione).
@lilypond[quote,verbatim,ragged-right]
padText =
#(define-music-function
- (parser location padding)
+ (padding)
(number?)
#{
\once \override TextScript.padding = #padding
#})
-\relative c''' {
- c4^"piu mosso" b a b |
+\relative {
+ c'''4^"piu mosso" b a b |
\padText #1.8
c4^"piu mosso" d e f |
\padText #2.6
la sintassi di input di LilyPond cambia (vedi
@rprogram{Aggiornare i file con convert-ly}). Se si ha un'unica
definizione (come @code{\dolce}) per tutti i file di input
-(vedi @ref{Style sheets}), allora se la sintassi cambia bisogna
+(vedi @ref{Fogli di stile}), allora se la sintassi cambia bisogna
aggiornare soltanto la singola definizione @code{\dolce},
invece di dover modificare tutti i file @file{.ly}.
di un duetto per corno e fagotto
@example
-hornNotes = \relative c @{
+hornNotes = \relative @{
\time 2/4
r4 f8 a | cis4 f | e4 d |
@}
nel seguente output
@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\transpose f c' \relative {
\time 2/4
r4 f8 a | cis4 f | e4 d |
}
@end example
Quando la parte viene stampata, le pause multiple devono essere
-condensate. Si può fare impostando una variabile run-time
+compresse. Esiste una funzione musicale per fare ciò:
@example
-\set Score.skipBars = ##t
+\compressMMRests @{ ... @}
@end example
-@noindent
-Questo comando imposta la proprietà @code{skipBars} nel contesto
-@code{Score} su vero (@code{##t}). Aggiungendo la pausa e questa
-opzione alla musica precedente, si arriva al seguente risultato
+Applicandola a @code{hornNotes} si ottiene:
@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\compressMMRests \transpose f c' \relative {
\time 2/4
- \set Score.skipBars = ##t
R2*3 |
r4 f8 a | cis4 f | e4 d |
}
ovvero
@lilypond[quote,ragged-right]
-\relative c <<
+\relative <<
\new Staff {
\clef "treble"
\time 2/4
>>
@end lilypond
+@seealso
+Manuale di apprendimento:
+@ref{Organizzare i brani con le variabili}.
+
+Guida alla notazione:
+@ruser{Trasposizione},
+@ruser{Scrittura delle parti},
+@ruser{Pause d'intero},
+@ruser{Inclusione di file LilyPond}.