Rémy—

Whenever I use musicxml2ly on a MusicXML file generated by Smart Score X2,
I get LilyPond code that looks something like this:

{
    a4 b4 c4 d4 e4 f4
    g2 g8 f8 e8 d8 c8
    b8 \times 2/3 {
        a8 b8 c8
    }
}

I would like to create a Python script that would reformat the code to look
like this:

{
    a4 b4 c4 d4 |
    e4 f4 g2 |
    g8 f8 e8 d8 c8 b8 \times 2/3 { a8 b8 c8 } |
}

Please see my response to Urs for more information and more examples of
“messy” code generated by musicxml2ly.

-Devon.


On Thu, Mar 30, 2017 at 5:20 AM Devon LePage <devonlep...@gmail.com> wrote:

> 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 <u...@openlilylib.org> 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 
> listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
> -- ul@openlilylib.orghttps://openlilylib.orghttp://lilypondblog.org
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to