Discussion:
Articulate script plus grace notes following multiple voices results in timing errors
David Baptista
2018-05-04 10:55:18 UTC
Permalink
Good morning,

I have found a bug regarding the use of the articulate script plus grace
notes following the use of multiple voices. The following snippet
successfully reproduces the bug on both the latest stable and unstable
release:

\include "articulate.ly"

music =
{
\time 2/4
<< { c''2 } \\ { c'2 } >>
\grace c'16 c'2
}

\score{
\music
\layout{}
}

\score{
\articulate \music
\layout{}
}

I have also saved this snippet in Lilybin for convenience:
http://lilybin.com/97o636/1

As can be seen on the output, this particular combination of features
results in extra time being erroneously added to the score. If I remove
either the grace note, do not use articulate, or do not use multiple voices
immediately preceding the grace note, the bug does not occur.

Let me also use this opportunity to thank all Lilypond developers for all
the work on such a great typesetting software, I started using Lilypond
gradually and now use it exclusively for all my scores, having used it for
150+ pages orchestral scores. No other software compares!

Best regards,
David Baptista
Torsten Hämmerle
2018-05-04 11:30:39 UTC
Permalink
Hi David,

The articulate script is meant for MIDI output only.
It will try to make the MIDI output more realistic by shortening notes
(staccato), executing trills and apply all kinds of articulations to the
music.

It should not be used on the graphical \layout {} at all.

There is a difference between written music and played music many funny
things can happen when applying \articulate on the graphical output.

All the best,
Torsten



--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
David Baptista
2018-05-04 12:42:37 UTC
Permalink
Thank you for the speedy reply. Unfortunately this problem does manifest
itself in midi, namely in that all subsequent notes will be delayed related
to their desired timing. When minimizing the bug to a minimal snippet I
used layout to help me weed out all the unnecessary musical material
unrelated to the bug. A not as minimal snippet that makes it clearly
audible that the bug causes a permanent timing problem in all subsequent
notes follows:

\include "articulate.ly"

music =
{
\time 2/4
<< { c''2 } \\ { c'2 } >>
\grace c'16 c'2
c'2
c'2
}

accompaniment =
{
\time 2/4
g4 g4
g4 g4
g4 g4
g4 g4
}

\score{
<<
\music
\accompaniment
\layout{}
}

\score{

\articulate <<
\music
\accompaniment
\midi {}
}

(Lilybin link http://lilybin.com/97o636/2).

It is clearly audible that all notes following the second measure are
delayed in relation to their expected timing (which manifests itself in
being out of sync with the accompaniment). The original snippet I provided
shows the bug visually; the extra (erroneous) time introduced manifests
itself in the articulate version not ending in the second bar (if you
remove the grace note or the multiple voices preceding it, it will end in
the second bar as expected).

The bug may sometimes manifest itself in failed bar checks, although not
necessarily (only if the timing shift happens to cause failed bar checks).

Best regards,
David Baptista
Post by Torsten Hämmerle
Hi David,
The articulate script is meant for MIDI output only.
It will try to make the MIDI output more realistic by shortening notes
(staccato), executing trills and apply all kinds of articulations to the
music.
It should not be used on the graphical \layout {} at all.
There is a difference between written music and played music many funny
things can happen when applying \articulate on the graphical output.
All the best,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
Torsten Hämmerle
2018-05-04 13:01:01 UTC
Permalink
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.

That, indeed, calls for a tracker issue.

All the best and thanks for the hint,
Torsten



--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
David Baptista
2018-10-22 16:57:38 UTC
Permalink
Did this bug end up being materialized on the tracker? (I was looking if
there had been any follow-up on the sourceforge bug tracker but was unable
to find it there).

Best regards,
David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
James Lowe
2018-10-24 08:15:34 UTC
Permalink
Hello,
Post by David Baptista
Did this bug end up being materialized on the tracker? (I was looking if
there had been any follow-up on the sourceforge bug tracker but was unable
to find it there).
Best regards,
David Baptista
No it does not look like anything was added to the tracker based on the
date of this thread.

However I am having a struggle understanding what the 'concise' request
is here, to be able to add something - i.e. is it an output / engraving
issue or an 'audio' / midi-specific issue or both (in which case we
probably need two trackers).

Thank you.

James
Post by David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
David Baptista
2018-10-24 09:53:32 UTC
Permalink
I think it is a single issue, but because it happens at the music
expression level, it can manifest itself in both engraving and midi
"rendering". Essentially the articulate script introduces wrong musical
content, that is not present at the input, under certain conditions (an
hypothetical parallel to help categorize the issue would be if articulate
always added a whole bar full of C#'s to the music - it would be a glich
present in both midi and engraving output). In this case we are talking
about adding extra time/pause/rests to the music when articulate processes
a music expression where grace notes follow the use of multiple voices.
Examples:

http://lilybin.com/97o636/2 - Here you cannot see the glitch visually
because the articulate output is not engraved, only used for midi output.
But you can hear from the midi output that extra time has been added to the
top staff after the grace note, resulting in that staff being out of sync
with the staff below.

http://lilybin.com/97o636/1 - Here you can see the glitch visually because
I rendered the articulate output (I understand no one in their right mind
would do this in a normal scenario, but I believe it is helpful here
because we can visualize the extra time that has been added, confirming
that this is not a midi rendering problem, but a problem with articulate
script introducing wrong musical content not present at the input).

(Because GNU's mailing lists archives aren't always easy to follow, an easy
to follow thread archive with the previous discussion of this issue is
available at
http://lilypond.1069038.n5.nabble.com/Articulate-script-plus-grace-notes-following-multiple-voices-results-in-timing-errors-td212650.html
)

Where does this manifest in regular use? Essentially in piano and
orchestral scores, where use of multiple voices within a staff are common
and grace notes are relatively common. Users with this use case relying on
articulate to produce "better than bland" midi output will suffer from midi
output with timing issues (essentially resulting in wrong playback with
some staves being out of time with the rest of the music). The workaround
as of now requires rewriting the music to avoid having grace notes
following multiple voices (in my case this forced me to have different
musical expressions for engraving and for midi output).

Best regards,
David Baptista
Post by James Lowe
Hello,
Post by David Baptista
Did this bug end up being materialized on the tracker? (I was looking if
there had been any follow-up on the sourceforge bug tracker but was
unable
Post by David Baptista
to find it there).
Best regards,
David Baptista
No it does not look like anything was added to the tracker based on the
date of this thread.
However I am having a struggle understanding what the 'concise' request
is here, to be able to add something - i.e. is it an output / engraving
issue or an 'audio' / midi-specific issue or both (in which case we
probably need two trackers).
Thank you.
James
Post by David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
James Lowe
2018-10-24 10:28:26 UTC
Permalink
David,
Post by David Baptista
I think it is a single issue, but because it happens at the music
expression level, it can manifest itself in both engraving and midi
"rendering". Essentially the articulate script introduces wrong
musical content, that is not present at the input, under certain
conditions (an hypothetical parallel to help categorize the issue
would be if articulate always added a whole bar full of C#'s to the
music - it would be a glich present in both midi and engraving
output). In this case we are talking about adding extra
time/pause/rests to the music when articulate processes a music
http://lilybin.com/97o636/2 - Here you cannot see the glitch visually
because the articulate output is not engraved, only used for midi
output. But you can hear from the midi output that extra time has been
added to the top staff after the grace note, resulting in that staff
being out of sync with the staff below.
http://lilybin.com/97o636/1 - Here you can see the glitch visually
because I rendered the articulate output (I understand no one in their
right mind would do this in a normal scenario, but I believe it is
helpful here because we can visualize the extra time that has been
added, confirming that this is not a midi rendering problem, but a
problem with articulate script introducing wrong musical content not
present at the input).
(Because GNU's mailing lists archives aren't always easy to follow, an
easy to follow thread archive with the previous discussion of this
issue is available at
http://lilypond.1069038.n5.nabble.com/Articulate-script-plus-grace-notes-following-multiple-voices-results-in-timing-errors-td212650.html)
Where does this manifest in regular use? Essentially in piano and
orchestral scores, where use of multiple voices within a staff are
common and grace notes are relatively common. Users with this use case
relying on articulate to produce "better than bland" midi output will
suffer from midi output with timing issues (essentially resulting in
wrong playback with some staves being out of time with the rest of the
music). The workaround as of now requires rewriting the music to avoid
having grace notes following multiple voices (in my case this forced
me to have different musical expressions for engraving and for midi
output).
Best regards,
David Baptista
Thank you for that.

I'll take what you have written here and us it to create a new tracker
for this and send an email to the list with the URL/number.

Jamess
Post by David Baptista
Hello,
Post by David Baptista
Did this bug end up being materialized on the tracker? (I was
looking if
Post by David Baptista
there had been any follow-up on the sourceforge bug tracker but
was unable
Post by David Baptista
to find it there).
Best regards,
David Baptista
No it does not look like anything was added to the tracker based on the
date of this thread.
However I am having a struggle understanding what the 'concise' request
is here, to be able to add something - i.e. is it an output / engraving
issue or an 'audio' / midi-specific issue or both (in which case we
probably need two trackers).
Thank you.
James
Post by David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
David Baptista
2018-10-24 10:35:07 UTC
Permalink
Thank you, I reckon it might not be a bug encountered often, but since it
is a consistently reproducible issue, it seemed worth of listing in the
issue tracker.

Best regards,
David Baptista
Post by Torsten Hämmerle
David,
I think it is a single issue, but because it happens at the music
expression level, it can manifest itself in both engraving and midi
"rendering". Essentially the articulate script introduces wrong musical
content, that is not present at the input, under certain conditions (an
hypothetical parallel to help categorize the issue would be if articulate
always added a whole bar full of C#'s to the music - it would be a glich
present in both midi and engraving output). In this case we are talking
about adding extra time/pause/rests to the music when articulate processes
a music expression where grace notes follow the use of multiple voices.
http://lilybin.com/97o636/2 - Here you cannot see the glitch visually
because the articulate output is not engraved, only used for midi output.
But you can hear from the midi output that extra time has been added to the
top staff after the grace note, resulting in that staff being out of sync
with the staff below.
http://lilybin.com/97o636/1 - Here you can see the glitch visually
because I rendered the articulate output (I understand no one in their
right mind would do this in a normal scenario, but I believe it is helpful
here because we can visualize the extra time that has been added,
confirming that this is not a midi rendering problem, but a problem with
articulate script introducing wrong musical content not present at the
input).
(Because GNU's mailing lists archives aren't always easy to follow, an
easy to follow thread archive with the previous discussion of this issue is
available at
http://lilypond.1069038.n5.nabble.com/Articulate-script-plus-grace-notes-following-multiple-voices-results-in-timing-errors-td212650.html
)
Where does this manifest in regular use? Essentially in piano and
orchestral scores, where use of multiple voices within a staff are common
and grace notes are relatively common. Users with this use case relying on
articulate to produce "better than bland" midi output will suffer from midi
output with timing issues (essentially resulting in wrong playback with
some staves being out of time with the rest of the music). The workaround
as of now requires rewriting the music to avoid having grace notes
following multiple voices (in my case this forced me to have different
musical expressions for engraving and for midi output).
Best regards,
David Baptista
Thank you for that.
I'll take what you have written here and us it to create a new tracker for
this and send an email to the list with the URL/number.
Jamess
Post by James Lowe
Hello,
Post by David Baptista
Did this bug end up being materialized on the tracker? (I was looking if
there had been any follow-up on the sourceforge bug tracker but was
unable
Post by David Baptista
to find it there).
Best regards,
David Baptista
No it does not look like anything was added to the tracker based on the
date of this thread.
However I am having a struggle understanding what the 'concise' request
is here, to be able to add something - i.e. is it an output / engraving
issue or an 'audio' / midi-specific issue or both (in which case we
probably need two trackers).
Thank you.
James
Post by David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
James Lowe
2018-10-24 10:57:21 UTC
Permalink
Hello,
Post by David Baptista
Thank you, I reckon it might not be a bug encountered often, but since
it is a consistently reproducible issue, it seemed worth of listing in
the issue tracker.
Best regards,
David Baptista
Added as:

https://sourceforge.net/p/testlilyissues/issues/5431/

Thank you.

James
Post by David Baptista
David,
Post by David Baptista
I think it is a single issue, but because it happens at the music
expression level, it can manifest itself in both engraving and
midi "rendering". Essentially the articulate script introduces
wrong musical content, that is not present at the input, under
certain conditions (an hypothetical parallel to help categorize
the issue would be if articulate always added a whole bar full of
C#'s to the music - it would be a glich present in both midi and
engraving output). In this case we are talking about adding extra
time/pause/rests to the music when articulate processes a music
http://lilybin.com/97o636/2 - Here you cannot see the glitch
visually because the articulate output is not engraved, only used
for midi output. But you can hear from the midi output that extra
time has been added to the top staff after the grace note,
resulting in that staff being out of sync with the staff below.
http://lilybin.com/97o636/1 - Here you can see the glitch
visually because I rendered the articulate output (I understand
no one in their right mind would do this in a normal scenario,
but I believe it is helpful here because we can visualize the
extra time that has been added, confirming that this is not a
midi rendering problem, but a problem with articulate script
introducing wrong musical content not present at the input).
(Because GNU's mailing lists archives aren't always easy to
follow, an easy to follow thread archive with the previous
discussion of this issue is available at
http://lilypond.1069038.n5.nabble.com/Articulate-script-plus-grace-notes-following-multiple-voices-results-in-timing-errors-td212650.html)
Where does this manifest in regular use? Essentially in piano and
orchestral scores, where use of multiple voices within a staff
are common and grace notes are relatively common. Users with this
use case relying on articulate to produce "better than bland"
midi output will suffer from midi output with timing issues
(essentially resulting in wrong playback with some staves being
out of time with the rest of the music). The workaround as of now
requires rewriting the music to avoid having grace notes
following multiple voices (in my case this forced me to have
different musical expressions for engraving and for midi output).
Best regards,
David Baptista
Thank you for that.
I'll take what you have written here and us it to create a new
tracker for this and send an email to the list with the URL/number.
Jamess
Post by David Baptista
Hello,
Post by David Baptista
Did this bug end up being materialized on the tracker? (I
was looking if
Post by David Baptista
there had been any follow-up on the sourceforge bug tracker
but was unable
Post by David Baptista
to find it there).
Best regards,
David Baptista
No it does not look like anything was added to the tracker based on the
date of this thread.
However I am having a struggle understanding what the
'concise' request
is here, to be able to add something - i.e. is it an output / engraving
issue or an 'audio' / midi-specific issue or both (in which case we
probably need two trackers).
Thank you.
James
Post by David Baptista
Post by Torsten Hämmerle
Post by David Baptista
Thank you for the speedy reply.
Ok, I admit it was too speedy...
Yes, you are right, I confirm to have the same effect here.
That, indeed, calls for a tracker issue.
All the best and thanks for the hint,
Torsten
--
http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
Post by David Baptista
Post by Torsten Hämmerle
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
_______________________________________________
bug-lilypond mailing list
https://lists.gnu.org/mailman/listinfo/bug-lilypond
Loading...