Audiveris / audiveris

Latest generation of Audiveris OMR engine
https://audiveris.github.io/audiveris
GNU Affero General Public License v3.0
1.53k stars 227 forks source link

unable to Transcribe - stops after a while and empty mxl file exported. #294

Closed ebym closed 3 years ago

ebym commented 5 years ago

I'm having getting the following errors when transcribing the attached file.

1, Too large image warning. 2, Error in performing [BINARY, SCALE, GRID, HEADERS, STEM_SEEDS, BEAMS, LEDGERS, HEADS, STEMS, REDUCTION, CUE_BEAMS, TEXTS, MEASURES, CHORDS, CURVES, SYMBOLS, LINKS, RHYTHMS, PAGE] 3, whatever that is transcribed and manually edited is not exported to the mxl file.

I'm opening the pdf and transcribing the first sheet only.

attached pdf, log, (mxl and omr files) zip.

Note: I have transcribed violin score without any issues earlier.

sing praises.pdf audiveris.txt audiveris-sing-praises.zip

Bacchushlg commented 5 years ago

you could try to export the file with reduced resolution - but forget about this... The quality is really too bad. Audiveris will not be able to handle score images like this

ebym commented 5 years ago

inspite of bad quality of pdf, Audiveris managed to identify 60% of the notes on the first page. It should export whatever it had identified, even if it is one or two notes right ?. or the mxl export will only function only after completing the last step "Page" ?.

Another thing is transcribe stops on linux after "Could not initialize Tesseract with lang deu+eng+fra" and "Error in performing [TEXTS, MEASURES, CHORDS, CURVES, SYMBOLS, LINKS, RHYTHMS, PAGE] java.util.concurrent.ExecutionException: java.lang.NullPointerException".

The linux version(32bit) audiveris is unable to transcribe the pdf that windows version(32bit) have done. Seems bit weird, provided it is java code.

Bacchushlg commented 5 years ago

Audiveris does only export a page, if it has successfully performed all transcription steps. If it really helps you to get a result that only includes 60% if the notes - I don't think so. In such a case you are much faster to input your score directly in a notation program. About your problem under Linux: it looks as if there is something missing in your Tesseract installation - maybe the language files?

ebym commented 5 years ago

i have Tesseract english language installed, is French and German files required ?.

Is it possible to enable feature to manually export to mxl even if the transcription steps failed in the middle, let us say after identifying few notes ?. in my opinion 60% notes is better than nothing or inputting directly in a notation program. once exported, i can convert these partial mxl files to lilypond and editing/changing note values/barlines becomes super easy.

maximumspatium commented 5 years ago

i have Tesseract english language installed, is French and German files required ?.

No. You need to tell Audiveris which languages are used in the score you're trying to recognize. You do it usually using "Set book/sheet parameters" command in the Book/Sheet menu. OCR languages should be installed and enabled on demand while english is mandatory...

Is it possible to enable feature to manually export to mxl even if the transcription steps failed in the middle, let us say after identifying few notes ?. in my opinion 60% notes is better than nothing or inputting directly in a notation program. once exported, i can convert these partial mxl files to lilypond and editing/changing note values/barlines becomes super easy.

I see. The main problem with partial export is that some important context information is missing. Human brain is superb at filling in missing information while many AI algorithms aren't.

Consider the following picture taken for your score: Low quality score problems

A note consists at least of two parts: note head and stem. In your score many stems are broken so Audiveris will reject both bad stems and (good) note heads attached to them. Missing notes, coupled with bad beams, will render automatic rhythm inference impossible.

In the above example, a couple of crotchets have been recognized. Two beams will be likely rejected due to bad stems. What should Audiveris put into MusicXML? Empty bars or those crotchet surrounded by rests?

ebym commented 5 years ago

@maximumspatium, Thanks, I understand the limitations and their clear reasoning.

My understanding is, notation software do not care about stems or beams unless specified(stem up/down, break beam, etc..) as these are automatically handled internally by respective engines.

Regarding what to put for musicxml export, i think of the following as a lilypond user.

1, Manually add those missing notes in Audiveris. image

No issues even if stems and beams are not recognised, export them with the value of first and last identified notes or crotchets or quavers. Later we can change the first note value in lilypond.

Ideally we should have note shapes with flags. e.g breve, minim, crotchet, quaver, semi-quaver, etc... in Audiveris instead of time consuming process like adding note heads, stems and flags separately. (May be i should add this as feature request).

2, when exporting, even if rhythm check has failed, it can export as cadenza and corrected later. Not sure if cadenza is a mxl function.

hbitteur commented 5 years ago

If I understand correctly your first request, you would like the ability to add "pre-baked" head note structures, for example a structure like "noteheadBlack + stem + doubleFlag", while current Audiveris approach is to expect terminal items to be injected separately (for example: noteheadBlack, then stem, then doubleFlag).

This is certainly doable from a technical point of view (after all we already offer such approach for say a complex repeat sign composed of a thick barline, a thin barline and 2 repeat dots). My only question is about the number of "pre-baked" structures to offer visually to the user. Because of combinatorial explosion, I fear we end up with too many of them to display. Could you point us to the concrete example of some score edition software that would provide this feature? This could guide us.

ebym commented 5 years ago

Because of combinatorial explosion, I fear we end up with too many of them to display. Could you point us to the concrete example of some score edition software that would provide this feature? This could guide us.

MuseScore notation input pallet. Selection_254

Igor Engraver note input pallet. Selection_255

Hope these helps.

hbitteur commented 3 years ago

With Audiveris 5.2.3, from the shape palette, you can now drag n' drop quarters and halves, with stems up and down (see picture below). Once dropped, you can add flags and beams to them.

image

Closing the issue now.