Re: polyrhythm with multiple tempi
Hi Kieren, Am 10.12.19 um 22:54 schrieb Kieren MacMillan: Hi all, Please consider the following snippet: %%% SNIPPET BEGINS \version "2.19.83" \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" \remove "Metronome_mark_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Metronome_mark_engraver" } } slower = { \tempo 4=80 \scaleDurations 120/80 { \repeat unfold 12 { c'4 } } } faster = { \tempo 4=120 \repeat unfold 16 { c'4 } } \score { << \new Staff \slower \new Staff \faster >> } %%% SNIPPET ENDS The polyrhythm stretches out and lines up as expected, but I can’t seem to get the barlines to offset [despite moving the engravers I thought were required]. Corrections/hints appreciated. \scaleDurations does not scale the measure length as well. Try inserting \set Timing.measureLength = #(ly:make-moment 12/8) in the \slower part. See you in Salzburg! Lukas
Re: How to remove all notes and only show Chords and Lyrics?
Hi Kieren, we're coming closer! But running your snippet as-is through lilypond I still have some gaps (see attached screenshot). Now they are (probably) no more between chords and lyrics but between the whole lines. Using annotate-spacing I see that there is a greater "extra dist (system-system-spacing)" between some lines. In most lines it is less than 2, but the two gaps have 5.21 or 27.86. How can I reduce those? I can't find a reason for those gaps being that big ... Kind regards Dominic On 10.12.19 18:11, Kieren MacMillan wrote: > Hi Dominic, > >> Hi Jaap, >> this is really great! > > I agree! > >> Now I have the problem that in *some* lines the chords are very far away >> from the lyrics >> whereas in most lines, they are positioned very well. >> >> Do you have any idea what's the reason for this and how I could solve it? > > There were two issues: the basic- and minimum-distances as set, and the page > height. The following modified snippet fixes both (I think?). > > %%% SNIPPET BEGINS > \version "2.18.2" > > \paper { > indent = 0 > paper-height = 120\in > ragged-right = ##t > system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) > (padding . 2.5) (stretchability . 0)) > score-system-spacing.padding = #12 > } > > lyricsbreak = \tag #'lyricsheet { \bar "" \break } > > verseOne = \lyricmode { > \set stanza = "1. " > Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy > eirmod \lyricsbreak > tempor invidunt ut labore et dolore magna aliquyam erat, sed diam > voluptua. \lyricsbreak > At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd > \lyricsbreak > gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. > \lyricsbreak > } > > verseTwo = \lyricmode { > \set stanza = "2. " > Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy > eirmod \lyricsbreak > tempor invidunt ut labore et dolore magna aliquyam erat, sed diam > voluptua. \lyricsbreak > At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd > \lyricsbreak > gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. > \lyricsbreak > } > > > harmonies = { > \chordmode { \set majorSevenSymbol = \markup { "maj7" } > s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 > g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f > } > } > > melody = \relative c'' { > \key f \major > \time 4/4 > \partial 4 > \autoBeamOff > > a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g | > a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ | > c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 > bes16 a8. > > % p.2: > f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g > | > a4 r8 f16 g a4 bes16 a f f | g2 r8. f16 a8 bes | c4 r8 a16 bes c8. a16 a8 > bes16 c~ | > c16 c c8~ c16 c d8 r8. f,16 f8 g | \time 6/4 > a8. g16 f8 g a16 a8. a16 bes8. a8 g f4 | R1. | \time 4/4 > r2 r4 a8 bes | c c a16 bes8 c16~ c4 r8 a16 bes | > \bar "|." > } > > \layout { > \context { > \ChordNames > \override ChordName.font-name = #"Alegreya Medium" > \override VerticalAxisGroup.staff-affinity = #DOWN > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = > #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) > (stretchability . 0)) > } > \context { > \Lyrics > \override LyricText.font-name = #"Alegreya" > \override VerticalAxisGroup.staff-affinity = #UP > \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = > #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) > (stretchability . 0)) > } > } > > > \score { > << > \new ChordNames \harmonies > \new RhythmicStaff { > \new NullVoice \melody > \addlyrics { \verseOne \verseTwo } > } > >> > > \layout { > \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible > \set Staff.printKeyCancellation = ##f > \context { > \RhythmicStaff > \remove "Time_signature_engraver" > \remove "Bar_number_engraver" > \remove "Bar_engraver" > \override Clef.break-visibility = #all-invisible > \override StaffSymbol.line-count = #'0 > } > } > } > %%% SNIPPET ENDS > > Note that I also removed all the custom contexts from my version (which may > be inferior, ultimately, to this one!). > > What remains to fix (IMO) is the mid-lyrics gaps. I’ll look into what’s > causing those and report back if I fix it. > > Hope this helps! > Kieren. > > > > > Kieren MacMillan, composer (he/him/his) > ‣ website: www.ki
(Pheraps) a not difficult way for modifying slurs with any SVG editor and feed Lilypond with modifications
Perhaps I found an easy way to modify slurs with any svg editor, and automatically (or semi-automatically) correct the .ly file with the changes made. The procedure is the following, and I need a little help for the programming parts in the Scheme language (I know it too badly to write the functions myself, but I can take care of the rest of the code, see the steps below) 1) For each slur, I visually generate the control points, using the excellent function written by Aaron: https://lists.gnu.org/archive/html/lilypond-user/2019-11/msg00266.html 2) [Need help!] For each group of four control_points, I need to associate four IDs obtained with a global variable that is incremented with each new slur. For example, if I have two slurs in my score, the control points IDs will be: slur_1_cp_1, slur_1_cp_2, slur_1_cp_3, slur_1_cp_4, slur_2_cp_1, slur_2_cp_2, slur_2_cp_3, slur_2_cp_4 This ID must be set in the SVG object corresponding to each control point. Can anyone modify the previous lilybin snippet to get this result? I know it is possible to do this, from what I read on this page: http://lilypond.org/doc/v2.19/Documentation/notation/alternative-output-formats 3) I open with an editor (for example: Inkscape) the generated SVG file; next to each slur to be corrected, I draw the correct slur (bezier curve), and I associate to this slur (always with the editor) an ID equal to the ID of the respective control points, without the final substrting. For example, if the control points have id equal to "slur_1_cp_1 (/ 2/3/4)", I will assign to the slur drawn with the editor ID = "slur_1" 4) At this point (I can write a script in Python or some other programming language), I can parser the new svg file (with some xml library) and calculate for each slur created with Inkscape, identified with IDSLUR, the difference of coordinates (x, y) between its control points and control points with ID = IDSLUR_cp_1, IDSLUR_cp_2, IDSLUR_cp_3, IDSLUR_cp_4 5) Once these differences are obtained, I can apply this function (taken from http://lsr.di.unimi.it/LSR/Item?id=777 ) for each slur to modify: \shapeSlur # '(x1 y1 x2 y2 x3 y3 x4 y4) Where x1 y1 x2 y2 x3 y3 x4 y4 are precisely the differences between the control points coordinates, just calculated. What do you think? Is it worth it? If someone can write the function of point 2) (it shouldn't be difficult, nor time-consuming), I can take care of point 4)
StaffPad
Andrew My error in not stating purpose for posting the web site. Perhaps someone in the Lilypond community had seen/tried it and could comment. Mark
polyrhythm with multiple tempi
Hi all, Please consider the following snippet: %%% SNIPPET BEGINS \version "2.19.83" \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" \remove "Metronome_mark_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Metronome_mark_engraver" } } slower = { \tempo 4=80 \scaleDurations 120/80 { \repeat unfold 12 { c'4 } } } faster = { \tempo 4=120 \repeat unfold 16 { c'4 } } \score { << \new Staff \slower \new Staff \faster >> } %%% SNIPPET ENDS The polyrhythm stretches out and lines up as expected, but I can’t seem to get the barlines to offset [despite moving the engravers I thought were required]. Corrections/hints appreciated. Thanks, Kieren. Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info
Re: How to remove all notes and only show Chords and Lyrics?
Hi Dominic, > Hi Jaap, > this is really great! I agree! > Now I have the problem that in *some* lines the chords are very far away from > the lyrics > whereas in most lines, they are positioned very well. > > Do you have any idea what's the reason for this and how I could solve it? There were two issues: the basic- and minimum-distances as set, and the page height. The following modified snippet fixes both (I think?). %%% SNIPPET BEGINS \version "2.18.2" \paper { indent = 0 paper-height = 120\in ragged-right = ##t system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) (padding . 2.5) (stretchability . 0)) score-system-spacing.padding = #12 } lyricsbreak = \tag #'lyricsheet { \bar "" \break } verseOne = \lyricmode { \set stanza = "1. " Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak } verseTwo = \lyricmode { \set stanza = "2. " Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak } harmonies = { \chordmode { \set majorSevenSymbol = \markup { "maj7" } s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f } } melody = \relative c'' { \key f \major \time 4/4 \partial 4 \autoBeamOff a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g | a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ | c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 bes16 a8. % p.2: f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g | a4 r8 f16 g a4 bes16 a f f | g2 r8. f16 a8 bes | c4 r8 a16 bes c8. a16 a8 bes16 c~ | c16 c c8~ c16 c d8 r8. f,16 f8 g | \time 6/4 a8. g16 f8 g a16 a8. a16 bes8. a8 g f4 | R1. | \time 4/4 r2 r4 a8 bes | c c a16 bes8 c16~ c4 r8 a16 bes | \bar "|." } \layout { \context { \ChordNames \override ChordName.font-name = #"Alegreya Medium" \override VerticalAxisGroup.staff-affinity = #DOWN \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) (stretchability . 0)) } \context { \Lyrics \override LyricText.font-name = #"Alegreya" \override VerticalAxisGroup.staff-affinity = #UP \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) (stretchability . 0)) } } \score { << \new ChordNames \harmonies \new RhythmicStaff { \new NullVoice \melody \addlyrics { \verseOne \verseTwo } } >> \layout { \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \context { \RhythmicStaff \remove "Time_signature_engraver" \remove "Bar_number_engraver" \remove "Bar_engraver" \override Clef.break-visibility = #all-invisible \override StaffSymbol.line-count = #'0 } } } %%% SNIPPET ENDS Note that I also removed all the custom contexts from my version (which may be inferior, ultimately, to this one!). What remains to fix (IMO) is the mid-lyrics gaps. I’ll look into what’s causing those and report back if I fix it. Hope this helps! Kieren. Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info
Re: Merge_rests_engraver bug with whole measure rest?
On Tue 10 Dec 2019 at 11:25:02 (+0100), Jens Gyldenkærne Jensen wrote: > Den tir. 10. dec. 2019 kl. 10.57 skrev Thomas Morley > : > > Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen > > : > > > > > > The example from the manual regarding merging of rests ( > > http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests) > > show a strange difference between whole measure rests and smaller rests. > > The crotchet rest in bar one is placed in the middle of the staff whereas > > the whole note rest in bar two is placed at the top (similar to the > > placement of the \voiceOne rest in the unmerged staff). Is this intentional > > or a bug? I would think that the correct placement would be in the middle > > of the staff. > > > > This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well. > > Attached the image from the locally compiled 2.21.0 NR > > Excellent. Hope to see them released in a near future. As a stopgap, you might be able to correct this for yourself, but I can't be certain. When rest-merging was just a snippet (336), it would IIRC place whole measure rests on the centre line, and I changed a line in #(define merge-multi-measure-rests-on-Y-offset to correct it, from "0)" to "1)". (At that time, it also had a bug that printed both dots when it merged dotted crochet rests.) More recent downloads seem to have corrected both these bugs, so the "0)" value now works, and I still use the download, rather than the built-in version. AFAICT, the code that sets the rest positions is in lilypond-2.19.83-1.linux-64/lilypond/usr/share/lilypond/current/scm/scheme-engravers.scm in the lines following (define-public (Merge_rests_engraver context) "Engraver to merge rests in multiple voices on the same staff. This works by gathering all rests at a time step. If they are all of the same length and there are at least two they are moved to the correct location as if there were one voice." but I'm not familiar enough with scheme to know precisely which line. Perhaps others are. It might be as simple as changing one digit. Cheers, David.
Re: How to remove all notes and only show Chords and Lyrics?
Hi Jaap, this is really great! It is now very close to what I need (but better without the use of LyricText.Y-offset). Now I have the problem that in *some* lines the chords are very far away from the lyrics whereas in most lines, they are positioned very well. Do you have any idea what's the reason for this and how I could solve it? Kind regards Dominic On 10.12.19 15:14, lilyp...@de-wolff.org wrote: > > >> -Original Message- >> From: Dominic Sonntag >> Sent: Tuesday, December 10, 2019 8:44 AM >> To: lilyp...@de-wolff.org >> Cc: lilypond-user@gnu.org >> Subject: Re: How to remove all notes and only show Chords and Lyrics? >> >> This is really quite close, but can I remove that horizontal line and bring >> the >> chords and lyrics closer together? >> >> >> On 07.12.19 15:50, lilyp...@de-wolff.org wrote: >>> >>> -Original Message- From: lilypond-user On Behalf Of Dominic Sonntag Sent: Friday, December 6, 2019 11:08 AM To: lilypond-user@gnu.org Subject: How to remove all notes and only show Chords and Lyrics? Hi, in a special case I need a "score" with notes, only chords and lyrics. A basic example is this: \version "2.19.82" \score { << \new ChordNames { s4 f2 c } \new Staff { \relative c' { \partial 4 \time 4/4 \key f \major f8 g | f4. e16 d e c8~ c4 } } \addlyrics { It's not time to make a change, } >> } I want the notes and clefs and barlines etc. (the whole staff) not to be shown, but the lyrics should still take the time the notes have. In this little example, the result should look something like this: F C It's not time to make a change, or see my attached image. How can I achieve this? (Maybe with the least effort on changing the input as it is a long song.) Kind regards Dominic >>> [>] >>> This is not exactly what you want, but it is close: >>> \version "2.19.82" >>> >>> \layout { >>> \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible >>> \set Staff.printKeyCancellation = ##f >>> \context { >>> \RhythmicStaff >>> \remove "Time_signature_engraver" >>> \override Clef.break-visibility = #all-invisible >>> } >>> } >>> >>> >>> \score { << >>> \new ChordNames { s4 f2 c } >>> \new RhythmicStaff { >>> \new NullVoice >>> \relative c' { >>> \override Score.BarLine.stencil = ##f >>> \partial 4 >>> \time 4/4 >>> \key f \major >>> f8 g | f4. e16 d e c8~ c4 >>> } >>> } >>> \addlyrics { It's not time to make a change, } > } >>> >>> > [>] > > Try: > \layout { > \context { > \RhythmicStaff >\remove "Time_signature_engraver" > \override StaffSymbol.line-count = #'0 > } > \context { >\Lyrics >\override LyricText.Y-offset = #10.0 > } > } > > You can play with the Y-offset, if it is to close for you > Jaap > \version "2.18.2" \paper { indent = 0 ragged-right = ##t system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) (padding . 2.5) (stretchability . 0)) score-system-spacing.padding = #12 } lyricsbreak = \tag #'lyricsheet { \bar "" \break } verseOne = \lyricmode { \set stanza = "1. " Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak } verseTwo = \lyricmode { \set stanza = "2. " Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak } harmonies = { \chordmode { \set majorSevenSymbol = \markup { "maj7" } s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f } } melody = \relative c'' { \key f \major \time 4/4 \partial 4 \autoBeamOff a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g | a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ | c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 bes16 a8. % p.2: f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g | a4 r8 f16 g a
Re: problems with cues
"Peter Gentry" writes: > David > > > > I'm sorry my explanations are not very clear, probably because I am a bit > confused. You did not answer a single of the questions I asked for clarification. > However I may be getting somewhere when the Header file is introduced > I get This is very nice but as long as you continue vaguely using your own terminology about what happens instead of posting actual information that anybody but yourself can interpret, there is little except possibly sympathy that you can expect the mailing list to provide. > Starting lilypond-windows.exe 2.19.81 [Op38_Gg_L2_Test.ly]... > > Processing > `C:/Users/Peter/Lilypool/Music_Files/Farrenc/Work/Op38_Gg_L2_Test.ly' > > Parsing... > > warning: no glyph for character U+92 in font `C:/Program Files > (x86)/LilyPond/usr/share/lilypond/current/fonts/otf/texgyreschola-regular.ot > f' > > Finding the ideal number of pages... > > Fitting music on 1 page... > > Drawing systems... > > Layout output to `./tmp-lilypond-crrBo6'... > > Converting to `Op38_Gg_L2_Test.pdf'... > > Deleting `./tmp-lilypond-crrBo6'... > > Interpreting music... > > Interpreting music... > > Interpreting music... > > Preprocessing graphical objects... > > Interpreting music...[8] > > Preprocessing graphical objects... > > Finding the ideal number of pages... > > Fitting music on 1 page... > > Drawing systems... > > Layout output to `./tmp-lilypond-LIcuhH'... > > Converting to `Op38_Gg_L2_Test-1.pdf'... > > Deleting `./tmp-lilypond-LIcuhH'... > > Success: compilation successfully completed > > Completed successfully in 1.9". > > > > Despite the Completed successfully in 1.9 there was no music output - just > the attached header page . You did notice that 2 files got produced for whatever reason not discernible from your description? Namely Op38_Gg_L2_Test.pdf as well as Op38_Gg_L2_Test-1.pdf . -- David Kastrup
Re: transpositions within a global key setting.
On Tue 10 Dec 2019 at 07:41:07 (+0100), Urs Liska wrote: > Am 09.12.19 um 15:24 schrieb N. Andrew Walsh: > > let us say I have a piece where I want to specify the key > > signature once for all instruments. I have something like the > > following: > > > > \version = 2.19.82 > > global= { > > \key f \minor > > \time 4/8 > > } > > %% (and whatever other settings I want) > > > > oDAMusic = \transpose a c { > > \relative c''' { > > \key as \minor > > {{MUSIC}} > > } > > } > > What this code is trying to convey (different from your intentions) > that MUSIC is some music in as minor that is then transposed to f > minor. > > What you *need* to say is that the music is in f minor (because that > is your key signature) but transposed *for display* to as minor. It > should immediately strike you as odd when you seem to need to write > \key as \minor when you are not actually having polytonality. > > So the key signature in your music should be the f minor specified in > the global variable (note BTW that it is not ideal practice naming a > variable "global"), But both the LM and NR use this convention frequently; the former recommends it (§3.2.3). > and you can simply include that *within* the music > expression rather than in teh staff definition. I don't see how that works for anything beyond the trivial, for example: global = { % with original pagination \key f \major \time 2/2 s1 * 3 \break s1 \repeat volta 2 { s1 * 3 \break s1 * 3 \break } \alternative { { s1 * 2 } { s1 \break s1 } } s1 * 3 \break \pageBreak s1 * 5 \break s1 * 3 \break s1 * 3 \break s1 * 2 \bar "||" \key c \major s1 \break s1 * 3 \break \pageBreak s1 * 3 \break s1 * 3 \break s1 * 3 \break s1 * 3 \break \bar "||" \key df \major s1 * 3 \break \pageBreak s1 * 3 \break s1 * 2 \bar "||" \key f \major s1 \break s1 * 3 \break s1 * 3 \break s1 \bar "||" s1 s2 \bar "|." } #(set-global-staff-size 18) \book { \bookOutputSuffix "2staves" \score { \transpose f f \new ChoirStaff << \new Staff = stop \with { \consists Bar_number_engraver } << \clef treble \global \new Voice { \accident \voiceOne \soprano } \addlyrics \with { alignAboveContext = stop } { \sopranofrag } \new Voice { \accident \voiceTwo \alto } \addlyrics { \altotext } \addlyrics { \altotextii } >> \new Staff = sbot << \clef "bass^8" \global \new Voice { \accident \voiceOne \tenor } \addlyrics \with { alignAboveContext = sbot } { \tenorfrag } \new Voice { \accident \voiceTwo \bass } \addlyrics { \bassfrag } >> >> \layout { \context { \Score \remove Bar_number_engraver } } } } > You define the music in the original key and then transpose it to the > key you want it displayed in. If you are dealing with MIDI output (and > even if not you should consider it) you can then use \transposition to > re-transpose the MIDI output without affecting the engraved key and > pitches (see > http://lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#instrument-transpositions > (which is where you should have looked at)). > > This is what you want to do: > > \version "2.19.82" > global= { > \key f \minor > \time 4/8 > } > > oDAMusic = > \transpose f as > \relative c' { > \transposition a > \global > f g as > } > > \score { > \new Staff = "Staff_oboeDA" << > \oDAMusic > >> > } > > > \score { > > \new Staff = "Staff_oboeDA" << > > \global \oDAMusic > > >> > > } > > > > I've omitted other variables, instrument blocks, and settings. My > > question is what to do about this instrument, the oboe d'amore, > > which transposes. According to the NR, here: > > > > http://lilypond.org/doc/v2.19/Documentation/notation/changing-multiple-pitches#transpose > > > > I would need to format the block like this to print the correct > > key signature. When I do this, however, Lily throws an error about > > "Two simultaneous key-change events" and that one will be junked. > > Score output, however, looks fine, with the transposition and > > key-signature correct. > > > > As a general question, how should I be formatting this so that I > > don't get an error? Cheers, David.
Re: transpositions within a global key setting.
On 10/12/19 06:41, Urs Liska wrote: > > Am 09.12.19 um 15:24 schrieb N. Andrew Walsh: >> Hi List, >> >> let us say I have a piece where I want to specify the key signature >> once for all instruments. I have something like the following: >> >> \version = 2.19.82 >> global= { >> \key f \minor >> \time 4/8 >> } >> %% (and whatever other settings I want) >> >> oDAMusic = \transpose a c { >> \relative c''' { >> \key as \minor >> {{MUSIC}} >> } >> } > > > What this code is trying to convey (different from your intentions) that > MUSIC is some music in as minor that is then transposed to f minor. > > What you *need* to say is that the music is in f minor (because that is > your key signature) but transposed *for display* to as minor. It should > immediately strike you as odd when you seem to need to write \key as > \minor when you are not actually having polytonality. > > So the key signature in your music should be the f minor specified in > the global variable (note BTW that it is not ideal practice naming a > variable "global"), and you can simply include that *within* the music > expression rather than in teh staff definition. > > You define the music in the original key and then transpose it to the > key you want it displayed in. If you are dealing with MIDI output (and > even if not you should consider it) you can then use \transposition to > re-transpose the MIDI output without affecting the engraved key and > pitches (see > http://lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#instrument-transpositions > (which is where you should have looked at)). > > This is what you want to do: > > \version "2.19.82" > global= { > \key f \minor > \time 4/8 > } > > oDAMusic = > \transpose f as > \relative c' { > \transposition a > \global > f g as > } > > \score { > \new Staff = "Staff_oboeDA" << > \oDAMusic > >> > } > > HTH > Urs > As a player in a concert band and a brass band, this is my main use of lilypond. I don't use midi, and I've never got to grips with transposition (because I don't use midi?) So when I'm INPUTing music, I always do voiceTrombone = \transpose c' c' { notes } or voiceTrombone = \transpose c' bf { notes } This then gives me a music variable with all my notes IN CONCERT PITCH. When outputting, I then do \Staff { \Clef = bass \transpose c' c' { \key ... \voiceTrombone ... } } or \Staff { \Clef = treble_8 \transpose bf c' { \key ... \voiceTrombone ... } } That way, everything is always in concert until the last possible moment, but also, when I'm looking at the music, I can tell whether it was copied from a concert or a brass part, and the notes in the .ly file match the notes on the piece of paper. (And I *always* transpose, even from C to C, because it tells me I haven't forgotten anything :-) Cheers, Wol
Re: Merge_rests_engraver bug with whole measure rest?
Am 10.12.19 um 10:57 schrieb Thomas Morley: Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen : The example from the manual regarding merging of rests (http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests) show a strange difference between whole measure rests and smaller rests. The crotchet rest in bar one is placed in the middle of the staff whereas the whole note rest in bar two is placed at the top (similar to the placement of the \voiceOne rest in the unmerged staff). Is this intentional or a bug? I would think that the correct placement would be in the middle of the staff. This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well. I can confirm: 2.19.84/2.20.0 contains the fix.
RE: How to remove all notes and only show Chords and Lyrics?
> -Original Message- > From: Dominic Sonntag > Sent: Tuesday, December 10, 2019 8:44 AM > To: lilyp...@de-wolff.org > Cc: lilypond-user@gnu.org > Subject: Re: How to remove all notes and only show Chords and Lyrics? > > This is really quite close, but can I remove that horizontal line and bring > the > chords and lyrics closer together? > > > On 07.12.19 15:50, lilyp...@de-wolff.org wrote: > > > > > >> -Original Message- > >> From: lilypond-user > >> > >> On Behalf Of Dominic Sonntag > >> Sent: Friday, December 6, 2019 11:08 AM > >> To: lilypond-user@gnu.org > >> Subject: How to remove all notes and only show Chords and Lyrics? > >> > >> Hi, > >> > >> in a special case I need a "score" with notes, only chords and > >> lyrics. A basic example is > >> this: > >> > >> \version "2.19.82" > >> \score { << > >> \new ChordNames { s4 f2 c } > >> \new Staff { > >> \relative c' { > >> \partial 4 > >> \time 4/4 > >> \key f \major > >> f8 g | f4. e16 d e c8~ c4 > >> } > >> } > >> \addlyrics { It's not time to make a change, } > } > >> > >> > >> I want the notes and clefs and barlines etc. (the whole staff) not to > >> be shown, but the lyrics should still take the time the notes have. > >> In this little example, the result should look something like this: > >> > >> F C > >> It's not time to make a change, > >> > >> or see my attached image. > >> > >> How can I achieve this? (Maybe with the least effort on changing the > >> input as it is a long > >> song.) > >> > >> Kind regards > >> Dominic > > [>] > > This is not exactly what you want, but it is close: > > \version "2.19.82" > > > > \layout { > > \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible > > \set Staff.printKeyCancellation = ##f > > \context { > > \RhythmicStaff > > \remove "Time_signature_engraver" > > \override Clef.break-visibility = #all-invisible > > } > > } > > > > > > \score { << > > \new ChordNames { s4 f2 c } > > \new RhythmicStaff { > > \new NullVoice > > \relative c' { > > \override Score.BarLine.stencil = ##f > > \partial 4 > > \time 4/4 > > \key f \major > > f8 g | f4. e16 d e c8~ c4 > > } > > } > > \addlyrics { It's not time to make a change, } > >>> } > > > > [>] Try: \layout { \context { \RhythmicStaff \remove "Time_signature_engraver" \override StaffSymbol.line-count = #'0 } \context { \Lyrics \override LyricText.Y-offset = #10.0 } } You can play with the Y-offset, if it is to close for you Jaap
Re: software
On a related "note" -- see what I just did there? ;-) I've just purchased a reMarkable (TM) tablet. I'm not ready to say it's the greatest thing ever, since I haven't really poked around with it much yet, but I was looking for two separate products: * a device that's particularly good at reading PDFs (without trying to be good at everything else). * a device on which I could sketch. I'd looked at a few devices -- most notably Sony's digital paper product and Wacom tablets -- and the reMarkable seemed to be a reasonable compromise. Also I was impressed when I saw a guy at our local hackerspace using one. (In fact, I was unaware of the product until I saw him using it and said "Cool!") Here's the tie in -- more of a fantasy at this point: One of the selling points to me was that it's got a modified Linux under the hood and one can SSH into it. The company also offers a cloud-based feature that promises to turn handwriting into text... That last tidbit looks like the promise of StaffPad. Given the sorta-kinda open sourciness of the reMarkable, I wonder if the company could be nudged into going beyond handwriting translation to notation translation. The reMarkable wouldn't do playback, but if the cloud service is brainy enough to do a decent translation, it might be possible for it to "Save as..." MusicXML or some such, that could then be massaged by Lilypond and / or MuseScore 3 and / or whatever else is out there, and one can SCP files to and from the device... It may be that a more general purpose device from a more proprietary company, using more closed source software would do a better job, but I'd rather try to stay a bit closer to the open when possible. Anyway, just a thought...
Re: software
I don't think they ever released this anyway. Mark, has your email client been hijacked? As an aside, I have noticed in the last few months a surge in spam messages on many mailing lists, including one that I run myself.. Maybe spammers are resorting to that as people get better at blocking spam in personal accounts. Andrew
problems with cues
David I'm sorry my explanations are not very clear, probably because I am a bit confused. However I may be getting somewhere when the Header file is introduced I get Starting lilypond-windows.exe 2.19.81 [Op38_Gg_L2_Test.ly]... Processing `C:/Users/Peter/Lilypool/Music_Files/Farrenc/Work/Op38_Gg_L2_Test.ly' Parsing... warning: no glyph for character U+92 in font `C:/Program Files (x86)/LilyPond/usr/share/lilypond/current/fonts/otf/texgyreschola-regular.ot f' Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `./tmp-lilypond-crrBo6'... Converting to `Op38_Gg_L2_Test.pdf'... Deleting `./tmp-lilypond-crrBo6'... Interpreting music... Interpreting music... Interpreting music... Preprocessing graphical objects... Interpreting music...[8] Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `./tmp-lilypond-LIcuhH'... Converting to `Op38_Gg_L2_Test-1.pdf'... Deleting `./tmp-lilypond-LIcuhH'... Success: compilation successfully completed Completed successfully in 1.9". Despite the Completed successfully in 1.9 there was no music output - just the attached header page . Regards Peter Op38_Gg_L2_Test.pdf Description: Adobe PDF document
Re: Merge_rests_engraver bug with whole measure rest?
Excellent. Hope to see them released in a near future. thx Jens Den tir. 10. dec. 2019 kl. 10.57 skrev Thomas Morley < thomasmorle...@gmail.com>: > Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen > : > > > > The example from the manual regarding merging of rests ( > http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests) > show a strange difference between whole measure rests and smaller rests. > The crotchet rest in bar one is placed in the middle of the staff whereas > the whole note rest in bar two is placed at the top (similar to the > placement of the \voiceOne rest in the unmerged staff). Is this intentional > or a bug? I would think that the correct placement would be in the middle > of the staff. > > This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well. > Attached the image from the locally compiled 2.21.0 NR > > Cheers, > Harm > -- Jens Gyldenkærne Jensen Korshøj 226 3670 Veksø tlf: 2087 3360
Re: Merge_rests_engraver bug with whole measure rest?
Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen : > > The example from the manual regarding merging of rests > (http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests) > show a strange difference between whole measure rests and smaller rests. The > crotchet rest in bar one is placed in the middle of the staff whereas the > whole note rest in bar two is placed at the top (similar to the placement of > the \voiceOne rest in the unmerged staff). Is this intentional or a bug? I > would think that the correct placement would be in the middle of the staff. This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well. Attached the image from the locally compiled 2.21.0 NR Cheers, Harm
Merge_rests_engraver bug with whole measure rest?
The example from the manual regarding merging of rests ( http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests) show a strange difference between whole measure rests and smaller rests. The crotchet rest in bar one is placed in the middle of the staff whereas the whole note rest in bar two is placed at the top (similar to the placement of the \voiceOne rest in the unmerged staff). Is this intentional or a bug? I would think that the correct placement would be in the middle of the staff. (In the snippet below I've added a third staff showing the rest placement with a single voice in the staff. As expected lilypond places both rests vertically centered in this staff) \version "2.19.83" voiceA = \relative { d''4 r d2 | R1 | } voiceB = \relative { fis'4 r g2 | R1 | } \score { << \new Staff \with { instrumentName = "unmerged" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> \new Staff \with { instrumentName = "merged" \consists "Merge_rests_engraver" \consists "Merge-mmrests-engraver" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> \new Staff \with { instrumentName = "single" } \new Voice { \voiceA } >> } -- Jens Gyldenkærne Jensen Korshøj 226 3670 Veksø tlf: 2087 3360