1.7.1 Interne al rigo

Questa sezione spiega come aggiungere enfasi agli elementi interni al rigo.


Scelta della dimensione del tipo di carattere

Nota:
Per le dimensioni del testo, leggere Scelta del tipo di carattere e della dimensione.
Per la dimensione del rigo, leggere Impostare la dimensione del rigo.
Per le citazioni in corpo piccolo, leggere Formattazione delle notine.
Per i righi ossia, leggere Righi ossia.

Per modificare la dimensione di un elemento della notazione senza cambiare anche la dimensione del rigo, si può specificare un fattore di ingrandimento col comando \magnifyMusic:

\new Staff <<
  \new Voice \relative {
    \voiceOne
    <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
  }
  \new Voice \relative {
    \voiceTwo
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      r32 c'' a c a c a c r c a c a c a c
      r c a c a c a c a c a c a c a c
    }
  }
>>

[image of music]

L’\override in questo esempio serve a eludere un difetto del programma, spiegato in “Known issues and warnings” alla fine di questa sezione.

Se la testa di una nota di dimensione normale è accorpata con una più piccola, potrebbe essere necessario ripristinare la dimensione della nota più piccola (con ‘\once \normalsize’) in modo che i gambi e le alterazioni siano allineati correttamente:

\new Staff <<
  \key fis \minor
  \mergeDifferentlyDottedOn
  \new Voice \relative {
    \voiceOne
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
      \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
      \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
      \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
    }
  }
  \new Voice \relative {
    \voiceTwo
    cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
  }
>>

[image of music]

Il comando \magnifyMusic non è adatto per le citazioni in corpo piccolo, gli abbellimenti o i righi ossia, per i quali esistono metodi di inserimento più appropriati. È invece utile quando la dimensione della notazione cambia in una singola parte strumentale su un rigo e quando gli abbellimenti non sono la scelta appropriata, come nei passaggi di tipo cadenza o in casi simili agli esempi precedenti. Impostando il valore di \magnifyMusic su 0.63 si duplicano le dimensioni del contesto CueVoice.

Nota: Il comando \magnifyMusic non deve essere usato quando si ridimensiona anche il rigo. Maggiori informazioni in Impostare la dimensione del rigo.

Ridimensionare oggetti della formattazione individualmente

Un singolo oggetto della formattazione può essere ridimensionato coi comandi \tweak o \override per regolare la sua proprietà font-size:

\relative {
  % ridimensiona una testa di nota
  <f' \tweak font-size -4 b e>-5
  % ridimensiona una diteggiatura
  bes-\tweak font-size 0 -3
  % ridimensiona un'alterazione
  \once \override Accidental.font-size = -4 bes!-^
  % ridimensiona un'articolazione
  \once \override Script.font-size = 4 bes!-^
}

[image of music]

Il valore predefinito di font-size per ogni oggetto della formattazione è elencato nella Guida al funzionamento interno. La proprietà font-size può essere impostata solo per quegli oggetti che supportano l’interfaccia di formattazione font-interface. Se font-size non è specificato nella lista ‘Standard settings’ dell’oggetto, il suo valore è 0. Si veda All layout objects.

Capire la proprietà fontSize

La proprietà di contesto fontSize regola la dimensione relativa di tutti gli elementi della notazione basati su un glifo in un contesto:

\relative {
  \time 3/4
  d''4---5 c8( b a g) |
  \set fontSize = -6
  e'4-- c!8-4( b a g) |
  \set fontSize = 0
  fis4---3 e8( d) fis4 |
  g2.
}

[image of music]

Il valore di fontSize è un numero che indica la dimensione relativa alla dimensione standard dell’altezza del rigo corrente. Il valore predefinito di fontSize è 0; aggiungendo 6 a qualsiasi valore di fontSize si raddoppia la dimensione dei glifi e togliendo 6 si dimezza. Ogni punto aumenta la dimensione di circa il 12%.

Dato che le unità logaritmiche della proprietà font-size non sono del tutto intuitive, viene fornita per comodità la funzione Scheme magnification->font-size. Per esempio, per ridurre la notazione musicale al 75% della dimensione predefinita si usa:

\set fontSize = #(magnification->font-size 0.75)

La funzione Scheme magstep fa l’opposto: converte un valore di font-size in un fattore di ingrandimento.

La proprietà fontSize avrà effetto soltanto sugli elementi della notazione che sono disegnati con glifi, come le teste di nota, le alterazioni, i segni, etc. Non modificherà la dimensione del rigo stesso né ridimensionerà proporzionalmente gambi, travature o la spaziatura orizzontale. Per ridimensionare gambi, travature e spaziatura orizzontale insieme alla dimensione degli elementi della notazione (senza cambiare la dimensione del rigo), si usa il comando \magnifyMusic presentato prima. Per ridimensionare tutto, compreso il rigo, leggere Impostare la dimensione del rigo.

Ogni volta che la proprietà di contesto fontSize è impostata, il suo valore viene aggiunto al valore della proprietà del grob font-size per i singoli oggetti di formattazione, prima che siano stampati i glifi. Ciò può creare confusione quando si impostano individualmente le proprietà font-size mentre è impostato anche fontSize:

