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

Two voices per staff not rendered in parallel #250

Open
gregchapman-dev opened this issue Mar 18, 2024 · 13 comments
Open

Two voices per staff not rendered in parallel #250

gregchapman-dev opened this issue Mar 18, 2024 · 13 comments

Comments

@gregchapman-dev
Copy link

See attached MusicXML file: four vocal parts (two per staff). Musescore (and Finale) render them correctly, music21j renders them as if the two voices are interleaved as one voice, ending up with twice as many beats per measure as there should be.

Here's MuseScore (correct):
Behind_MuseScore3

Here's music21j (not correct):
Behind_music21j

Here's the MusicXML file:

Processed-2.musicxml.txt

@gregchapman-dev
Copy link
Author

If you give me a pointer or two, I'd be happy to work on this.

@gregchapman-dev
Copy link
Author

@mscuthbert @jacobtylerwalls Interesting! It actually plays correctly in music21j, it's just the visual rendering that's weird.

@jacobtylerwalls
Copy link
Member

Have you compared the result to the same thing without a grand staff?

@gregchapman-dev
Copy link
Author

Hmmm... not sure how to do that in MusicXML. I tried deleting the <part-group> elements, changing this:

  <part-list>
    <part-group number="1" type="start">
      <group-symbol>bracket</group-symbol>
      <group-barline>no</group-barline>
    </part-group>
    <score-part id="P221c7a70916db2b49fc9794328148cc3">
      <part-name />
    </score-part>
    <score-part id="P4f3444e6d4f094bc75a62ea5a2d63b59">
      <part-name />
    </score-part>
    <part-group number="1" type="stop" />
  </part-list>

to this:

  <part-list>
    <score-part id="P221c7a70916db2b49fc9794328148cc3">
      <part-name />
    </score-part>
    <score-part id="P4f3444e6d4f094bc75a62ea5a2d63b59">
      <part-name />
    </score-part>
  </part-list>

and the resulting rendering weirdness was identical.

@gregchapman-dev
Copy link
Author

Oh WAIT. It's not exactly the same. Still wrong, but the first measure is improved.

NoPartGroup

@gregchapman-dev
Copy link
Author

@jacobtylerwalls, any pointers? I'd really like to fix this; this style of score is 90% of what my website will be displaying/messing with.

@jacobtylerwalls
Copy link
Member

Sorry, I don't plan to debug it myself in the near term. I do wonder if comparing it to a fresh example composed in Musescore without grand staves would be illuminating (rather than hand-editing the musicxml).

@gregchapman-dev
Copy link
Author

No worries, I will see what I can figure out.

@mscuthbert
Copy link
Member

This is what I meant by the beta status. There's no one actively working on the project. Contributions are just coming as people need them for their own projects.

@gregchapman-dev
Copy link
Author

Hmmm.... I dropped this same MusicXML file on the OSMD demo site (they parse the MusicXML and use VexFlow to display it), and it has the same bug! So I'm guessing this is actually a VexFlow issue. Yikes. I'll still try to figure it out, but I'll be focused in a different direction.

@mscuthbert
Copy link
Member

btw -- multi-voice music does work in music21j -- I use it a lot.

@gregchapman-dev
Copy link
Author

I'm sure that's true.

I think there is something weird about the scores I am creating that is triggering Vexflow misbehavior.

As mentioned above, the MusicXML renders fine in Musescore. I have also found that export to MEI (via converter21) renders fine with Verovio.

I'll get back to this in time. I'm distracted by some other projects at the moment.

@gregchapman-dev
Copy link
Author

If you want to close this issue, that's ok with me. It really seems like it's either my bug or Vexflow's (or both), not music21j's.

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

No branches or pull requests

3 participants