musescore / musescore/MuseScore
json cli [music scrolll + parts] export into audio [mp3, wav]
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
When working with a set / a compilation of music scrolls at some point I want to:
- export the music scores,
- as well as their parts,
- in a self-defined structure
using a cli batch mode / .json file.
As of the current version 4.6.5 of MuseScore, these the cli .json export is rather limited.
Problem to be solved
Currently: pdf, mxl, and mid exports work fine. But not .mp3, or .wav.
Here's an example of a .json structure:
[
{
"in": "myScore1.mscz",
"out": [
"./pdfs/myScore1.pdf",
"./mxls/myScore1.mxl",
"./audio/myScore1.mid",
"./audio/myScore1.mp3",
["./pdfs/parts/myScore1 (", " part).pdf"]
]
},
{
"in": "myScore2.mscz",
"out": [
"./pdfs/myScore2.pdf",
"./mxls/myScore2.mxl",
"./audio/myScore2.mp3",
["./pdfs/parts/myScore2 (", " part).pdf"]
]
}
]
Another, thing that is missing in the .json cli is, to export the audio parts as well. So sth like:
[
{
"in": "myScore1.mscz",
"out": [
"./pdfs/myScore1.pdf",
"./mxls/myScore1.mxl",
"./audio/myScore1.mid",
"./audio/myScore1.mp3",
["./pdfs/parts/myScore1 (", " part).mp3"]
]
},
{
"in": "myScore2.mscz",
"out": [
"./pdfs/myScore2.pdf",
"./mxls/myScore2.mxl",
"./audio/myScore2.mp3",
["./pdfs/parts/myScore1 (", " part).mp3"]
]
}
]
And finally, I would be great if one could simplify the syntax of the parts in the json:
["./pdfs/parts/myScore7 (", " part).pdf"]
Ideally this could simply look for example like:
"./pdfs/parts/myScore7 ($PART).pdf"
Prior art
No response
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 at MuseScore's CLI JSON batch export entry point and compare how PDF, MXL, and MIDI outputs are handled. Identify the existing audio and parts-export paths, then determine tests for MP3/WAV scores and parts plus the proposed $PART syntax; the work is done when these outputs work in batch mode with the requested structure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100