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 la diteggiatura 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.


Dita che scivolano

Negli strumenti a corda un dito che scivola viene indicato solitamente da una linea che connette lo stesso dito da usare per note suonate in posizioni diverse sulla stessa corda. Questa linea inizia inserendo \\glide prima di una diteggiatura (Fingering) e termina quando si riusa lo stesso dito. La linea può apparire in vari stili.

mus = {
  \set fingeringOrientations = #'(right)
  <a'\glide-1>2.
  \set fingeringOrientations = #'(left)
  <d'-1>4
}

{
  <>^"line"
  \mus
  <>^"stub-left"
  \override FingerGlideSpanner.style = #'stub-left
  \mus
  <>^"stub-right"
  \override FingerGlideSpanner.style = #'stub-right
  \mus
  <>^"stub-both"
  \override FingerGlideSpanner.style = #'stub-both
  \mus
  <>^"dashed-line"
  \override  FingerGlideSpanner.style = #'dashed-line
  \mus
  \break
  <>^"dotted-line"
  \override FingerGlideSpanner.style = #'dotted-line
  \mus
  <>^"bow"
  \override FingerGlideSpanner.style = #'bow
  \mus
  <>^"trill"
  \override FingerGlideSpanner.style = #'trill
  \mus
  <>^"zigzag"
  \override FingerGlideSpanner.style = #'zigzag
  \mus
}

[image of music]

Se style viene impostato su 'bow (arco), la direzione dell’arco può essere regolata attraverso i modificatori della direzione.

{
  \override FingerGlideSpanner.style = #'bow
  \set fingeringOrientations = #'(down)
  <b\glide-1>4 <d'-1>
  \set fingeringOrientations = #'(up)
  <e''\glide-2> <c''-2>

  \set fingeringOrientations = #'(down)
  <b^\glide-1>4 <d'-1>
  \set fingeringOrientations = #'(up)
  <e''^\glide-2> <c''-2>

  \set fingeringOrientations = #'(down)
  <b_\glide-1>4 <d'-1>
  \set fingeringOrientations = #'(up)
  <e''_\glide-2> <c''-2>
}

[image of music]

Se si sposta l’incisore Finger_glide_engraver nel contesto Staff, i grob Fingering che appartengono a contesti Voice diversi possono essere connessi.

\score {
  \new Staff <<
    \new Voice {
      \voiceOne
      \set fingeringOrientations = #'(right)
      <e''-3>2
      \set fingeringOrientations = #'(left)
      <d''-\tweak bound-details.left.padding #2.5 \glide-2>
      <c''-2>
      \bar "||"
    }
    \new Voice {
      \voiceTwo
      \set fingeringOrientations = #'(right)
      <c''\glide-2>
      \set fingeringOrientations = #'(left)
      <b'-\tweak bound-details.left.padding #2.5 \glide-4>
      <a'-4>
    }
  >>
  \layout {
    ragged-right = ##f
    \context {
      \Voice
      \remove "Finger_glide_engraver"
    }
    \context {
      \Staff
      \consists "Finger_glide_engraver"
    }
  }
}

[image of music]

Vedi anche

Guida alla notazione: Direzione e posizionamento.

Guida al funzionamento interno: FingeringGlideEvent, fingering-glide-event, Finger_glide_engraver, finger-glide-interface, FingerGlideSpanner.

Problemi noti e avvertimenti

Molteplici legature con lo stesso dito non sono supportate e producono risultati imprevisti. Un espediente consiste nell’usare dita diverse e \tweak text.

{
    \clef "G_8"
    <a\glide-1 cis'\glide-1>2 <bes-1 d'-1>
    <a\glide-1 cis'\glide-\tweak text "1"-2>2
    <bes-1 d'-\tweak text "1"-2>
}

[image of music]


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 = "deepskyblue"
e''

[image of music]

Oltre a un insieme limitato di colori semplici disponibili come variabili predefinite (vedi “Colori normali” in Elenco dei colori), si può inserire qualsiasi colore come una stringa. Questa stringa può essere un nome colore definito in stile CSS oppure un codice colore esadecimale preceduto dal carattere # (dentro le virgolette doppie):

\override NoteHead.color = "lightsalmon"
\override Flag.color = "#E30074"
\override Beam.color = "#5e45ad"
\override Rest.color = "#3058"
g'8 \huge r4 a'16 f'

[image of music]

Il codice colore può avere un canale alfa per la semitrasparenza usando un codice a otto caratteri "#RRGGBBAA" o la sua forma abbreviata "#RGBA".

In un modo diverso, 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, come 'DarkSeaGreen4, o una stringa, come "DarkSeaGreen4". La prima forma è più veloce da scrivere e un po’ più efficiente. Tuttavia, la seconda forma permette di specificare colori X11 anche attraverso più parole: in questo esempio, "dark sea green 4".

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. Questa funzione prende tre argomenti, usati rispettivamente per i canali red (rosso), green (verde) e blue (blu), e un numero alfa opzionale per la semitrasparenza. (Tutti i valori devono essere numeri compresi tra 0 e 1.) La semitrasparenza è supportata nell’output SVG, mentre per l’output PS e PDF è supportata solo se si una versione di Ghostscript uguale o superiore a 9.53. Nel frammento seguente la chiave del rigo appare semitrasparente se elaborato secondo le condizioni menzionate sopra.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinetto"
    }
  \override Clef.color = #(rgb-color 0 0 0 0.5)
  }
\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 CSS, come è spiegato in Elenco dei colori.

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]

Quando \parenthesize si applica a un accordo, tutte le sue note vengono racchiuse tra parentesi.

[image of music]

Per racchiudere tra parentesi solo alcune note di un accordo, usare un costrutto per la musica parallela << … >>.

[image of music]

Una forma alternativa del comando \parenthesize prevede un percorso al grob: \parenthesize NomeContesto.NomeGrob o semplicemente \parenthesize NomeGrob (l’ultimo sottintende il contesto al livello più basso, normalmente Voice). Bisogna inserirlo prima del momento musicale, come un \once \override. Questa forma permette di racchiudere tra parentesi grob che sono causati solo indirettamente dagli eventi.

\new Staff \relative <<
  {
    \parenthesize NoteHead
    c'1
  }
  \new CueVoice {
    s2
    \voiceOne
    \once \override Staff.Parentheses.font-size = 3
    \parenthesize Staff.CueClef
    \cueClef treble
    e'8 f a g
  }
>>

[image of music]

Vedi anche

Frammenti: Editorial annotations.

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

Problemi noti e avvertimenti

Attualmente, la proprietà font-size del grob Parentheses deve essere modificata manualmente per ottenere parentesi dalle dimensioni corrette per gli accordi e alcuni altri oggetti.


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.

La proprietà di contesto suspendMelodyDecisions può essere usata per disattivare questo comportamento localmente.

\relative c'' {
  \time 3/4
  a8 b g f b g |
  \set suspendMelodyDecisions = ##t
  a  b g f b g |
  \unset suspendMelodyDecisions
  c  b d c b c |
}

\layout {
  \context {
    \Voice
    \consists "Melody_engraver"
    \autoBeamOff
  }
}

[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.24.4 (ramo stabile).