bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: Manual bars: PDF and MIDI have different opinion on melismas


From: David Kastrup
Subject: Re: Fwd: Manual bars: PDF and MIDI have different opinion on melismas
Date: Sat, 17 Mar 2012 13:34:52 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux)

Janek Warchoł <address@hidden> writes:

> I'm forwarding your message to our bug reporting list
> (address@hidden), please use it in the future in similar
> situations.
>
> thanks,
> Janek
>
> ---------- Forwarded message ----------
> From: Frank Steinmetzger <address@hidden>
> Date: Thu, Mar 15, 2012 at 6:24 PM
> Subject: Manual bars: PDF and MIDI have different opinion on melismas
> To: address@hidden
>
>
> Dear list
>
> I just discovered that 2.14 produces different lyrics for PDF and MIDI output,
> when there are manual beams. Is this intentional?

I am not entirely sure that this is a problem of synchronization.  In
the following, the lyrics are spaced totally manually, yet when I play
through timidity, the sound gets quite out of whack with the lyrics
display (which incidentally is not all too hot, either).  Oh, actually I
should apologize for the bass note namer (added for the sake of
accordion play on standard bass), but it can be removed easily enough.

This is, obviously, not a minimal example.  But it might be nice for
people to play with, anyway.

address@hidden:~/scores/agnus$ timidity agnus.midi 
Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 32768, period size 8192 bytes
Playing agnus.midi
MIDI file: agnus.midi
Format: 1  Tracks: 5  Divisions: 384
Sequence: control track
Text: creator: 
Text: GNU LilyPond 2.15.34          
Track name: alto:
Instrument: alto sax
Instrument: harpsichord
 AgnusDeiquitollispecca tamundi,quitollispeccata pecca tamundimisere  
renobis,misere renobis,misere renobis,quitollispeccata,pecca tamundi, 
misererenobis.  AgnusDe iquitol lispecca tamundi,AgnusDe iquitol lispecca ta, 
quitollispeccata, pecca tamundi,quitol lispeccata,  miserere,quitol lispeccata, 
misererenobis,misere renobis,mi sererenobis,misere  renobis, 
misererenobis.Playing time: ~294 seconds
Notes cut: 0
Notes lost totally: 0

\include "deutsch.ly"
\version "2.15.1"

#(set-global-staff-size 15)