% il valore predefinito di font-size per NoteHead è 0
% il valore predefinito di font-size per Fingering è -5
c''4-3

\set fontSize = -3
% la dimensione effettiva per NoteHead è ora -3
% la dimensione effettiva per Fingering è ora -8
c''4-3

\override Fingering.font-size = 0
% la dimensione effettiva per Fingering è ora -3
c''4-3

[image of music]

Sono anche disponibili le seguenti scorciatoie:

ComandoEquivalente aDimensione relativa
\teeny\set fontSize = -371%
\tiny\set fontSize = -279%
\small\set fontSize = -189%
\normalsize\set fontSize = 0100%
\large\set fontSize = 1112%
\huge\set fontSize = 2126%
\relative c'' {
  \teeny
  c4.-> d8---3
  \tiny
  c4.-> d8---3
  \small
  c4.-> d8---3
  \normalsize
  c4.-> d8---3
  \large
  c4.-> d8---3
  \huge
  c4.-> d8---3
}

[image of music]

La modifica della dimensione del tipo di carattere si ottiene ridimensionando la dimensione, tra quelle predefinite, più vicina a quella desiderata. La dimensione standard (per font-size = 0) dipende dall’altezza standard del rigo: per un rigo di 20pt, viene scelto un tipo di carattere di 11pt.

Comandi predefiniti

\magnifyMusic, \teeny, \tiny, \small, \normalsize, \large, \huge.

Vedi anche

Guida alla notazione: Scelta del tipo di carattere e della dimensione, Impostare la dimensione del rigo, Formattazione delle notine, Righi ossia.

File installati: ‘ly/music-functions-init.ly’, ‘ly/property-init.ly’.

Frammenti: Editorial annotations.

Guida al funzionamento interno: font-interface.

Problemi noti e avvertimenti

Attualmente ci sono due bug che impediscono una corretta spaziatura orizzontale quando si usa \magnifyMusic. C’è un solo modo per eludere questi bug e non funziona in tutte le circostanze. Nell’esempio seguente, sostituire la variabile mag con un valore a piacere. Si può provare anche a togliere uno o entrambi i comandi \newSpacingSection e/o i comandi \override e \revert:

\magnifyMusic mag {
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag)
  [music]
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
}

Indicazioni di diteggiatura

Le indicazioni di diteggiatura si inseriscono con ‘nota-numero’:

\relative { c''4-1 d-2 f-4 e-3 }

[image of music]

Si può usare il testo incluso dentro \markup o tra virgolette per indicare un cambio di dito.

\relative {
  c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3"
}

[image of music]

Si può aggiungere il simbolo del pollice per indicare che una nota deve essere suonata col pollice (ad esempio, nella musica per violoncello).

\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }

[image of music]

È possibile indicare la diteggiatura di ogni singola nota di un accordo specificandola dopo ciascuna altezza.

\relative {
  <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
}

[image of music]

Le indicazioni di diteggiatura possono essere poste sopra o sotto il rigo, come è spiegato in Direzione e posizionamento.

Frammenti di codice selezionati

Controllare il posizionamento delle diteggiature di un accordo

Il posizionamento dei numeri della diteggiatura può essere regolato in modo preciso. Perché l’orientamento funzioni, occorre usare il costrutto per gli accordi <> anche per le note singole. Si può impostare in modo simile l’orientamento dei numeri di corda e delle diteggiature della mano destra.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
  \set stringNumberOrientations = #'(up left down)
  <f\3 a\2 c\1>1
  \set strokeFingerOrientations = #'(down right up)
  <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 >
}

[image of music]

Far sì che la diteggiatura appaia dentro il rigo

Per impostazione predefinita, le diteggiature orientate verticalmente sono poste fuori dal rigo; questo comportamento tuttavia può essere disabilitato. Occorre fare attenzione alle situazioni in cui le diteggiature e i gambi sono rivolti nella stessa direzione: normalmente le diteggiature evitano soltanto i gambi con travature. Questa impostazione predefinita può essere cambiata in modo da evitare tutti i gambi oppure nessuno. L’esempio seguente mostra queste due opzioni, così come tornare al comportamento predefinito.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering.staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 g'-0
  a8[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##f
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##t
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = #only-if-beamed
  a[-1 b]-2 g-0 r
}

[image of music]

Vedi anche

Guida alla notazione: Direzione e posizionamento.

Frammenti: Editorial annotations.

Guida al funzionamento interno: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.


Note nascoste

Le note nascoste (o invisibili o trasparenti) possono essere utili nella preparazione di esercizi di teoria e composizione.

\relative {
  c''4 d
  \hideNotes
  e4 f
  \unHideNotes
  g a
  \hideNotes
  b
  \unHideNotes
  c
}

[image of music]

Questo comando rende invisibili le teste, i gambi e le code delle note, e le pause. Le travature sono invisibili se iniziano su una nota nascosta. Mentre gli oggetti attaccati a note invisibili sono comunque visibili.

\relative c'' {
  e8(\p f g a)--
  \hideNotes
  e8(\p f g a)--
}

[image of music]

Comandi predefiniti

