@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 11cf358d3e89f42616c4361fc3203add5662cf4e
+ Translation of GIT committish: 8451fc41680f500fff56f826017b53dc3dcbf65d
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.17.29"
+@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
@}
@}
@}
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
che si trova dentro un blocco @code{\score} riguarda solo quel blocco
@code{\score}, mentre un blocco @code{\layout} che si trova fuori da un
blocco @code{\score} (e quindi in un blocco @code{\book}, esplicitamente
-o implicitamente) riguraderà ogni @code{\score} in quel @code{\book}.
+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
Un'altra grande scorciatoia è la possibilità di definire variabili, come è
-spiegato in @ref{Organizzare i brani con le variabili}). Tutti
+spiegato in @ref{Organizing pieces with variables}). Tutti
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
@cindex composta, espressione musicale
Abbiamo visto l'organizzazione generale dei file di input di LilyPond nella
-sezione precedente, @ref{Introduzione alla struttura di un file di LilyPond}.
+sezione precedente, @ref{Introduction to the LilyPond file structure}.
Ma sembra che abbiamo saltato la parte più importante: cosa dobbiamo
scrivere dopo @code{\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 inzieremo 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{Music expressions explained}. 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 @{
avere una voce con del testo, dunque ci servono le parentesi ad angolo. Aggiungeremo
la musica vera e propria in seguito; per adesso mettiamo soltanto delle semplici
note e del testo. Se hai dimenticato come aggiungere del testo, potresti voler
-ripassare @code{\addlyrics} in @ref{Impostare canzoni semplici}.
+ripassare @code{\addlyrics} in @ref{Setting simple songs}.
@lilypond[verbatim,quote,ragged-right]
\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 }
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~ g2 } \\ { s4 b c2 } >> |
+ << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
}
@end lilypond
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
{ d2 e }
\\
% Voice 2 continues
- { c8 b16 a b8 g~ g2 }
+ { c8 b16 a b8 g~ 2 }
\\
{
\voiceThreeStyle
@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{Fixing overlapping notation}.
@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
@lilypond[quote,ragged-right,verbatim]
\relative c'{
% Default behavior or behavior after \oneVoice
- c4 d8~ d e4( f | g4 a) b-> c |
+ c4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
\voiceOne
- c4 d8~ d e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
- c,4 d8~ d e4( f | g4 a) b-> c |
+ c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
\voiceTwo
- c4 d8~ d e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
- c,4 d8~ d e4( f | g4 a) b-> c |
+ c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
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
\new Voice {
% Set stems, etc., down
\voiceTwo
- r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
+ r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
}
% Initiate third voice
\new Voice {
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 {
\voiceTwo
r8 e4 d c8~ |
<<
- { c8 b16 a b8 g~ g2 | }
+ { c8 b16 a b8 g~ 2 | }
\new Voice {
\voiceThree
s4 b c2 |
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 {
% Set stems, etc, down
\voiceTwo
- s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
+ s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
}
% Initiate third 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
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}.
+
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.~ c4
+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,
All'interno di LilyPond, queste regole e pezzi di informazione sono raggruppati
nei @emph{Contesti}. Abbiamo già presentato il contesto @code{Voice}.
Altri contesti sono @code{Staff} e @code{Score}. I contesti sono strutturati
-gerarchicicamente per riflettere la natura gerarchica di una partitura musicale.
+gerarchicamente per riflettere la natura gerarchica di una partitura musicale.
Ad esempio: un contesto @code{Staff} può contenere molti contesti @code{Voice},
e un contesto @code{Score} può contenere molti contesti @code{Staff}.
@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
\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
ovvero @code{\new Staff = "MioPentagramma 1" @var{espressione-musicale}}.
Il nome identificativo viene utilizzato per riportare a quel
particolare esempio di un contesto. Abbiamo visto questo utilizzo
-nella sezione sul testo, si veda @ref{Voci e musica vocale}.
+nella sezione sul testo, si veda @ref{Voices and vocals}.
@seealso
-Guida alla notazione: @ruser{Creating and referencing contexts}.
+Guida alla notazione: @ruser{Creazione e citazione di un contesto}.
@node Gli 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
@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
@noindent
L'aspetto è un po' confuso; l'indentazione non è pulita. Ma si
-può correggere facilmente. Ecco il template completo per soprano
+può correggere facilmente. Ecco il modello completo per soprano
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
@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{Built-in templates}. 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{SATB vocal score and automatic piano reduction}, 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~ ees16 f ees d c8 d~ d c~ |
- c8 c4 b8 c8. g16 c b c d |
+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~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d ees8~ ees16 f ees d |
+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 {
- r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+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
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{Organizing pieces with variables}.
+
+Guida alla notazione:
+@ruser{Trasposizione},
+@ruser{Scrittura delle parti},
+@ruser{Pause d'intero},
+@ruser{Inclusione di file LilyPond}.