Estoy tratando de grabar una pieza de pipa usando Lilypond 2.20 en Ubuntu 20.04. Las primeras notas se representan así:
Lo que no se ve bien:
¡Cualquier ayuda será muy apreciada!
Aquí está mi código fuente de Lilypond:
\version "2.20.0"
\header {
title = "Yi Dance"
subtitle = "彝族舞曲"
subsubtitle = "1960"
instrument = "Pipa · 琵琶"
composer = "WANG Huiran · 王惠然"
arranger = "Pipa Fingering: YANG Wei · 楊惟"
}
\markup {
\vspace #1
}
%% fingering symbols
fngs = \finger\markup{\override #'(font-name . "pipa") \fontsize #5 "s"}
fngw = \finger\markup{\override #'(font-name . "pipa") \fontsize #5 "w"}
fngDaiLunBoxed = ^\markup{\translate #'(-2.25 . 1.25) \box{\pad-markup #0.2 \override #'(font-name . "pipa") \fontsize #2 "s w"}}
\layout {
indent = #0
\context {
\Score
\remove "Bar_number_engraver"
}
\context {
\Voice
\consists "Melody_engraver"
\override Stem #'neutral-direction = #'()
}
}
global = {
\key a \minor
\numericTimeSignature
}
upper = \relative c'' {
\clef treble
\global
% Music follows here.
%% for the symbol サ
\once\override Staff.TimeSignature.stencil = #ly:text-interface::print
\once\override Staff.TimeSignature.text = \markup{\bold \fontsize #3 "サ" }
\once\override Staff.TimeSignature.extra-offset = #'(0 . -1.5)
%% section title and tempo hint
\once \override Score.RehearsalMark.self-alignment-X = #LEFT
\tempo "[1] liberamente, lento poi accelerando【一】自由地、慢起漸快"
\cadenzaOn
\appoggiatura{d16 c} a4\fngDaiLunBoxed \appoggiatura{d16 c} a4 \appoggiatura{d16 c} a4 \appoggiatura{d16 c} a4
\cadenzaOff
\revert Score.TimeSignature.stencil
}
lower = \relative c {
\clef bass
\global
% Music follows here.
%% for the symbol サ
\once\override Staff.TimeSignature.stencil = #ly:text-interface::print
\once\override Staff.TimeSignature.text = \markup{\bold \fontsize #3 "サ" }
\once\override Staff.TimeSignature.extra-offset = #'(0 . -1.5)
\cadenzaOn
c1 c
\cadenzaOff
\revert Score.TimeSignature.stencil
}
\score {
\new PianoStaff
<<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
\midi { }
}
Esto es lo que puede hacer al respecto:
Eso es causado por las notas de gracia. Siempre entran antes del tiempo, por lo que el programa se comporta de acuerdo con esta lógica: "Empecemos con los dos pentagramas. Bien, el de arriba debe tener una clave de sol, y el otro aún no tiene una clave especificada, así que pongamos una clave de sol". clave en él también. Ahora ponga algunas notas de adorno en el pentagrama superior y un poco de espacio vacío en el pentagrama inferior. ¡Oye! ¡Hay una clave de fa en el pentagrama inferior ahora! ¡Vamos a renderizarla! etc. Si coloca un \grace s8
después de su \clef bass
, las músicas se "alinearán" y el problema desaparecerá.
En el PianoStaff
, las firmas de tiempo están unidas: lo cambias en un pentagrama, también cambia en el otro.* No estoy exactamente seguro de cómo funciona esto, pero si aplicas tu truco de サ en lugar de PianoStaff.TimeSignature
, Staff.TimeSignature
comenzará haciendo lo que quieres
Lo mismo para las cadencias. Si inicia/detiene la cadencia en un pentagrama, se inicia/detiene automáticamente en el otro pentagrama.* Entonces, en su ejemplo, la música en el primer pentagrama termina antes y la cadencia se detiene, por lo que la cadencia también se detiene en el otro pentagrama. , lo que resulta en una línea de compás (y en un tiempo de 4/4) después de eso. Esto desaparecerá por sí solo a medida que escribas la música.
(*: Hecho establecido experimentalmente 😃)
También recomendaría un par de pequeños cambios para que el código sea un poco más limpio. No cambian la salida en absoluto:
Sería más limpio poner sus anulaciones de firma de tiempo en su global
variable. Es el mejor lugar para volcar todas esas anulaciones.
No necesita \revert
el truco de la firma de tiempo porque solo se anuló \once
, es decir, solo funciona para la siguiente ocurrencia de ese objeto, en este caso la firma de tiempo.
También movería el \layout
bloque dentro del \score
bloque para un poco más de limpieza.
nicole naumann
nicole naumann
nicole naumann
ramilletes
s
es un silencio espaciador, solo un silencio invisible que toma la cantidad de tiempo dada, en este caso,8
= 1/8 de nota.nicole naumann
ramilletes