musescore / musescore/MuseScore

Allow Clef Change using --transpose-score for simple leadsheet type situations.

Open
#26,366 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Allow --transpose-score to change the clef of the piece. Clearly for multi-clef scores, this won't be something used, but for the use case of lead sheets where the clef stays the same, having the the ability to automate the Clef change (in addition to the transposition) would be very useful.

Problem to be solved

When I maintain a group of songs for an entity (band, educational non-profit, school etc). That will be used in the context of a jazz lead sheet, Currently I can take a song and have one "system of record". This is in Concert pitch, in treble clef. It will include lyrics, melodies, chords, form (and road map items). So different players can easily hop in and play.

For Bb Instruments and Eb Instruments in a jazz setting, I can can use the ---score-transpose to get good looking versions of the system of record piece outputted in these keys.

This is important because I don't want to have the system of record contain multiple parts that when I need to make adjustments I need to manually change 4 different parts to align. Instead, I change only the Treble Clef C version, and using automation, I can overwrite all my pdf outputs with the latest version of the piece with all changes made.

I have an option (as of 4.5.0) with --score-transpose for Bb and Eb, but I would like to be able to change the clef to Bass clef in addition to transposing down a P8 for my Trombones.

My current approach, using the command line to output the mscz to a MusicXML file, then using Score21 in Python to change the clef works, but I lose much of the wonderful engraving in Musescore when I do this. (The chord symbols in particular get really small in this conversion, I love the Jazz Leadsheet look).

Prior art

Not that I am aware of.

Additional context

No response

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

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 locating the --transpose-score command-line implementation and the existing Bb and Eb transposition handling. Trace how clef changes are represented in the score and identify relevant tests or command-line fixtures; done means a simple lead sheet can be transposed and switched to bass clef while retaining MuseScore engraving and without requiring post-processing.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.