\hideNotes, \unHideNotes.

Vedi anche

Manuale d’apprendimento: Visibilità e colore degli oggetti.

Guida alla notazione: Pause invisibili, Visibilità degli oggetti, Nascondere i righi.

Frammenti: Editorial annotations.

Guida al funzionamento interno: Note_spacing_engraver, NoteSpacing.


Colorare gli oggetti

Si possono assegnare dei colori a ciascun oggetto. I nomi dei colori validi sono elencati nell’Elenco dei colori.

\override NoteHead.color = #red
c''4 c''
\override NoteHead.color = #(x11-color 'LimeGreen)
d''
\override Stem.color = #blue
e''

[image of music]

Si può accedere all’intera gamma di colori definita per X11 con la funzione Scheme x11-color. La funzione prende un argomento, che può essere un simbolo nella forma 'FooBar o una stringa nella forma "FooBar". La prima forma è più veloce da scrivere e più efficiente. Tuttavia, la seconda forma permette di accedere ai colori X11 attraverso la forma del nome che ha più di una parola.

La funzione x11-color, se non riesce a comprendere il parametro, restituisce il colore nero.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
  \relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  gis8 a
  \override Beam.color = #(x11-color "medium turquoise")
  gis a
  \override Accidental.color = #(x11-color 'DarkRed)
  gis a
  \override NoteHead.color = #(x11-color "LimeGreen")
  gis a
  % this is deliberate nonsense; note that the stems remain black
  \override Stem.color = #(x11-color 'Boggle)
  b2 cis
}

[image of music]

I colori RGB esatti si specificano con la funzione Scheme rgb-color.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
\relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  \override Stem.color = #(rgb-color 0 0 0)
  gis8 a
  \override Stem.color = #(rgb-color 1 1 1)
  gis8 a
  \override Stem.color = #(rgb-color 0 0 0.5)
  gis4 a
}

[image of music]

Vedi anche

Guida alla notazione: Elenco dei colori, Il comando \tweak.

Frammenti: Editorial annotations.

Problemi noti e avvertimenti

Un colore X11 non ha necessariamente la stessa identica tonalità di un normale colore dal nome simile.

Non tutti i colori X11 sono distinguibili in un browser web. Per esempio, un browser potrebbe non mostrare alcuna differenza tra LimeGreen e ForestGreen. Per il web si consiglia di usare i colori normali (ovvero blue, green, red).

Le note in un accordo non possono essere colorate separatamente con un \override; al suo posto si usa \tweak o l’equivalente \single\override, vedi Il comando \tweak.


Parentesi

Gli oggetti possono essere messi tra parentesi se si usa il comando \parenthesize prima dell’evento musicale. Se precede un accordo, viene messa tra parentesi ogni nota dell’accordo. Si possono mettere tra parentesi anche singole note di un accordo.

\relative {
  c''2 \parenthesize d
  c2 \parenthesize <c e g>
  c2 <c \parenthesize e g>
}

[image of music]

Si possono mettere tra parentesi anche oggetti diversi dalle note. Per le articolazioni è necessario usare un trattino prima del comando \parenthesize.

\relative {
  c''2-\parenthesize -. d
  c2 \parenthesize r
}

[image of music]

Vedi anche

Frammenti: Editorial annotations.

Guida al funzionamento interno: Parenthesis_engraver, ParenthesesItem, parentheses-interface.

Problemi noti e avvertimenti

Se si mette tra parentesi un accordo, viene creata una parentesi per ogni nota dell’accordo invece di una sola grande parentesi per l’intero accordo.


Gambi

Per ogni nota viene creato automaticamente un oggetto Stem (gambo). Vale anche per le semibrevi e le pause, anche se i loro gambi sono resi invisibili.

I gambi si possono posizionare sopra o sotto, vedi Direzione e posizionamento.

Comandi predefiniti

\stemUp, \stemDown, \stemNeutral.

Frammenti di codice selezionati

Direzione predefinita dei gambi sulla linea centrale del rigo

La direzione predefinita dei gambi sulla linea centrale del rigo si imposta con la proprietà neutral-direction dell’oggetto Stem.

\relative c'' {
  a4 b c b
  \override Stem.neutral-direction = #up
  a4 b c b
  \override Stem.neutral-direction = #down
  a4 b c b
}

[image of music]

Cambiare automaticamente la direzione del gambo della nota centrale in base alla melodia

LilyPond può modificare la direzione del gambo della nota centrale di un rigo in modo che segua la melodia: occorre aggiungere l’incisore Melody_engraver al contesto Voice e sovrascrivere la proprietà neutral-direction di Stem.

\relative c'' {
  \time 3/4
  a8 b g f b g |
  c  b d c b c |
}

\layout {
  \context {
    \Voice
    \consists "Melody_engraver"
    \autoBeamOff
    \override Stem.neutral-direction = #'()
  }
}

[image of music]

Vedi anche

Guida alla notazione: Direzione e posizionamento.

Frammenti: Editorial annotations.

Guida al funzionamento interno: Stem_engraver, Stem, stem-interface.


LilyPond — Guida alla Notazione v2.22.1 (ramo stabile).