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

Default Style Audit - Bach Minuet in G #441

Open
Silverwolf90 opened this issue Aug 29, 2016 · 16 comments
Open

Default Style Audit - Bach Minuet in G #441

Silverwolf90 opened this issue Aug 29, 2016 · 16 comments

Comments

@Silverwolf90
Copy link
Contributor

Silverwolf90 commented Aug 29, 2016

@0xfe has been working on a simple full-score example in VexFlow. Even though it's still in progress I thought this was a great opportunity to assess VexFlow's default style. Almost everything in the example consists of defaults except for the slurs' (ie Curve) control points, which are manually set.

Bach Minuet in G

Stylistic Issues:

  1. Key signature too far away from the clef
  2. Time signature too far away from key signature
  3. Time signature numbers are too small
  4. Fingering 2 not centered over notehead (Bar 6)
  5. Gracenote is a bit too far away from the note (Bar 8)
  6. Left modifiers increase spacing between objects when not needed (Bar 1, 7, 9, 15) or by too much (Bar 8)
  7. Beam sitting between staff lines (Bar 11) (Improve quality of beams within the stave by using staff line positions #432)
  8. Beam angles are too aggressive
  9. Beams feel a bit thin
  10. Metronome mark too close to tempo text
  11. Too much spacing between beamed inner notes. (Bar 14)
  12. Too much spacing between last two notes (Bar 15)
  13. Slurs are too thick
  14. Slurs endpoints should be centered over the notehead if on the notehead-side
  15. Slur endpoints shouldn't start on staff lines
  16. Slur endpoints should go above staccato dots
  17. Augmentation dots are a bit close to notehead
  18. The thin/thick repeat barlines are too close to each other
  19. Repeat barline dots too close to barline
  20. Notes before/after repeat are too close to the barline

Disclaimer: This is naturally a bit opinionated, but I don't think I've said anything too controversial.

@Silverwolf90 Silverwolf90 changed the title Style Audit - Bach Minuet in G Default Style Audit - Bach Minuet in G Aug 29, 2016
@mscuthbert
Copy link
Collaborator

Fantastic.

M. 8 -- the "grace" note should not have a slash through it -- it's an appogiatura. (B-quarter note + A half note).

@0xfe
Copy link
Owner

0xfe commented Aug 29, 2016

Thanks for the audit, Cyril. This is exactly what I was hoping to get from the demo. Do you mind numbering them, so it's easier to refer to them in comments?

@Silverwolf90
Copy link
Contributor Author

Done!

@Silverwolf90
Copy link
Contributor Author

Silverwolf90 commented Aug 30, 2016

I'm changing:

Left modifiers increasing initial stave padding by too much (Bar 9, Bar 15)

to

Left modifiers increase spacing between objects when not needed (Bar 1, 7, 9, 15) or by too much (Bar 8)

@rvilarl rvilarl mentioned this issue Mar 24, 2022
@rvilarl
Copy link
Collaborator

rvilarl commented Jan 8, 2023

@ronyeh @mscuthbert @sschmidTU @AaronDavidNewman @0xfe @Silverwolf90 once #1519 is merged we will get the image below. I think that it is now the right time:

  • to reassess the rendering of this score
  • to decide which other scores we would like to add to the test suite. I have been working on https://github.com/stringsync/vexml with @jaredjj3 and it should be possible to create tests based on musicxml files.

Bravura
pptr-Bach_Demo Minuet_1 Bravura svg_current
Gonville
pptr-Bach_Demo Minuet_1 Gonville svg_current

@mscuthbert
Copy link
Collaborator

Will think of other test pieces soon. There's a tradition of including Trio no 1 from the Mozart Clarinet Quintet in music notation projects. It'd be good to have a piece with texts, and also to show that Vexflow is for all people, some music not by white-male-Europeans. I have an Amy Beach score in musicxml that I use as a Vexflow demo, but it requires music21j etc. -- I haven't ever coded a whole work directly in Vexflow.

One thing that I've always wanted to PR on, but always forget is that the grace note in m8 should not have a slash through it (and often without a flag). It's a quarter note appogiatura (subtracts one beat from the dotted half note.) Oh, and the minuet isn't by Bach; it's by Christian Petzold. :-) https://en.wikipedia.org/wiki/Minuets_in_G_major_and_G_minor

@ronyeh
Copy link
Collaborator

ronyeh commented Jan 11, 2023

Nice.

For VexFlow 5, we should rename this to "Demo - Petzold".... then we can add other standard demos to our test suite, including "Demo - Beach", "Demo - Joplin", etc....

@mscuthbert
Copy link
Collaborator

Joplin is always a good choice -- out of copyright, fun, diverse, and often introduces cross-staff problems.

ronyeh added a commit to ronyeh/vexflow4 that referenced this issue Jan 11, 2023
@ronyeh
Copy link
Collaborator

ronyeh commented Jan 11, 2023

One thing that I've always wanted to PR on, but always forget is that the grace note in m8 should not have a slash through it (and often without a flag). It's a quarter note appogiatura (subtracts one beat from the dotted half note.)

Thanks for pointing it out. :-) I stole your PR with this fix: https://github.com/0xfe/vexflow/pull/1521/files

mscuthbert added a commit that referenced this issue Jan 11, 2023
Addresses a grace note issue mentioned in the #441 thread.
@rvilarl
Copy link
Collaborator

rvilarl commented Jan 17, 2023

Joplin is always a good choice -- out of copyright, fun, diverse, and often introduces cross-staff problems.

@ronyeh @mscuthbert @jaredjj3 I will go for Gladiolus Rag.
@sschmidTU the cross-staffs are not handled in OSMD, right?

@sschmidTU
Copy link
Contributor

sschmidTU commented Jan 20, 2023

@rvilarl If you mean cross-staff beams, no, they're not handled in OSMD, because they weren't supported in Vexflow 1.2.93.
(if you're talking about Gladiolus Rag specifically, please provide a link to the MusicXML)
Would be great to implement them though with Vexflow 4+, looking forward to that!

@rvilarl
Copy link
Collaborator

rvilarl commented Jan 20, 2023

(if you're talking about Gladiolus Rag specifically, please provide a link to the MusicXML)

https://musescore.com/user/58480/scores/1749906

@sschmidTU
Copy link
Contributor

sschmidTU commented Jan 23, 2023

@rvilarl thanks! Unfortunately I can't download the MusicXML because I don't have a Musescore subscription, though I guess I don't need it for now.

By the way, actually OSMD has a lot of cross-beam support internally (data model), because we support it in our mobile app which has its own renderer, from which OSMD's code is derived. We just never activated/adapted much of the graphical code in OSMD because Vexflow didn't have cross-stave beam support.

@rvilarl
Copy link
Collaborator

rvilarl commented Jan 25, 2023

@sschmidTU the score is public domain and I downloaded it with a free subscription. Should I make a PR to include it in your test set?

@sschmidTU
Copy link
Contributor

Ah, thanks, it can be downloaded just by logging in with a free account.
No, I don't see the value for the test set before we have cross stave beams, and it's quite big, but thanks!

@rvilarl
Copy link
Collaborator

rvilarl commented Feb 12, 2023

FYI getting there with Joplin

https://jsfiddle.net/v53kesbp/2/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants