lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond document reformatting script?


From: Devon LePage
Subject: Re: Lilypond document reformatting script?
Date: Thu, 30 Mar 2017 12:20:47 +0000

Urs—

Here are 2 gists that contain “messy" excerpts from a MusicXML file:

https://gist.github.com/devonlepage/7b6b373bd4a16aac92eae68f7534113e
https://gist.github.com/devonlepage/6c92575e38f3e6e2bd78d07b35c6059c

These are from a transcription of a John Coltrane performance, unrelated to my main project. When I use musicxml2ly on any MusicXML files created in Smart Score X2, I have similar issues. As you can see:

—there is not a bar-check after every measure
—bar-checks occur infrequently and in more-or-less random locations within the document (in the full document, they occur at bars 62, 65, and 68, but then not another until bar 105!)
—sometimes bar-checks appear as “\barNumberCheck” followed by the expected bar number, but these checks also seem to occur at random
—the first notes of a measure do not reliably appear at the beginning of a line of code
—tuplets are always spaced across 3 lines
—inconsistent whitespace around braces, especially tuplets (look at the final one in the 2nd gist)

-Devon.

On Thu, Mar 30, 2017 at 3:20 AM Urs Liska <address@hidden> wrote:



Am 30.03.2017 um 10:45 schrieb Devon LePage:
I’m currently working on a project that involves importing a lot of music into LilyPond via MusicXML. (Before this, the music is scanned and OCR-ed in Smart Score X2, if that is relevant.)

Unfortunately, the resulting LilyPond code is a bit messy and difficult to read. I'd like to reformat these files so that there’s only one measure on each indented line.

Doing this by hand takes up a significant amount of time, so I’ve been trying to create a python script that uses the ly.lex package to do this. Has anyone already done this? I couldn’t find anything, so I tried to do it myself. But after four hours of frustration I'm starting to think that I might be too much of a novice to figure this out. There are just too many moving parts for me—I’m having a hard time just figuring out how to add a newline in the middle of a small lilypond document. I’m also unsure how to incorporate tuplets into the determination of a measure.

I’m wondering if there’s a wizard here on the mailing list who might be able to help me out? (Another dream would be to have a function that adds a second newline after every group of N-measures.)

At the very least, maybe someone could point me in the right direction: what do I need to read/understand to figure this out? How would one go about doing this?

I've only tested one random MusicXML file, so I can't fully comment.
But it seems that musicxml2ly generates barchecks ("|") for every measure. So you can simply use *these* to identify possible line breaks, without actually going down the road of analyzing the content.

But my converted file actually *did* place one measure in a line, so I don't see your problem. Could you please share some of that "messy" LilyPond code?

Urs



Thanks,
-Devon.


_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

reply via email to

[Prev in Thread] Current Thread [Next in Thread]