Domanda:
LilyPond - cambia la parentesi del gruppo irregolare in un piccolo arco
nath
2019-11-30 06:56:28 UTC
view on stackexchange narkive permalink

Ho un brano per violoncello da Sebastian Lee, che utilizza molti gruppi irregolari.

Il mio frammento con il predefinito LilyPond ha questo aspetto:

enter image description here

sembra piuttosto carino, il problema è che un principiante potrebbe facilmente pensare che questo fosse il diteggiatura, specialmente in questo esempio in cui il b verrebbe effettivamente suonato con un terzo dito sulla stringa G.

Quindi ho usato \ override TupletBracket.bracket-visible = ## t per stampare la chiave / parentesi tuplet che risulta in una stampa molto brutta:

enter image description here

Un'edizione, che è disponibile su IMSLP ha questo aspetto:

enter image description here

che personalmente trovo un po 'più carino (non essere frainteso, sto solo parlando della chiave irregolare, non dell'intera stampa)

Qualcuno qui sa per un possibile aggiustamento della chiave, per farlo sembrare piuttosto questo piccolo fiocco nel terzo esempio?

Sebastian Lee, Op.70 in formato LilyPond su GitH ub

Vedi: http://lilypond.1069038.n5.nabble.com/Tuplets-curved-brackets-td207326.html
Una risposta:
Jasper Habicht
2019-11-30 09:06:37 UTC
view on stackexchange narkive permalink

Un primo approccio potrebbe essere quello di modificare il testo del numero di gruppi irregolari e aggiungere una piccola legatura:

  bow-up = \ markup {\ with-Dimensions # '(0. 3) # '(0. 0) \ override #' (filled. #T) \ path # .1 # '((moveto 0 0) (curveto 1 1.2 2 1.2 3 0) (curveto 2 0.9 1 0.9 0 0) (closepath ))} bow-down = \ markup {\ with-Dimensions # '(0. 3) #' (0. 0) \ override # '(filled. #t) \ path # .1 #' ((moveto 0 0 ) (curveto 1 -1.2 2 -1.2 3 0) (curveto 2 -0.9 1 -0.9 0 0) (closepath))} # (define-markup-command (tuplet-bow-up layout props tuplet-number) (markup? ) (interpret-markup layout props (markup #: center-column (#: vspace -.2 bow-up #: vspace -.6 #: line (tuplet-number))))) # (define-markup-command ( puntelli layout tuplet-bow-down numero-tuplet) (markup?) (puntelli layout interpret-markup (markup #: center-column (#: vspace .2 tuplet-number #: vspace -1 #: line (bow-down) )))) tupletBowUp = # (define-scheme-functi on (parser location tuplet-number) (string?) # {\ override TupletNumber.text = \ markup \ tuplet-bow-up # tuplet-number #}) tupletBowDown = # (define-scheme-function (parser location tuplet-number ) (stringa?) # {\ override TupletNumber.text = \ markup \ tuplet-bow-down # tuplet-number #}) \ score {{\ clef bass \ time 3/4 \ tupletBowUp "3" \ tuplet 3/2 {c8 b, c} \ tupletBowDown "3" \ tuplet 3/2 {e8 ge} \ tuplet 3/2 {e8 ge} c'4} \ layout {}}  

Con \ tupletBowUp "3" imposti il ​​numero di tutti i gruppi irregolari seguenti a 3 con un piccolo fiocco sopra. Con \ tupletBowDown "3" lo imposti a 3 con un piccolo fiocco sotto. Puoi mettere altri numeri come preferisci.

Risultato :

enter image description here

Ma sono sicuro che questo può essere ottenuto anche in un modo molto più sofisticato. Tuttavia, non conosco molto bene gli interni di LilyPond. Ad esempio, sarebbe fantastico che l'arco piccolo passasse automaticamente sopra o sotto il numero in base alla sua posizione.


Modifica: un altro modo sarebbe cambiare il parentesi tuplet come questa proposta e un commento suggeriscono (scusate, ho visto il commento solo dopo aver modificato la mia risposta). Ho cambiato un po 'il codice della proposta collegata per semplificarla e ridurre le legature:

  printTupletBow = {\ override TupletBracket #' stencil = #ly: slur :: print \ override TupletBracket # 'thick = # 1.2 \ override TupletBracket #' control-points = # (lambda (grob) (let * ((x-pos (ly: grob-property grob 'X-posizioni)) (pos (ly: grob-property posizioni grob ')) (x-ln (interval-length x-pos)) (dir (ly: grob-property grob' direction)) (height (- (cdr pos) (car pos))) (height-corr ( * 0.3 dir height)) (edge-height (ly: grob-property grob 'edge-height' (0.7. 0.7)))) (list (cons (+ (car x-pos) (* x-ln 1/4 )) (+ (car pos) (* 1 dir (car edge-height)))) (cons (+ (car x-pos) (* x-ln 3/8)) (+ (car pos) (* dir (+ 1.5 height-corr)))) (cons (+ (car x-pos) (* x-ln 5/8)) (+ (cdr pos) (* dir (- 1.5 height -corr)))) (contro (+ (car x-pos) (* x-ln 3/4)) (+ (cdr pos) (* 1 dir (cdr edge-height)))))))} \ partitura {{\ clef bass \ time 3/4 \ tuplet 3/2 {c8 b, c} \ tuplet 3/2 {e8 ge} \ tuplet 3/2 {e8 ge} c'4}} \ layout {\ printTupletBow }  

Risultato:

enter image description here

Se vuoi omettere temporaneamente gli archi, puoi usare \ once \ override TupletBracket.stencil = ## f subito prima del gruppo irregolare pertinente.

Un problema con questo approccio è che la legatura sarà molto inclinata se le note si estendono su intervalli più grandi. Ma potrebbe essere una buona soluzione se il tuo pezzo includesse principalmente gruppi irregolari con travi.

Pubblicherò il tuo link in [IRC ufficiale di LilyPonds su Freenode] (https://webchat.freenode.net/#lilypond), forse sono ispirati ... :-) come lo sono io! (sembra molto più bello della staffa!)
Non c'è bisogno di farlo, perché anche io ho preso ispirazione da lì. Quindi, anche il codice di base potrebbe essere già lì.
c'è un modo per omettere gli archi più avanti nel brano, come fai con `\ omit TupletNumber`?
Per il secondo esempio, puoi usare `\ once \ override TupletBracket.stencil = ## f`.
dovresti assolutamente aggiungerlo a [LSR - Snippet Repository] (http://lsr.di.unimi.it/)


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...