@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-

@ignore
    Translation of GIT committish: 4c4cff796e86152e97321aa7934ff785f6c5012d

    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.21"

@node Tutorial
@chapter Tutorial

Questo capitolo fornisce un'introduzione di base all'uso di LilyPond.


@node Compiling a file
@section Compilare un file

@cindex compilazione
@cindex esempio iniziale
@cindex maiuscole, sensibile alle
@cindex sensibile alle maiuscole

@qq{Compilazione} è il termine usato per indicare l'elaborazione di un
file di input in formato LilyPond per produrre uno o più file di output.  I
file di output generalmente sono PDF (per la stampa e la visualizzazione),
MIDI (per la riproduzione audio) e PNG (per l'utilizzo online).  I file di
input di LilyPond sono semplici file di testo.

Questo esempio mostra un semplice file di input:

@example
\version "@w{@version{}}"
@{
  c' e' g' e'
@}
@end example

@noindent
L'output grafico è:

@c No 'verbatim' option here.
@lilypond[quote]
{
  c' e' g' e'
}
@end lilypond

@warning{Le note e i testi nel file LilyPond devono essere sempre
scritti tra @w{@strong{@{ parentesi graffe @}}}.  Per evitare ambiguità, le
parentesi dovrebbero essere delimitate da degli spazi, a meno che non si
trovino all'inizio o alla fine di una linea.  Può darsi che in alcuni esempi
di questo manuale le parentesi verranno omesse, ma non dimenticarle
nella tua musica! Per maggiori informazioni sull'aspetto degli esempi
nel manuale, si veda @ref{How to read the manuals}.}

Inoltre, l'input di LilyPond è @strong{sensibile alle maiuscole}.
@w{@samp{@{ c d e @}}} è un input valido; @w{@samp{@{ C D E @}}} invece
produce un messaggio di errore.



@node How to write input files
@section Come scrivere i file di input

Questa sezione introduce le basi della sintassi di LilyPond e ha l'obiettivo
di aiutarti ad iniziare a scrivere i file di input.


@node Simple notation
@subsection Notazione semplice

@cindex notazione semplice
@cindex notazione, semplice

LilyPond aggiunge automaticamente alcuni elementi della notazione.  Nell'esempio
seguente, abbiamo specificato soltanto quattro note, ma LilyPond
ha aggiunto una chiave, il tempo e le durate.

@lilypond[verbatim,quote]
{
  c' e' g' e'
}
@end lilypond

@noindent
Questo comportamento può essere modificato, ma nella maggior parte dei
casi questi valori automatici sono utili.


@node Pitches
@unnumberedsubsubsec Altezze

@cindex altezze
@cindex modo relativo
@cindex apostrofo
@cindex virgola
@cindex alterazioni e modo relativo
@cindex modo relativo, e alterazioni

@funindex \relative
@funindex '
@funindex ,

Glossario musicale: @rglosnamed{pitch,altezza}, @rglosnamed{interval,intervallo},
@rglosnamed{scale,scala}, @rglosnamed{middle C,Do centrale}, @rglosnamed{octave,ottava},
@rglosnamed{accidental,alterazione}.

LilyPond usa lettere minuscole per indicare le altezze. I nomi delle note
in tutti gli esempi di questa sezione usano il sistema di denominazione
olandese (tasti bianchi del pianoforte sono c, d, e, f, g, a,@tie{}b).  Tuttavia
LilyPond supporta molti schemi di denominazione diversi come l'@qq{inglese}
o il @qq{Do fisso} (do, re, mi, @dots{}).  Vedi @rnotationnamed{Note names in other languages, Nomi delle note in altre lingue}.
Le lettere da @samp{c} a@tie{}@samp{b} denotano le altezze nella
@qq{piccola ottava} sotto il @notation{Do centrale}.  L'aggiunta dei
suffissi @samp{'} o @samp{,} indica ottave più alte o più basse.
Ecco una scala che inizia con un @notation{Do centrale}, e un arpeggio:

@lilypond[verbatim,quote]
{ c' d' e' f' g' a' b' c'' g c' e' g' c'' e'' g'' c''' }
@end lilypond

Il modo più semplice per inserire le note è usare il modo @code{\relative}
(relativo). In questo modo, l'ottava viene scelta automaticamente in
base al principio per cui la nota che segue deve essere posizionata vicino
a quella precedente, ovvero deve essere posizionata nell'ottava che si trova
entro tre spazi di pentagramma dalla nota precedente.  Per iniziare, scriveremo
il pezzo musicale più elementare, una @notation{scala}, in cui ogni nota
si trova entro una distanza di appena uno spazio di pentagramma dalla nota precedente.

@lilypond[verbatim,quote]
\relative {
  c' d e f
  g a b c
}
@end lilypond

La nota iniziale è un @notation{Do centrale}, specificato da @code{c'}.  Ogni
nota successiva viene posta il più vicino possibile alla nota precedente -- in
altre parole, la prima @samp{c} è il Do più vicino al Do@tie{}centrale.  Questo è
seguito dal Re più vicino alla nota precedente.  Possiamo creare melodie che
hanno intervalli più ampi, sempre usando soltanto il modo relativo:

@lilypond[verbatim,quote]
\relative {
  d' f a g
  c b f d
}
@end lilypond

@noindent
Nell'esempio precedente, la prima nota -- il @code{d'} con un segno @samp{'} -- è
il Re nell'ottava che inizia dal Do centrale e va su fino al Si.

Se si aggiungono (o si rimuovono) apostrofi (@samp{'}) o virgole (@samp{,}) dalla
prima nota, possiamo cambiare l'ottava di partenza:

@lilypond[verbatim,quote]
\relative {
  e'' c a c
}
@end lilypond

Il modo relativo all'inizio può apparire disorientante, ma è il sistema più
semplice per inserire gran parte delle melodie.  Vediamo come questo calcolo
relativo funziona in pratica.  Se si parte da un Si, che si trova sulla linea
centrale in chiave di violino, si possono raggiungere un Do, un Re e un Mi
entro 3 spazi di pentagramma andando in su, e un La, un Sol e un Fa entro 3
spazi di pentagramma andando in giù.  Quindi se la nota che segue il Si è
un Do, un Re o un Mi, si troverà sopra il Si, mentre il La, il Sol
o il Fa si troveranno sotto.

@lilypond[verbatim,quote]
\relative {
  b' c  % c (Do) è uno spazio rigo sopra, quindi è il Do sopra
  b d   % d (Re) è sopra di 2 o sotto di 5, quindi è il Re sopra
  b e   % e (Mi) è sopra di 3 o sotto di 4, quindi è il Mi sopra
  b a   % a (La) è sopra di 6 o sotto di 1, quindi è il La sotto
  b g   % g (Sol) è sopra di 5 o sotto di 2, quindi è il Sol sotto
  b f   % f (Fa) è sopra di 4 o sotto di 3, quindi è il Fa sotto
}
@end lilypond

Accade esattamente lo stesso quando qualcuna di queste note ha un
diesis o un bemolle.  Le @notation{alterazioni} sono
@strong{completamente ignorate} nel calcolo della posizione relativa.
Viene fatto lo stesso conteggio dello spazio del pentagramma da
una nota in una qualsiasi altra posizione sul pentagramma.

Per inserire intervalli che sono più ampi di tre spazi di pentagramma, si può
alzare l'@notation{ottava} aggiungendo al nome della nota una virgoletta
ad apice singolo @samp{'} (o apostrofo).  Si può abbassare l'ottava
aggiungendo al nome della nota una virgola @samp{,}.

@lilypond[verbatim,quote]
\relative {
  a' a, c' f,
  g g'' a,, f'
}
@end lilypond

@noindent
Per cambiare una nota di due (o più!) ottave, si usano multipli di
@code{''} o @code{,,} -- ma stai attento a usare due virgolette ad
apici semplici @code{''} e non quelle a doppi apici @samp{"}!
@c " - keeps quotes in order for context-sensitive editor -td

@node Duration (rhythms)
@unnumberedsubsubsec Durate (ritmi)

@cindex durate della nota
@cindex durate
@cindex ritmi
@cindex semibreve
@cindex minima
@cindex semiminima
@cindex nota puntata
@cindex notazione delle durate

Glossario musicale: @rglosnamed{beam,coda}, @rglosnamed{duration,durata},
@rglosnamed{whole note,semibreve}, @rglosnamed{half note,minima}, @rglosnamed{quarter note,semiminima},
@rglosnamed{dotted note,nota puntata}.

La @notation{durata} di una nota viene indicata da un numero che segue
il nome della nota:  @samp{1} per una @notation{semibreve}, @samp{2} per
una @notation{minima}, @samp{4} per una @notation{semiminima} e
così via.  Le @notation{code} vengono aggiunte in automatico.

Se non si specifica una durata, si usa la durata precedente anche
per la nota successiva.  La durata predefinita della prima nota è di un
quarto.

@lilypond[verbatim,quote]
\relative {
  a'1
  a2 a4 a8 a
  a16 a a a a32 a a a a64 a a a a a a a a2
}
@end lilypond

Per creare @notation{note puntate}, aggiungere un punto @samp{.} al
numero di durata.  La durata di una nota puntata deve essere dichiarata
esplicitamente (cioè con un numero).

@lilypond[verbatim,quote]
\relative {
  a' a a4. a8
  a8. a16 a a8. a8 a4.
}
@end lilypond


@node Rests
@unnumberedsubsubsec Pause

@cindex pausa
@cindex notazione delle pause

Glossario musicale: @rglosnamed{rest,pausa}.

Una @notation{pausa} viene inserita proprio come una nota ma col nome
@samp{r}.

@lilypond[verbatim,quote]
\relative {
  a'4 r r2
  r8 a r4 r4. r8
}
@end lilypond


@node Time signature
@unnumberedsubsubsec Indicazione di tempo

@cindex tempo, indicazione di

@funindex \time

Glossario musicale: @rglosnamed{time signature,indicazione di tempo}.

Il @notation{tempo} si imposta con il comando @code{\time}:

@lilypond[verbatim,quote]
\relative {
  \time 3/4
  a'4 a a
  \time 6/8
  a4. a
  \time 4/4
  a4 a a a
}
@end lilypond

@node Tempo marks
@unnumberedsubsubsec Indicazioni di tempo

@cindex indicazioni di tempo
@cindex indicazioni metronomiche

@funindex \tempo

Glossario musicale: @rglosnamed{tempo indication,indicazione di tempo},
@rglosnamed{metronome,metronomo}.

L' @notation{indicazione di tempo} e l' @notation{indicazione metronomica} si
impostano col comando @code{\tempo}:

@lilypond[verbatim,quote]
\relative {
  \time 3/4
  \tempo "Andante"
  a'4 a a
  \time 6/8
  \tempo 4. = 96
  a4. a
  \time 4/4
  \tempo  "Presto" 4 = 120
  a4 a a a
}
@end lilypond


@node Clef
@unnumberedsubsubsec Chiave

@cindex chiave
@cindex chiave di violino
@cindex contralto
@cindex tenore
@cindex basso

@funindex \clef

Glossario musicale: @rglosnamed{clef,chiave}.

La @notation{chiave} si imposta con il comando @code{\clef}:

@lilypond[verbatim,quote]
\relative {
  \clef treble
  c'1
  \clef alto
  c1
  \clef tenor
  c1
  \clef bass
  c1
}
@end lilypond


@node All together
@unnumberedsubsubsec Tutto insieme

Ecco un piccolo esempio che mostra tutti questi elementi insieme:

@lilypond[verbatim,quote]
\relative {
  \clef bass
  \time 3/4
  \tempo "Andante" 4 = 120
  c,2 e8 c'
  g'2.
  f4 e d
  c4 c, r
}
@end lilypond


@morerefs
Guida alla notazione: @rnotationnamed{Writing pitches, Inserimento delle altezze},
@rnotationnamed{Writing rhythms, Inserimento delle durate}, @rnotationnamed{Writing rests, Inserimento delle pause},
@rnotationnamed{Time signature, Indicazione di tempo}, @rnotationnamed{Clef, Chiave}.
@endmorerefs


@node Working on input files
@subsection Lavorare sui file di input

@cindex parentesi graffe
@cindex graffe, parentesi
@cindex commenti
@cindex commento di linea
@cindex linea, commento di
@cindex commento di blocco
@cindex blocco, commento di
@cindex sensibile alle maiuscole
@cindex insensibile agli spazi
@cindex espressioni
@cindex versionamento
@cindex versione
@cindex numero di versione

@funindex \version
@funindex @{ ... @}
@funindexpre %
@funindex %@{ ... %@}

I file di input di LilyPond sono simili ai file sorgenti di molti comuni
linguaggi di programmazione.  Contengono una dichiarazione di versione, sono
sensibili alle maiuscole, e in generale gli spazi bianchi vengono ignorati.  Le
espressioni musicali si formano con parentesi graffe @w{@code{@{ @}}}, e i commenti
sono indicati con @samp{%} o @w{@samp{%@{ @dots{} %@}}}.

Se le frasi precedenti ti sembrano assurde, non preoccuparti!  Ora spieghiamo
cosa significano tutti questi termini.

@itemize

@item
@strong{Dichiarazione di versione}:
Ogni file LilyPond deve contenere una dichiarazione di versione.  Una
dichiarazione di versione è una linea che indica la versione di LilyPond per la
quale il file è stato scritto, come nel seguente esempio:

@example
\version "@version{}"
@end example

Per convenzione, la dichiarazione di versione viene posta all'inizio del file
LilyPond.

La dichiarazione di versione è importante per almeno due ragioni.  Primo,
permette l'aggiornamento automatico del file di input via via che la
sintassi di LilyPond cambia.  Secondo, indica la versione di LilyPond richiesta
per compilare il file.

Se la dichiarazione di versione è omessa dal file di input, LilyPond mostra
un avvertimento durante la compilazione del file.

@item
@strong{Sensibile alle maiuscole}:
distingue tra lettere in minuscolo (es:
@samp{a}, @samp{b}, @samp{s}, @samp{t}) o in maiuscolo (es: @samp{A},
@samp{B}, @samp{S}, @samp{T}).
Le note sono in minuscolo: @samp{@{@tie{}c d e@tie{}@}} è un input valido;
@samp{@{@tie{}C D E@tie{}@}} produce un messaggio di errore.

@item
@strong{Insensibile agli spazi}:
non importa quanti spazi (o tabulazioni o nuove linee) aggiungi.

@example
@{ c4 d e@}
@end example

@noindent

ha lo stesso significato di

@example
@{ c4       d e @}
@end example

@noindent
o

@example
@{ c4                       d
                   e   @}
@end example

@noindent
Certo, l'esempio precedente è scomodo da leggere.  Una buona regola
pratica è indentare i blocchi di codice con una tabulazione o due spazi:

@example
@{
  c4 d e
@}
@end example

Tuttavia, uno spazio bianco @emph{è} necessario per separare molti elementi
sintattici gli uni dagli altri.  In altre parole, lo spazio bianco può essere
@emph{aggiunto}, ma non può essere @emph{eliminato}.  Dal momento che uno
spazio bianco mancante può dare adito a strani errori, si consiglia di
inserire sempre uno spazio bianco prima e dopo ogni elemento sintattico,
ad esempio, prima e dopo ogni parentesi graffa.

@item
@strong{Espressioni}:
ogni parte dell'input di LilyPond deve avere @strong{@{@tie{}parentesi graffe@tie{}@}}
intorno.  Queste parentesi dicono a LilyPond che l'input costituisce
un'espressione musicale singola, proprio come le parentesi @qq{()} in
matematica.  Per evitare ambiguità, le parentesi dovrebbero essere
racchiuse tra spazi, a meno che non si trovino all'inizio o alla fine di una linea.

Anche un comando di LilyPond seguito da un'espressione semplice in
parentesi (come @samp{\relative @{ @dots{}@tie{}@}}) conta come
un'espressione musicale singola.

@cindex commenti
@cindex commento di linea
@cindex commento di blocco
@item
@strong{Commenti}:
un commento è un appunto per il lettore umano dell'input musicale; viene
ignorato quando l'input viene analizzato, dunque non ha alcun effetto
sull'output finale.  Ci sono due tipi di commenti.  Il simbolo di percentuale
@samp{%} introduce un commento di linea; tutto quello che sta dopo @samp{%}
su quella linea verrà ignorato.  Per convenzione, un commento di linea viene
posto @emph{sopra} il codice a cui si riferisce.

@example
a4 a a a
% questo commento si riferisce alla prossima riga coi due Si (b)
b2 b
@end example

Un commento di blocco segna come commento un'intera sezione di input musicale.
Tutto ciò che è compreso tra @code{%@{} e @code{%@}} viene ignorato.
Tuttavia, i commenti di blocco non si @qq{annidano}.  Ovvero non si può
inserire un commento di blocco dentro a un altro commento di blocco.  Se
si prova, il primo @code{%@}} interromperà @emph{entrambi} i commenti di
blocco.  Il seguente frammento mostra gli usi possibili per i commenti.

@example
% ecco le note di "Ah! Vous dirai-je, Maman"
  c4 c g' g a a g2

%@{
  Questa linea e le note sotto vengono ignorate,
  perché si trovano in un commento di blocco.

  f4 f e e d d c2
%@}
@end example

@end itemize


@node Dealing with errors
@section Gestire gli errori

@cindex risoluzione dei problemi

Talvolta LilyPond non genera l'output desiderato.  Questa
sezione fornisce alcuni collegamenti che possono aiutare a risolvere i
problemi che si potranno incontrare.


@node General troubleshooting tips
@subsection Consigli generali per la risoluzione dei problemi

La risoluzione dei problemi in LilyPond può essere un compito impegnativo
per le persone abituate a un'interfaccia grafica, perché può capitare di
creare dei file di input non validi.  Quando questo accade, un approccio logico
è il modo migliore per identificare e risolvere il problema.  Alcune linee guida
che aiutano ad acquisire questa capacità si trovano in @rprogramnamed{Troubleshooting, Risoluzione dei problemi}.


@node Some common errors
@subsection Alcuni errori comuni

@cindex errori comuni

Ci sono alcuni errori comuni che sono difficili da risolvere basandosi
soltanto sui messaggi di errore che compaiono.  Questi sono
descritti in @rprogramnamed{Common errors, Errori comuni}.


@node How to read the manuals
@section Come leggere i manuali

Questa sezione spiega come leggere la documentazione in modo efficiente e
introduce alcune utili funzionalità interattive che sono disponibili
nella versione online della documentazione.


@node Omitted material
@subsection Materiale omesso

@cindex come leggere il manuale
@cindex manuale, leggere
@cindex leggere il manuale
@cindex cliccabili, esempi
@cindex esempi cliccabili
@cindex consigli su come costruire i file
@cindex modelli
@cindex costruire i file, consigli
@cindex file, consigli per costruirli

L'input di LilyPond deve essere compreso dai segni @code{@{@tie{}@}} o da
@q{@code{\relative @{ @dots{}@tie{}@}}} (@pxref{Working on input files}).
Nel resto di questo manuale alcuni esempi brevi omettono questi segni.  Per
replicare questi esempi, puoi copiare l'input mostrato e incollarlo tra @samp{@{}
e @samp{@}} nel tuo file di input:

@example
@{
  @dots{}inserire qui l'esempio@dots{}
@}
@end example

Ricorda che i file LilyPond devono avere una dichiarazione di
versione (@code{\version}).  Nei manuali la dichiarazione è omessa
perché gli esempi sono frammenti di codice e non file completi.
Ma dovresti prendere l'abitudine di includerla nei tuoi file.

@node Clickable examples
@subsection Esempi cliccabili

@warning{Queste funzionalità sono disponibili soltanto nei manuali in HTML.}

Molte persone imparano ad usare un programma provando e smanettando.
Questo è possibile anche con LilyPond.  Se clicchi su un'immagine
nella versione HTML di questo manuale, vedrai l'esatto input
LilyPond usato per generare quell'immagine.  Provalo su
questa immagine:

@c no verbatim here
@lilypond[quote]
\relative {
  c''4-\markup { \bold \huge { Clicca qui.  } }
}
@end lilypond

@noindent
Tagliando e copiando quel che si trova nella sezione @qq{ly snippet},
puoi ricavare un modello di partenza per sperimentare.  Per vedere esattamente
lo stesso output (larghezza della linea e tutto il resto), copia tutto da @qq{Start
cut-&-pastable section} alla fine del file.

@ignore
This is item 825

@n ode Keyboard navigation
@s ubsection Keyboard navigation

@warning{This features is only available in the HTML manuals.}

@c TODO: once this is figured out, insert it here.

We are currently working on this feature.
@end ignore


@node Overview of manuals
@subsection Panoramica dei manuali

La documentazione su LilyPond è vasta.  I nuovi utenti talvolta
sono confusi su quali parti dovrebbero leggere, e ogni tanto
saltano la lettura di parti fondamentali.

@warning{Non saltare le parti importanti della
documentazione.  Altrimenti ti risulterà molto più difficile
comprendere le sezioni successive.}

@itemize

@item
@strong{Prima di fare @emph{qualsiasi} tentativo}: @pxref{Tutorial}
e @ref{Common notation} di questo manuale.  Se
ti imbatti in termini musicali che non conosci, cercali nel
@rglosnamed{Top, Glossario}.

@item
@strong{Prima di tentare di scrivere un pezzo musicale completo}:
i @pxref{Fundamental concepts} di questo manuale.  Dopo puoi dare
un'occhiata alle sezioni rilevanti della @rnotationnamed{Top, Guida alla notazione}.

@item
@strong{Prima di cercare di cambiare l'output predefinito}:
@pxref{Tweaking output} in questo manuale.

@item
@strong{Prima di iniziare un grande progetto}: leggi il documento
@rprogramnamed{Suggestions for writing files, Consigli su come scrivere i file} del manuale di Uso del programma.

@end itemize
