The MIDI transcriber would be an extension of the previously written https://hackaday.io/project/179967-lcd-music-display music display, since lions never expect to have a piano & a PC accessible at the same time.
The lion kingdom had a novel shortpaw notation system in mind for over 30 years, whereby all the notes were whole notes on an ordinary staff, timing wasn't indicated anywhere. It was just enough to play a piece with memorized timing but not as cryptic as an ordinary MIDI graph, not as minimal as a lead sheet. Timing could be manually set in a 2nd pass. The trick was getting the music display into a notation capture mode & developing the interface.
Notation capture would most likely be a toggle in the music reader menu. It would be a totally separate interface. The music reader would perform MIDI capture & playback over USB. The page turn buttons could advance to the next note or rewind to the previous note in capture mode. The motivation for revisiting this was the desire for a better arrangement of the Charlie Brown xmas theme.
-------------------------------------------------------------------------------------------------------------------------------------------------------
After a solid week on this, the reality of how hard it is became clear. When transcribing a MIDI keypress into human readable notation, there's a nasty translation through the current cleff, current key, current octave, current accidental. It's a lot harder than dragging & dropping notes. That's why the cheapest music entry programs are just type setters.

Some diabolical algorithms managed to compute shortpaw notation directly from MIDI pitch codes. A cleff & key still must be provided. The trick with development is to create a database of synthetic MIDI codes with a variety of test cases. Automatic prediction of the accidentals is still a black art. Finale never chose perfect accidentals either. It basically adds sharps if the key is flat & adds flats if the key is sharp. It adds naturals if the closest position on the staff is a natural.
Being shortpaw notation, the accidentals currently reset for every note. It still probably needs to indicate canceled accidentals to be readable.
Of course, what we really want is the least number of accidentals. This requires applying knowledge of all the preceding accidentals in the measure, a diabolical problem indeed.
The general idea is the pitch code is going to be fixed & can only be set through MIDI capture. The theory is the user would manually override the automatic accidentals by dragging & dropping a new accidental. The indicated note would move up or down by the necessary amount for the new accidental to result in the same pitch that was captured.

A few more days led to an algorithm which always draws accidentals if they're different than the key signature. If they're the same as the key signature, it resets the accidental once. The next step would be user defined accidentals.

In this case, MIDI code E + a user defined flat caused it to draw F flat. Then MIDI code F with no accidental made it draw a natural. The idea is the MIDI code being fixed & only the notation changing based on the addition of an accidental. The next step would be supporting a bass cleff, with the option to change the number of staffs at different times.
The next big challenges were line wrapping, specifying keys, cleffs & suddenly even shortpaw notation was proving a pretty daunting task.
------------------------------------------------------------------------------------------------------------------------------------------------
Lacking a keyboard, a lot of dragging & dropping is still going to be required for the multitude of required symbols. Music construction set used a very slow process of dragging accidentals, dots, ties, rests, bars while the hope was to make something faster. It's been a while since lions used a drag & drop interface, but that seems to be the only way for most of it. Music construction set might be the closest model to what lions need.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
It turns out Finale was discontinued in 2024. Dorico was another commercial program which replaced it. Crescendo is a limited demo windows binary that supports MIDI transcribing. Lilypond supports Linux & distributes source code but doesn't do MIDI transcribing. So to this day, there seems to be no MIDI transcriber in source form.
As a commercial binary, Finale users were out of luck. It no longer could be installed on any new devices. Dorico could not import the Finale file format. Users would have to find a copy of Finale that was installed before the expiration date, export all their files in XML format, import the XML files in Dorico. They would also have to pay a new license fee to use Dorico to see their old files. The only hope for Finale users who just wanted to see their old files would be finding a jailbroken, pirated copy of Finale & a device which supported it.
lion mclionhead
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.