musescore / musescore/MuseScore

Revamp the "Usable Pitch Range" system

Open
#21,559 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Add some more features to the "Usable Pitch Range" section of the "Staff/Part Properties", like:

  • Allowing to exclude certain specific notes from the "Amateur" Range and mark them as "Professional"
  • Allowing to mark as "Unplayable (red)" some notes within the "Professional" range
  • Adding a toggle to see the written pitches instead of the sounding ones in the pitch table on transposing instruments.
  • Preserve the ranges when changing the instrument's transposition
Problem to be solved

As you probably know, some instruments (especially winds) have some tricky ranges, sometimes with gaps between notes, like:

  • Tenor Trombones with an F valve, which can't play B1 but can play Bb1 and below, and C2 and above. Without a valve, you have all the range from D2 to B1 being unplayable.
  • Recorders, which have their Written C6/F6 and D6/G6 as a part of the standard register, but C#6 can't be played normally without using your knee or some other way.
  • You know the drill.

Marking specific notes as Professional or Unplayable within the normal ranges would reduce the number of people using unplayable or less convenient notes, and well, it also feels more "Pro" when the program knows that little detail about your instrument. 😉

Sometimes you also want a work to feature your, let's say, newly made Bass Clarinet in C and your Flute in D (or some other crazy instrument not in the list), so you go to the Staff/Part settings and move the transposition, just to find out the ranges didn't move so you'll have to do it manually.

Prior art

No response

Additional context

Some more other features might come to mind but I'm not sure they totally belong here...

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 with the Staff/Part Properties section and its Usable Pitch Range system. Define how note exclusions, written versus sounding pitches, and transposition changes should interact, using the trombone and recorder examples as behavioral references. Done means all four requested behaviors are supported consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.