Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grace note playback is far too rushed #18699

Closed
rgreen5 opened this issue Jul 19, 2023 · 7 comments · Fixed by #20453
Closed

Grace note playback is far too rushed #18699

rgreen5 opened this issue Jul 19, 2023 · 7 comments · Fixed by #20453
Assignees
Labels
P2 Priority: Medium playback General playback issue regression MS3 Regression from MS3 (3.6.2)

Comments

@rgreen5
Copy link

rgreen5 commented Jul 19, 2023

Issue type

General playback bug

Bug description

Playback of acciaccaturas in MS3 was tolerably good. However, in MS4 (using MS Basic), playback of the same grace notes is far too rushed – to the point that the individual notes are scarcely distinguishable.

Steps to reproduce

  1. Open the attached file in MS3 and MS4.
    playback_grace_notes.zip

  2. Compare the playback of acciaccaturas in measures 6 and 8 in both cases.

RESULT: Playback in MS3 is acceptably good. In MS4 the same grace notes have a shorter time to complete playback and sound very rushed. The result is not very musical.

MuseScore Version

MuseScore version (64-bit): 4.1.0-231921359, revision: github-musescore-musescore-2e3a93a

Regression

Yes, this used to work in MuseScore 3.x and now is broken

Operating system

OS: Linux Mint 20.1, Arch.: x86_64

@muse-bot muse-bot added playback General playback issue regression MS3 Regression from MS3 (3.6.2) labels Jul 19, 2023
@oktophonie
Copy link
Contributor

State that it's a regression in the body of the report, not the title.

@oktophonie oktophonie changed the title Grace note playback is far too rushed (regression from MS3) Grace note playback is far too rushed Jul 19, 2023
@github-project-automation github-project-automation bot moved this to To triage in MuseScore 4.2 Jul 21, 2023
@bkunda bkunda added the P2 Priority: Medium label Jul 21, 2023
@bluebear94
Copy link
Contributor

Notes:

  • this doesn’t affect ornament playback
  • Score::createPlayEvents is never called when grace notes are added or removed; you have to use a plugin to force MuseScore to recalculate play events for these notes. But somehow, the grace notes still play even when Score::createPlayEvents is not called.
  • In measure 17 of this score, MuseScore 3 creates the following play events for the chord with the grace notes: 0 – 190‰, 190 – 380‰, and 381 – 969‰. MuseScore 4, when forced to do so with a plugin, creates the play events at 0 – 125‰, 125 – 250‰, and 250 – 962‰.

@bluebear94
Copy link
Contributor

bluebear94 commented Jul 22, 2023

Update:

In MuseScore 3, a group of acciaccature takes 65 ms or 50% of the parent chord’s duration, whichever is less (libmscore/rendermidi.cpp).

In MuseScore 4, the “available grace note duration” of a group of N acciaccature has a duration of either the duration of N 64th notes or 50% of the parent chord’s duration (whichever is less; src/engraving/playback/renderers/gracechordsrenderer.cpp) and is further limited by the total duration shown by the grace notes. I’m open to how we want to change this. Personally, I prefer the MuseScore 3 behavior, but I’d like to hear any rationale on why this was changed.

@DmitryArefiev
Copy link
Contributor

Fixed in #20453

@scorster
Copy link

scorster commented Jun 12, 2024

A few questions:

  1. Is there agreement in the development team on whether "crushed" acciaccatura grace notes delay the onset of the parent note? My opinion is that they should not impart a delay to the onset of the parent note. Rather I'd want them to start within the tail of the previous beat note or rest. For the record, I did not hear this effect in MS3. I hope this can be accomplished, or at least allowed … as there is much debate and contention on the proper timing.

  2. Is there a consensus on the ideal length of the acciaccatura grace note? Should that be fixed or tempo based?

  3. Currently in MS 4.3.1, is any option for attenuating such behaviors, and saving them as a style. If not, Is there intent to allow the user to define their own acciaccatura styles? That would be greatly welcomed and would allow me to design grace notes to sound the way I wish and expect.

  4. I'd like similar options for designing mordents, particularly upper mordents. In Celtic music upper modest symbols are used to designate "short rolls" and "long rolls." Rather than getting pre-packaged one-size-fits-all results, I could make them sound as intended—even with swing–if mordent design options and styles existed in MuseScore.

@dcorson-ticino-com
Copy link

1. Is there agreement in the development team on whether "crushed"  acciaccatura grace notes delay the onset of the parent note? My opinion is that they should not  impart a delay to the onset of the parent note. Rather I'd want them to start within the tail of the previous beat note or rest. 

What I learned in music school is that the difference between an acciaccatura and a "normal" grace note is that the acciaccatura ends on the beat and the normal grace note starts on the beat.
As such an acciaccatura does note delay the start of its parent note, but a normal grace note does.

@scorster
Copy link

scorster commented Jun 12, 2024

dcorson-ticino-com wrote > the acciaccatura ends on the beat ... As such, an acciaccatura does not delay the start of its parent note

Agreed. And if an acciaccatura ends "on the beat" (that is, if it ends at the onset of its parent note) then it must start before the parent note. Unfortunately Musescore's acciaccaturas currently do delay the onset of the parent note.

Here's a comment in a .org discussion dating back to 2018 (and in that thread it's said that earlier versions of MuseScore did not delay of the onset of an acciaccaturas parent note:

https://musescore.org/en/node/110301#comment-839941

Not sure what you mean by a "normal" grace note. An appoggiatura? If so, yes. It delays the onset of the parent note.

I don't know if we'll ever have a consensus on a proper default start time and length, but we if we get grace note playback properties and styles scorists can define and invoke the sounds they intend.

scorster

RomanPudashkin added a commit to RomanPudashkin/MuseScore that referenced this issue Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 Priority: Medium playback General playback issue regression MS3 Regression from MS3 (3.6.2)
Projects
Development

Successfully merging a pull request may close this issue.

9 participants