Hi Martin,
Thanks for willing to try it out!
I am aware of the possibilities to use MuseScore from the command line.
It is indeed undervalued for that. For me though, MuseScore is currently
much more a production tool in which I can use notation than a notation
program.
Whether mscx2ly will do a better job depends on what you want it to do.
For me it is taking the basics from MuseScore and taking them to
Lilypond in order to form a base line that I can then work on using
Lilypond. My use case is that I create an arrangement in MuseScore, from
which I create MP3s, as well as Lilypond notation and keep things in
sync when the arrangement needs to change (which is expected to happen
quite a few times on the way to the performance).
So, I want to make both sounding examples that give good hints at how I
would like it to be performed, as well as notation that actually
reflects my intentions. To get the right type of musical performance In
MuseScore requires adding all kinds of additional articulations that
would be confusing to people if they had to read that.
That is why I wrote mscx2ly: to act like a filter, where I filter out
the notation elements that I don't want to end up in Lilypond. In my
experience, MusicXML and the MusicXML import into Lilypond doesn't allow
me to do that. Moreover, scores imported from MusicXML often interfere
with the Lilypond defaults, and I rather have the Lilypond defaults instead.
cheers
Maurits
Op 6-11-2024 om 08:33 schreef Martin Tarenskeen:
Sounds like an interesting project, and will surely give it a try.
But currently I use my own homemade commandline script that calls
musescore (without GUI, as shell command with the -o option) to
convert .mscz or .mscx to MusicXML and then call musicxml2ly to
convert it to Lilypond format. It will be interesting to see if this
new tool will do a better job. In the current state I doubt it, but it
will be crucial to see what will be maintained and developed better in
the future.
Few people know that musescore has a lot of power when used as a
commandline conversion tool. It can read and write several file/data
formats. The commandline is great for batch processing. (At least it
is for me as a Linux user)
Martin
Martin
Op dinsdag 5 november 2024 om 22:14:38 -08:00:00 schreef Knute Snortum
<ksnor...@gmail.com>:
On Tue, Nov 5, 2024 at 8:49 AM Maurits Lamers via LilyPond user
discussion <lilypond-user@gnu.org> wrote:
Hey all,
I happened to be in the need of converting a few pieces of music
written
using MuseScore and create Lilypond notation. That functionality
seems
to have been originally been included with MuseScore but was removed
already some time ago.
As there was nothing that I could find that would do what I
wanted (and
I probably also didn't look very hard), it seemed to be easier to
simply
write one.
This converter doesn't attempt to be a full converter. There are too
many differences, and as the README already states MuseScore needs
trickery with articulations to get a bit more musical sound. It
can at
least save you having to manually copy a lot of notes. I wrote it
using
files saved by MuseScore version 4.4.3, so your milage with other
versions might vary.
https://www.npmjs.com/package/mscx2ly
https://github.com/mauritslamers/mscx2ly
Please try it out and contribute if you want!
I wasn't able to get mscx2ly to convert; I got this error:
```
mscx2ly SimpleGifts.mscx SimpleGifts.ly
file:///usr/local/lib/node_modules/mscx2ly/lib.js:621
const orderInfo = readOrderInfo(MSCData.museScore.Score[0].Order[0]);
^
TypeError: Cannot read properties of undefined (reading '0')
at convertMSCX2LY
(file:///usr/local/lib/node_modules/mscx2ly/lib.js:621:69)
at mscx2ly
(file:///usr/local/lib/node_modules/mscx2ly/index.js:30:20)
Node.js v18.19.1
```
I cloned the repository and ran `npm install mscx2ly --global`. The
file I tried to convert is attached. I'm on Ubuntu 24.04.1.
--
Knute Snortum