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

Reply via email to