musescore / musescore/MuseScore

MIDI Output incorrect after there are two voices in unison

Open
#30,684 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

MIDI P2 UX/interaction
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

UX/Interaction bug (incorrect behaviour)

Description with steps to reproduce
  1. Create a score with 2 instrument parts
  2. On the second instrument enter notes for 2 voices with one note in unison followed by non-unison notes
  3. Export that second instrument part to MIDI
  4. Open the MIDI file and see the unison note gets continued after the note should have ended.
  5. Expected behavior is to have same notes in original score and in MIDI.
Supporting files, videos and screenshots

Screenshots of an original simple score, the MIDI export of the second instrument only, the MIDI export of the Main Score.

Image Image Image
In which versions of MuseScore Studio is this issue present?

OS: macOS Sequoia (15.7), Arch.: arm64, MuseScore Studio version (64-bit): 4.6.2-252830930, revision: github-musescore-musescore-d8d4f8f

Regression

I was unable to check

Operating system

macOS Sequoia

Additional context

Note that an export of the Main Score to MIDI creates a shortened note for the unison note. While export of the instrument part only creates the extended duration note. It also appears, in my testing, that the extended duration not will occur only when there is a part ABOVE the instrument part with the two voices in unison.

Checklist
  • This report follows the guidelines for reporting bugs and issues
  • I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
  • I have attached all requested files and information to this report
  • I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the two-voice unison case from the issue and compare MIDI exports of the instrument part and the main score. Trace the MIDI export path for note durations across voices and parts; done means the exported MIDI preserves the original note endings in both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.