musescore / musescore/MuseScore
Allow Clef Change using --transpose-score for simple leadsheet type situations.
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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