vocal = { \key g\minor
          R1*8
          \set autoBeaming = ##f
          \set Voice.midiInstrument = "voice oohs"
          \relative f { d''8[( c]) a[( b]) b2~
                        b8[ a] fis g g2~
                        g8[ f] d es es2~
                        es8  d d2( c4)
                        d r8 d b'16[( g]) c,4 b'8
                        a16[( fis]) c'8 r d, b'16[( g] as4) g8
                        fis[( e]) d a'[( b]) fis g4~
                        g4. a16[ b] a[ f] e[ d] f8[( e])
                        d a[ d] f h,[ d] g4~
                        g8[ e] d[( cis]) d[( b']) fis[( g])
                        g4. fis16[ e] fis[( a] c4) b16[ a]
                        d8[ c] b a b4. a16 g
                        f8[( e]) d a' gis16[( h] d,4) cis16[ h]
                        cis[ e] g8 r f16 e f8 a f( e16[ d]) d4 r r2 R1*3
                        a'8[( g]) e[( f]) f2~ f8[ as] g f e[ fis g a]
                        b[ a] fis g g2~ g8[ b] a[ g] fis[ e] d4
                        d'8[( c]) a[( b]) b2~ b8[ a] fis g g2~ g8[ f] d es es2~
                        es8 d8\fermata r d b'16[( g]) c,4 b'8 a16[( fis]) c'8
                        r d, b'16[( g] as4) g8 fis[ e] d c h16[( d] f4) es16 d
                        es[ d] c8 r4 r8 as'4 g16[ f] es8[ d] c b a16[( e'] g4)
                        f16 e f[ e] d8 r b'4 d,8 cis16[ e] a[ g]
                        fis8[ e] d e[( fis]) a d4~ d8[ es] fis,[( g]) g[( es])
                        h[( c])
                        c( c'4) b16[( a]) d[( b]) a[( g]) b8[( a]) g
                        as4 g16[ f] es8[( h c]) g' fis16[ g] a8 r
                        es16 d \appoggiatura c'8 b8 a16[ g] fis8.[( g16])
                        g4 r r2 R1*4
                        }
}

agnustext = \lyricmode {
  _1*8 A4 -- gnus De2. --  i8 qui tol2. -- lis8 pec -- ca 2 -- _8 ta
  mun2. -- di,4. qui8 tol -- lis4 pec8 --
  ca -- ta _ pec -- ca -- _4 ta8 mun4 -- di8 mi4 -- se8 -- re4 -- _2 _8 re no4
  -- bis,8 mi4 -- se8 -- re2 -- _4 re no -- bis, mi4. -- se8 -- re -- _4 re8
  no4 -- bis,8 qui tol4. -- lis16 pec -- ca4 -- ta,8 pec -- ca -- _4 ta8
  mun8 -- di, _ mi16 -- se -- re8 -- re no4 -- bis. _2. _1*3
  A4 -- gnus De2 -- _4 i8 qui tol2 -- _4 lis8 pec -- ca2 -- _4 ta mun -- di,
  A4 -- gnus De2 -- _4 i8 qui tol2 -- _4 lis8 pec -- ca2 -- _8 ta, _
  qui tol __ lis4 pec8 -- ca -- ta, _ pec -- ca -- _4 ta8 mun4 -- di,8
  qui tol -- _4 lis16 pec -- ca8 -- ta, _4 _8 mi4 -- se8 -- re4 -- re,8
  qui tol -- _4 lis16 pec -- ca8 -- ta, _ mi4 -- se8 -- re -- re
  no4 -- bis,8 mi4 -- se8 -- re4 -- _ re no -- bis, mi8 -- _4 se8 -- re -- re
  no4 -- bis,8 mi4 -- se8 -- re -- _ _ re no -- bis, _ mi16 -- se -- re8 -- re
  no4 -- bis.4
}

melody = {
\set Staff.midiInstrument = "alto sax"
\key g \minor
r4 r8 d'8 b'16( g' c'4) g'16( b')
a'( fis' c''4) b'16( a') b'( g' as'4) g'8
fis'8( e' d') a'( b') fis'( g') d'(
cis') b'( a') cis'' d'' a' f'\trill[ e'16 d']
d'4 r8 c''8 h'16( d'' f''4) es''16( d'')
es''( c'' a'4) g'8 fis'16( a' c''4) b'16( a')
b'( g' cis'4) d'8 e'16( g' b'4) a'16( g')
fis'16( a' es''4) d''16( c'') b'8 a'16 g' d'8[ fis']
g'4 r g'8\p( f') d'( es')
es'2~ es'8 d' h( c')
c'2~ c'8 b g( a)
a4 r8 c'' b'( g') fis'( g')
fis'4 r r b'16( g' c'8)
r4 a'16( fis' c''8) r4 es'16( c' a8)
r2 r4. d'8(
cis') b'( a') cis''( d'') r8 r4
r4 r8 a'\f f''16( d'' g'4) d''16( f'')
e''( cis'' g''4) f''16( e'') f''( d'' es''4) d''8
cis''8( h' a') r r  g'( fis') c''(
b') a'( g') d' cis'16( e') g'4 f'16( e')
f'( d' gis'8) r4 r8 a'8( gis') f''(
e'') b'( a') r8 r2
r4 r8 a f'16( d') g4 d'16(  f')
e'( cis' g'4) f'16( e') f'( d' es'4) d'8
cis'8( h a) e'( f') cis'( d') c''(
b') fis'( g') cis''( d'') a' f' e'16 d'
d'4 r  d''8(\p c'') a'( h')
h'4 b'~ b'8 a' e'( fis')
g' r r4 g'8( es') cis'( d')
cis'2 d'4 r
r2 g'8( f') d'( es')
es'2~ es'8 d' h( c')
c'2~ c'8 b g( a)
a4\fermata r r b'16( g' c'8)
r4 a'16( fis' c''8) r4 es'16( c' a8)
r2 r8 c'( h) as'(
g') f'( es') c' h16( d' f'4) es'16 d'
g'8( h c') r r f'( e') b'(
a') g'( f') d' cis'16( e' g'4) f'16 e'
a'8 cis' d' c'''~ c'''16( a'' d''4) g''16( b'')
a''( fis'' c''4) b'16( a') b'( g' as'4) g'8
fis'( e' d') r r2
r8 es'( d') h'( c'') r r4 r8 es''( d'') fis''( g'') r r4
r4 r8 c'\f h16( d' f'4) es'16( d')
es'( c' a4) g'8 fis'16( a' c''4) b'16( a')
b'( g' cis''4) d''8 e''16( g'' b''4) a''16( g'')
fis''(  a' es'4) d'16( c') b8 d'' d' fis'
g4 r r2
}

bass = \relative c' {
\set Staff.midiInstrument = "harpsichord"
\key g \minor
  g8 r fis r g r e r
  fis r d r g r c, r
  d r fis r g r b r
  a r g r f d a' a,
  d( e f as) g r h, r
  c r es r d r fis r
  g r b r cis, r a r
  d r fis r g b d d,
  g r fis r g r g, r
  c r a r h r f' r
  es r fis, r g r c r
  fis, r fis' r g r es r
  d( c b) fis g r es' r
  fis, r d r g r c r
  d r fis r g r b r
  a r r e f g a a,
  d r f r g r b r
  cis, r a r d r b r
  a r cis r d r d, r
  d' r f r e r cis r
  d r h r e r e, r
  a r cis r d f a a,
  d r cis r d r h r
  cis r a r d r g, r
  a r cis r d r f r
  g r e r f d a' a,
  d r cis r d r d, r
  g r g' r c, c' b a
  g r a r b r e, r
  a r a, r d c b a
  g r fis r g r g' r
  c, r a r h r f' r
  es r fis, r g r c r
  fis,4\fermata r8 fis' g r e r
  fis r d r g r c, r
  d r fis r g r g, r
  g' r as r d, r g r
  c,( d es d) cis( h cis) cis'
  d b( a gis) a r a, r
  d e fis g a g fis e
  fis r d r g r es r
  d r fis r b, es c d
  es d16 c h8 g c r es r
  d c b a g c d d,
  g g' f es d c h g
  c d es c d e fis d
  g a b g cis d e cis
  d a fis d g b,16 c d8 d,
  g4 r r2 }

namer =
#(make-engraver
  (acknowledgers
   ((note-head-interface engraver grob source)
    (let* ((pitch (ly:event-property (ly:grob-property grob 'cause)
                   'pitch))
           (newgrob (ly:engraver-make-grob engraver 'TextScript
                   (ly:grob-property grob 'cause)))

           (name (format #f "~a~a"
                  (string-ref "CDEFGAH" (ly:pitch-notename pitch))
                  (assoc-ref
                   '((-1/2 . "♭") (0 . "") (1/2 . "♯"))
                   (ly:pitch-alteration pitch)))))
     (if (string= name "H♭")
      (set! name "B"))
     (set! (ly:grob-property newgrob 'text) name)))))

rems = \with { \RemoveEmptyStaves
               \override VerticalAxisGroup #'remove-first = ##t }

\header {
  title = "Agnus Dei"
  composer = "J. S. Bach"
}

\paper {
  short-indent = 5\mm
}

\score {
\new GrandStaff <<
  \time 4/4
  \new Staff = alto \with { \rems shortInstrumentName = "Alto"
                     instrumentName = "Alto" }
  { \context Voice { \vocal } }
  \new Lyrics { \agnustext }
  \new Staff \with { instrumentName = "Violino 1 & 2"
                     shortInstrumentName = "V1&2" }
  { \clef "G" \melody }
  \new Staff \with { \consists #namer
                   shortInstrumentName = "Cont."
                   instrumentName = "Continuo"
                   } { \clef "F" \bass \bar "|." }
>>
\layout { }
\midi { \tempo 4=40 }
}

-- 
David Kastrup

reply via email to

[Prev in Thread] Current Thread [Next in Thread]