musescore / musescore/MuseScore

MusicXML alter element imported into an accidental or ignored

Open
#23,064 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Issue type

Import/export issue

Bug description

The MusicXML alter element is not imported verbatim into the note tuning.

As far as I can tell, the current behavior does the following:

  • If the alter value corresponds to an existing accidental alteration value, the accidental is used
  • If the alter value does not correspond to any accidental, it is ignored
  • If an accidental is specified in the MusicXML, it is imported but the alter value is ignored

This behavior is confusing and ultimately incorrect, because it means that non-standard tunings cannot be imported from MusicXML. As a specification, MusicXML decouples the usage of the accidental (for display only) from the alter value (for playback).

Steps to reproduce

Examine the attached MusicXML score and observe the 3 cases mentioned in the description:

  • Measure 1 E has an alter value of -0.5 and an accidental
  • Measure 3 D has an alter value of +0.05
  • Measure 3 E has an alter value of -0.15 and an accidental

On import:

  • Measure 1 E is imported correctly
  • Measure 3 D alter value is ignored
  • Measure 3 E is imported with correct accidental but alter value is ignored and replaced with a MuseScore default
Screenshots/Screen recordings

No response

MuseScore Version

4.3.1-241490902, revision: github-musescore-musescore-026c26b

Regression

I don't know

Operating system

Pop!_OS 22.04 LTS

Additional context

No response

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 importing the attached rast-tetrachord.zip MusicXML score and trace the MusicXML import handling for alter and accidental values. Done means non-standard alter values are preserved for playback independently of display accidentals, including the three reproduced 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
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.