It turns out there are many standalone programs which convert MIDI to an input file for lilypond.
https://lilypond.org/doc/v2.24/Documentation/usage/invoking-midi2ly
It's unknown how well they work. The MIDI converters still have to perform automatic accidental assignment.
The pipeline would begin with MIDI data hacked to produce shortpaw notation. Lilypond would be called to output a PNG image. It would redraw the entire captured score after every MIDI event. The only missing pieces are extents of all the notes for graphical editing & drawing of an insertion point.
https://lilypond.org/doc/v2.24/Documentation/usage/configuring-the-system-for-point-and-click
There is some support for hyperlinking its PDF & SVG output. That seeds the output files with coordinates of each note, in a roundabout way, but you have to render PDF or SVG output.
https://lilypond.org/doc/v2.24/Documentation/notation-big-page.html#graphic
It does support drawing polygons in arbitrary colors to indicate the insertion point. Arbitrary notes can be colored to indicate where an edit would be applied. Navigation could be through arrow keys.
It's unknown if it's fast enough for interactive MIDI capturing an entire score & cursoring through all the notes. It seems the pipeline would have to render 1 measure at a time & resort to custom software for line wrapping. That would only be practical if all the notes were the same duration.
Most of the lilypond example scores are on https://www.mutopiaproject.org/instruments.html They were manely manually transcribed 10 years ago. There are a lot of version incompatibilities.
It takes 2.5 seconds to render the 4 page rach prelude in C# minor on a 2.4Ghz ryzen. It takes 1 second to render 1 page examples, 2.6 seconds to render the 6 page revolutionary etude. That would be pretty slow for incremental MIDI capture.
Not sure why it's so slow. It might be rendering every bezier curve in the notation font files. Someone made a lilypond server 10 years ago.
https://github.com/lyp-packages/lys
Similarly noting the slowness. The claimed speed improvement still wasn't very compelling.
https://lilypond.org/easier-editing.html
The interactive front ends all seem to use their own low fidelity music renderers for graphical editing & use lilypond for a high quality final output. At this point, what lions have done from scratch could still be useful for the capturing stage but it could never produce a final score.
The only way to convert that into a final score would be to export a lilypond file. Of course, there would be no way to insert further MIDI data after it's in lilypond format unless lilypond was also used for the capturing. Still not practical if it's rendering 1 measure at a time. After applying timing, computing all the measures would be a rough go. Amendments like that might be rare & minor enough to not require reloading in the MIDI capture program.
Helas, the raspberry pi's in the music display are very slow & would have to be reflashed to compile lilypond. Lions aren't financially prepared to upgrade. It would entail a 4k monitor. For the MIDI capture, it has to do a lot of stuff outside of lilypond, basically most of what it does now with accidentals, staffs, key signatures, & an insertion point. That wouldn't go way.
lion mclionhead
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.