musescore / musescore/MuseScore

<note ... dynamics="xx.xx"> on each note of a MIDI import.

Open
#27,934 12 comments 1 reaction 1 assignee View on GitHub

@bkunda is already working on this.

Since May 6, 2025.

needs review
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

MIDI Import / Dynamics Bug

I'm requesting an "in score" means for making dynamics function on imported MIDI

Description and Steps to Reproduce

I've encountered various insurmountable problems when importing MIDI files in MuseScore 4. This post is about importing a MIDI file into MS4.5.2 and finding added dynamics non-functional.

Steps to Replicate
  • make a simple MIDI file in a DAW or similarly capable app ( I used Logic Pro X; file attached)
  • export to a .mid file
  • import the .mid file to MuseScore Studio 4.5.2
  • add some dynamic mark objects in MuseScore. See if they affect playback. Mine never do.
Issue

None of the dynamic marks have any effect.

Investigation

After exporting to uncompressed MusicXML I see that each note element includes a dynamics attribute:

     <note default-x="267.87" default-y="0" dynamics="88.89">

How to fix ... via an unpleasant workaround

  • Export the MuseScore 4.5.2 file to uncompressed MusicXML
  • In a text or XML editor delete every dynamics="88.89" attribute
  • Save
  • Open the MusicXML in MuseScore Studio 5 ... and hold hope that it was a pristine XML roundtrip
Result

     The dynamics become functional

Why I'm requesting an "in score" means for deleting the dynamics attribute.

There's no guarantee that a MusicXML roundtrip will produce a score that's identical to the original score. Also it requires more steps than I care to take.

Update 2025-05-04 Whatever the proposed solution I think it should preserve/incorporate MIDI velocities, i.e. it should not level all velocities to a single value. If that's not possible isn't MuseScore painfully offtrack on this issue.

Recommendation

Modify the MIDI import method to alert the user: offer to ignore/delete the attribute; appropriately incorporate the MIDI velocity in User/Absolute MuseScore velocity. Alternately MuseScore could have a Clean Up function that detects such conflicts and offers to repair them.

You can find a larger example MIDI file import and dynamic-less playback path this .org post

https://musescore.org/en/node/378220

Supporting files, videos and screenshots

C scale from Logic Pro X.mid.zip

C scale from imported from Logic Pro X MIDI export MS4-5-2.mscz.zip

C scale from imported from Logic Pro X MIDI export MS4-5-2.musicxml.zip

C scale from imported from Logic Pro X MIDI export MS4-5-2 Healed.txt

What is the latest version of MuseScore Studio where this issue is present?

MS 4.5.2

Regression

I was unable to check

Operating system

Mac OS 13.5.2

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.