Re: Standalone lyrics part
On Tue 29 Aug 2023 at 18:00:47 (-0400), Pierre-Luc Gauthier wrote: > Le mar. 29 août 2023, à 17 h 33, Carl Sorensen a écrit : > > On Tue, Aug 29, 2023 at 3:12 PM Pierre-Luc Gauthier wrote: > >> > >> I need some standalone rhythmically correct lyrics that I place around > >> scores. Devnull seems perfect since it does not create a Staff. Yet, > >> ties and slurs are not taken into account when placing otherwise > >> correct lyrics. Why? Internals Reference says: "2.1.6 Devnull Silently discards all musical information given to this context." so I'm guessing all that's left is the note columns. > >> Take the following MnWE. > >> > >> music = { c'4(~ 2) d'4 } > >> > >> words = \lyricmode { a b c } > >> > >> << > >> \new Staff \new Voice = "1" \music > >> \new Lyrics \lyricsto "1" \words > >> \new Devnull = "2" \music > >> \new Lyrics \lyricsto "2" \words > >> >> > >> > > Use NullVoice instead of Devnull. > > But, doesn't NullVoice create a Staff ? > I am trying to set the lyrics to float in between some random parts. > > music = { c'4(~ 2) d'4 } > > words = \lyricmode { a b c } > > << > \new Staff << > \new Voice = "1" \music > \new Lyrics \lyricsto "1" \words > >> > << % said null part > \new NullVoice = "2" \music > \new Lyrics \lyricsto "2" \words > >> > >> I assume that "standalone" and "float" mean that the position on the x-axis is constrained by the staff above, but not on the y-axis. So you could try: music = { c'4(~ 2) d'4 } words = \lyricmode { a b c } << \new Staff << \new Voice = "1" \music \new Lyrics \lyricsto "1" \words >> \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ } \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ } \new Lyrics \lyricsto "1" { this floats } \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ } \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ } >> \new Staff << \new Voice { c'2 d' e' f' } \addlyrics { next score comes here } >> I've cheated with the y-axis spacing; there are better ways I'm sure. But I'm not really sure what you're after exactly. Cheers, David.
Re: Automatic annotation of slide positions/fingerings for brass instruments.
On 28/08/2023 13:42, samarutuk wrote: The final hurdle with your code now is that it doesn't really take pitch into account. C3 (c) has a different default slide position on the trombone than C4 (c'). So no matter if you notate notes absolute or relative in Lilypond, you would always have to use the absolute pitch (also for transposing instruments) as basis, so that the assigned slide positions or fingerings are correct. Yup. Just remember that defaults aren't always right ... 1+3 doesn't always equal 4 ... I was looking at doing something like this, but I don't seem to "get" scheme programming to be able to do it. And as a trombonist, I often don't use default positions - given that a lot of brass music is fast chromatics, scales or arpeggios, the most appropriate position often depends on the neighbouring notes. And I remember my trumpet/cornet friends - usually when squeaking up high - actively avoiding default positions because they're dreadfully out-of-tune ... Doing this well is a lot harder than it looks. Cheers, Wol
Re: Standalone lyrics part
But, doesn't NullVoice create a Staff ? I am trying to set the lyrics to float in between some random parts. music = { c'4(~ 2) d'4 } words = \lyricmode { a b c } << \new Staff << \new Voice = "1" \music \new Lyrics \lyricsto "1" \words >> << % said null part \new NullVoice = "2" \music \new Lyrics \lyricsto "2" \words >> >> Le mar. 29 août 2023, à 17 h 33, Carl Sorensen a écrit : > > > > On Tue, Aug 29, 2023 at 3:12 PM Pierre-Luc Gauthier > wrote: >> >> Hi there, >> >> I need some standalone rhythmically correct lyrics that I place around >> scores. Devnull seems perfect since it does not create a Staff. Yet, >> ties and slurs are not taken into account when placing otherwise >> correct lyrics. Why? Take the following MnWE. >> >> music = { c'4(~ 2) d'4 } >> >> words = \lyricmode { a b c } >> >> << >> \new Staff \new Voice = "1" \music >> \new Lyrics \lyricsto "1" \words >> \new Devnull = "2" \music >> \new Lyrics \lyricsto "2" \words >> >> >> > Use NullVoice instead of Devnull. > > HTH, > > Carl > -- Pierre-Luc Gauthier
Re: Standalone lyrics part
On Tue, Aug 29, 2023 at 3:12 PM Pierre-Luc Gauthier < p.luc.gauth...@gmail.com> wrote: > Hi there, > > I need some standalone rhythmically correct lyrics that I place around > scores. Devnull seems perfect since it does not create a Staff. Yet, > ties and slurs are not taken into account when placing otherwise > correct lyrics. Why? Take the following MnWE. > > music = { c'4(~ 2) d'4 } > > words = \lyricmode { a b c } > > << > \new Staff \new Voice = "1" \music > \new Lyrics \lyricsto "1" \words > \new Devnull = "2" \music > \new Lyrics \lyricsto "2" \words > >> > > Use NullVoice instead of Devnull. HTH, Carl
Standalone lyrics part
Hi there, I need some standalone rhythmically correct lyrics that I place around scores. Devnull seems perfect since it does not create a Staff. Yet, ties and slurs are not taken into account when placing otherwise correct lyrics. Why? Take the following MnWE. music = { c'4(~ 2) d'4 } words = \lyricmode { a b c } << \new Staff \new Voice = "1" \music \new Lyrics \lyricsto "1" \words \new Devnull = "2" \music \new Lyrics \lyricsto "2" \words >> Am-I using it correctly ? Thanks for any pointers -- Pierre-Luc Gauthier
Re: Automatic annotation of slide positions/fingerings for brass instruments.
On Tue, Aug 29, 2023 at 2:27 AM samarutuk wrote: > Surely some people could benefit from a solution like that. As noted, it > would be very handy for educational purposes in general. Of course, you can > do it manually, but for more extensive scores it is very tedious, typos can > creep in and there is a lot of extra text which makes the Lilypond code > more confusing. The manual fingering function is also single digit as far > as I know. For brass instruments with valves, you usually need one to three > or four digits (see screenshot in attachment) and sometimes also other > characters or brackets for alternate fingerings/slide positions. > > Kind regards > Andreas > You may not be aware of this, but LilyPond is developed and maintained by volunteers. If you wish to have fingering information for brass instruments automatically calculated by LilyPond, you have a few choices: 1. Post a feature request on bug-lilyp...@gnu.org. This probably won't get the feature implemented, but it will be documented as a desired feature. And then perhaps it could be implemented as a GSoC project. 2. Offer to pay a developer to create the feature. It would probably cost more than you are willing to pay, however. 3. Learn how to do it yourself, and contribute a merge request that implements the feature. Nearly all features in LilyPond have been added this way. I created fret diagrams and the fret_diagram_engraver and FretBoards context because I was interested in them. Mike Solomon developed the woodwind fingering diagrams because he was interested in them, etc. It's more work for you, but it's the only sure way to have the features added. Please don't think I'm mocking you or making fun of you. I'm not. I'm just trying to help you understand the realities of getting features added to LilyPond. Thanks, Carl >
Re: Font problem on Mac
> On Aug 27, 2023, at 11:55 PM, Werner LEMBERG wrote: > > I do not think that my Times New Roman font is corrupted. >> >> Actually, I think it is: Most likely the font's 'post' table is >> broken (i.e., it has a wrong PostScript name for glyph 'N'). >> Normally, you won't see the problem at all because most applications >> access a font's 'cmap' table (i.e., a Unicode input value gets >> mapped to a glyph index), which seems to be OK for this font. > > And indeed, I've found this thread > > https://discussions.apple.com/thread/254519584 > > which explains nicely the exact cause of your problem. > > >Werner Thanks! That explains it. David F.
Re: Automatic annotation of slide positions/fingerings for brass instruments.
Here's a little self-help reference I made a little while back. Maybe it will illustrate your point about different positions for different octaves more clearly than words can. Perhaps something in the tablature code can be adapted to this end. On Mon, 28 Aug 2023, 21:44 samarutuk, wrote: > Sorry, I didn't really specify what exactly I was asking. > But your answer was right, thanks! > The final hurdle with your code now is that it doesn't really take pitch > into account. C3 (c) has a different default slide position on the trombone > than C4 (c'). So no matter if you notate notes absolute or relative in > Lilypond, you would always have to use the absolute pitch (also for > transposing instruments) as basis, so that the assigned slide positions or > fingerings are correct. > Here is my slightly modified code to better illustrate what I mean > regarding pitch and different slide positions. Can Lilypond always use the > exact pitch to assign slide positions/fingerings to a note? > > \version "2.24.2" > > #(use-modules (srfi srfi-2)) > > autoFingerings = > #(define-music-function (spec music) (ly:music? ly:music?) >(define (get-fingering ev) > (find (music-type-predicate 'fingering-event) >(ly:music-property ev 'articulations))) >(define (pitch-key p) > (cons (ly:pitch-notename p) >(ly:pitch-alteration p))) >(let ((spec-alist > (filter-map >(lambda (ev) > (and-let* ((pitch (ly:music-property ev 'pitch #f)) > (fingering (get-fingering ev))) >(cons (pitch-key pitch) > fingering))) >(extract-typed-music spec 'note-event > (for-each > (lambda (ev) > (and-let* ((pitch (ly:music-property ev 'pitch #f)) >((not (get-fingering ev))) >(fingering (assoc-ref spec-alist (pitch-key pitch > (set! (ly:music-property ev 'articulations) > (cons (music-clone fingering) > (ly:music-property ev 'articulations) > (extract-typed-music music 'note-event)) > music)) > > spec = { bes-1 f-1 fis-5 c,-"q6" e-2 c-6 d-4 c'-3 eis'-\finger \markup > \normal-text "foo" } > > \autoFingerings \spec {\clef "bass" bes,, c, e fis d c c' eis'' } > > Thanks in advance > Andreas > > Am 28.08.2023 um 11:59 schrieb Jean Abou Samra: > > Hi, > > I'm not sure I understand your problem. If I infer your goal from the > ChatGPT output, you're trying to add a fingering to each note based on its > pitch. Is that right? > > \version "2.24.2" > > #(use-modules (srfi srfi-2)) > > autoFingerings = > #(define-music-function (spec music) (ly:music? ly:music?) >(define (get-fingering ev) > (find (music-type-predicate 'fingering-event) >(ly:music-property ev 'articulations))) >(define (pitch-key p) > (cons (ly:pitch-notename p) >(ly:pitch-alteration p))) >(let ((spec-alist > (filter-map >(lambda (ev) > (and-let* ((pitch (ly:music-property ev 'pitch #f)) > (fingering (get-fingering ev))) >(cons (pitch-key pitch) > fingering))) >(extract-typed-music spec 'note-event > (for-each > (lambda (ev) > (and-let* ((pitch (ly:music-property ev 'pitch #f)) >((not (get-fingering ev))) >(fingering (assoc-ref spec-alist (pitch-key pitch > (set! (ly:music-property ev 'articulations) > (cons (music-clone fingering) > (ly:music-property ev 'articulations) > (extract-typed-music music 'note-event)) > music)) > > > > spec = { c'-1 d'-2 eis'-\finger \markup \normal-text "foo" } > > \autoFingerings \spec { d c eis'' } > > I can't program and have now tried to put together a suitable function > with ChatGPT. Unfortunately this does not work. Here is the code ChatGPT > came up with, maybe it is complete nonsense: > > As with typical ChatGPT output, it looks interesting on the surface but > none of the details makes any sense. > > Best, > > Jean > > > trombone_positions.pdf Description: Adobe PDF document
Re: Automatic annotation of slide positions/fingerings for brass instruments.
samarutuk via LilyPond user discussion writes: > Hi, > I am not sure if I understand "iterated music" correctly? Is it about > the internal order of processing to get to the PDF score? "Iteration" is the main processing pass of music in musical time order. There are several processing stages for music: out of my head: Entry, scorification, iteration (several different internal phases for that as well), page breaking and output. Iteration is done separately for typesetting and MIDI and of course page breaking is just done for typesetting. -- David Kastrup