Skip to content

Commit

Permalink
Handbook updated on UI examples
Browse files Browse the repository at this point in the history
  • Loading branch information
hbitteur committed Aug 31, 2023
1 parent e574f6c commit fcb90de
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 45 deletions.
116 changes: 76 additions & 40 deletions docs/_pages/ui_examples/eyes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ Table of contents
## Input

{: .note }
If we are reading this handbook via a web browser,
we can ask the browser to display each of these sheet images in a separate tab.
If you are reading this handbook via a web browser,
you can ask the browser to display each of these sheet images in a separate tab.
<!--
| Sheet#1 | Sheet#2 | Sheet#3 |
| :---: | :---: | :---: |
Expand All @@ -54,32 +54,36 @@ we can ask the browser to display each of these sheet images in a separate tab.

## Book parameters

Based on a first look at input score, we can select proper book parameters,
Based on a first look at the input score, we can select the proper book parameters,
via the ``Book | Set Book Parameters`` dialog:

![](./book_parameters.png)

We select the whole book tab, not just the first sheet tab, because selections will
We select the **whole book** tab, not just the first sheet tab, because selections will
need to apply to all sheets in book.

Here are the modifications made:
- We select a ``Serif`` font for better consistency with input font.
- For OCR, ``eng`` language is all we need
- We select **both** 1-line percussion and 5-line percussion
- We select a ``Serif`` font for better consistency with the input font.
- For OCR, ``eng`` and ``ita`` languages are all we need
- We select **both** 1-line percussion and 5-line unpitched percussion staves
- We don't keep lyrics, since there are none in this score

{: .note }
We don't need to also select the "Cross note heads", because we have selected the
percussion staves. This "Cross note heads" feature is meant for cross heads on *standard* staves.

## Customized drum-set

Since we are dealing with drum notation, we check the default drum-set.xml specifications.
It is available in Audiveris ``res`` (resources) folder.
It is available in the Audiveris ``res`` (resources) folder.
Its content is also displayed in [this handbook section](../../specific/drums.md#appendix).

The default specifications should be OK for the 5-line staff (named Drumset in the input).

However, the 1-line staff in the input is named "Hand Clap", so we will specify such
hand clap "instrument" for oval on mid-line (pitch-position 0).
However, the 1-line staff in the input is named "Hand Clap", so we will specify the
hand clap "instrument" for an oval on mid-line (pitch-position 0).

In default ``drum-set.xml``, we have (excerpt):
In the default ``drum-set.xml``, we have (excerpt):
```xml
...
<staff line-count="1">
Expand All @@ -100,8 +104,8 @@ So, we create a "personal" ``drum-set.xml`` that provides one overriding definit
</staff>
</drum-set>
```
And we put this file in user Audiveris ``config`` folder.
On my PC, path to this folder is precisely:
And we put this file in the user Audiveris ``config`` folder.
On my PC, the path to this folder is precisely:
> C:\Users\herve\AppData\Roaming\AudiverisLtd\audiveris\config
And that's it.
Expand All @@ -112,16 +116,41 @@ We launch the whole book transcription, for example via (``Book | Transcribe Boo

Two minutes later, we get:

| Sheet#1 | Sheet#2 | Sheet#3 |
| :---: | :---: | :---: |
| ![](./sheet1_raw.png) | ![](./sheet2_raw.png) | ![](./sheet3_raw.png) |
| Sheet ID | Raw result |
| :---: | :---: |
| Sheet#1 | ![](./sheet1_raw.png) |
| Sheet#2 | ![](./sheet2_raw.png) |
| Sheet#3 | ![](./sheet3_raw.png) |


## Manual corrections

### Sheet #1

We have 3 measures displayed with a pink background, which means an error detected in RHYTHM step.
Their (local) ids are measures 4 and 8 in first system and measure 27 in last system.
|| Header Text |
| :---: | :---: |
| Before | ![](./sheet1_header.png)|
| After | ![](./sheet1_header_ok.png)|

At the very beginning of sheet #1, we can see some header text partly recognized:
- "**Drums/Clap**": Not recognized.
We select the text with a lasso, then in the ``Physicals`` palette in the shape board
we double-click on the ``text`` button.
This manually calls the OCR on the selected text which is this time well recognized.
The Inter board now presents the sentence "Drums/Clap" and proposes ``CreatorLyricist``
as its role. We manually change this role to ``Number``.
- "**Can't Take My Eyes Off of You**": The apostrophe is mistaken for a separate "v" sentence.
We select both sentences with a lasso and press the ``Delete`` key to remove them.
With the underlying glyphs still selected, we double-click on the ``text`` button.
The text is correctly OCR'ed as a single sentence and its role correctly set as ``Title``.
- "**&#119135; = 120**": Recognized as "J: 120".
This is due to the quarter character (**&#119135;**) which the OCR does not handle correctly.
And there is currently no way to fix this.
- "**Molto Moderato**": Correctly OCR'd and assigned the ``Direction`` role.
- "**Bob Crewe and Bob Gaudio**": Correctly OCR'd and assigned the ``CreatorComposer`` role.

Regarding rhythm, we have 3 measures displayed with a pink background.
Their (local) ids are measures 4 and 8 in the first system and measure 27 in the last system.

We use ``View | Show score Voices`` so that each voice is displayed in a specific color.

Expand All @@ -130,14 +159,16 @@ We use ``View | Show score Voices`` so that each voice is displayed in a specifi
| Before | ![](./sheet1_m3_4.png)|
| After | ![](./sheet1_m3_4_ok.png)|

Measure 3: We observe a missing whole rest at the beginning of measure.
- Detection failed because the whole rest is located out of staff height.
Measure 3: We observe a missing whole rest at the beginning of the measure.
- Detection failed because the whole rest is located out of the staff height.
- We select the glyph and assign it the WHOLE_REST shape using the
``Rests`` palette in shape board.

Measure 4: we can see the input lacks 2 quarter rests.
This is especially obvious when compared with measure 3.
- So, we use a drag & drop to manually insert these missing quarter rests.
- So, we use a drag & drop to manually insert these missing quarter rests
(this insertion triggers a RHYTHM re-processing for the containing measure which
now shows a correct result in timing and voice mapping).

Measures 7 and 8: They are identical to measures 3 and 4, they need identical corrections.

Expand All @@ -150,7 +181,10 @@ Measure 27: A cross-head is missing, replaced by a strong accent.
- We delete the strong accent
- We select the stem glyph and assign it the stem shape
- We then insert a cross-head dragged from the ``HeadsAndDot`` palette in shape board.
- We also assign the accent just above this note.
- We also assign the accent just above this note
(for example by selecting the underlying glyph, which triggers the glyph classifier;
the ``Accent`` shape button appears in first place in the glyph classifier board;
we simply press this ``Accent`` button).

|| Measure 31|
| :---: | :---: |
Expand All @@ -162,21 +196,22 @@ Measure 31: This last measure contains a direction word ("sloppily") OCR'd as "s
as well as the underlying glyphs.
- We then delete the item
- With the underlying glyphs still selected, we manually run OCR
via a double click on the "``text``" button in the ``Physicals`` set of shape board.
via a double click on the "``text``" button in the ``Physicals`` set of the shape board.
- We then assign the sentence role as ``Direction``.

### Sheet #2

Just one measure (29) displayed in pink.
Just one measure (29) is displayed in pink.

|| Measure 29|
| :---: | :---: |
| Before | ![](./sheet2_m29.png)|
| After | ![](./sheet2_m29_ok.png)|

This is due to an 8th rest mistaken with a pair of augmentation dots.
This is due to an 8th rest mistaken for a pair of augmentation dots.
- With a lasso, we select the 8th rest underlying glyphs as well as the two dot items,
- We deassign the selected items,
- And click on the EIGHTH_REST button which appears at the top of glyph classifier board.
- And click on the EIGHTH_REST button which appears at the top of the glyph classifier board.

|| Measure 4|
| :---: | :---: |
Expand All @@ -185,9 +220,9 @@ This is due to an 8th rest mistaken with a pair of augmentation dots.

Measure 4: A missing crescendo wedge.
- We select the underlying glyph and use a double-click on the crescendo button
in the ``Dynamics`` palette of shape board.
in the ``Dynamics`` palette of the shape board.

Similar action for another missing crescendo below measure 12.
A similar action fixes another missing crescendo below measure 12.

### Sheet #3

Expand All @@ -196,9 +231,9 @@ Similar action for another missing crescendo below measure 12.
| Before | ![](./sheet3_m5.png)|
| After | ![](./sheet3_m5_ok.png)|

Measure 5: A triple forte (fortississimo) not recognized, because Audiveris
Measure 5: A triple forte (fortississimo) is not recognized, because Audiveris
doesn't go beyond fortissimo. [^fortississimo]
- So, we manually select just a fortissimo, for lack of better choice.
- So, we manually select just a fortissimo, for lack of a better choice.

Measure 6: a "sloppily" direction OCR'd as "s oppy y".
- See similar action in sheet 1.
Expand All @@ -211,26 +246,27 @@ Measure 10: a missing crescendo sign.
| Before | ![](./sheet3_m16.png)|
| After | ![](./sheet3_m16_ok.png)|

Measure 16: An "8" character mistaken with the start of an octave shift.
Measure 16: An "8" character is mistaken for the start of an octave shift.
- We simply delete it.

|| Measure 25|
| :---: | :---: |
| Before | ![](./sheet3_m25.png)|
| After | ![](./sheet3_m25_ok.png)|

Measure 25: A missing quarter.
Measure 25: A missing quarter note.
- We select the stem glyph and assign it via a double-click on the stem button
in the "``Physicals``" palette in shape board.
- Then we drag a cross-head from the "``HeadsAndDot``" palette in shape board into proper location.
in the "``Physicals``" palette in the shape board.
- Then we drag a cross-head from the "``HeadsAndDot``" palette in the shape board
into the proper location (the needed ledger line gets created automatically)

## Logical parts

If we naïvely export our work to say MuseScore, we get something that starts like:

![](./musescore_4_parts.png)

That is, for OMR engine we have 4 separate logical parts:
That is, for the OMR engine we have 4 separate logical parts:
- D. Set
- Hd. Clp.
- Drumset
Expand All @@ -242,13 +278,13 @@ we get this dialog:

![](./logicals_editing.png)

For the OMR engine limited capabilities, there is no way to detect that "D. Set" and "Drumset"
Due to the OMR engine's limited capabilities, there is no way to detect that "D. Set" and "Drumset"
refer to the same logical part.

Let's do this manually:
1. We select the first logical (D. Set) and copy its name
2. We then select the third logical (Drumset) and paste into the Abbreviation field the copied name
3. We do the same between (Hd. Clp.) logical and "Hand Clap" logical
2. We then select the third logical (Drumset) and paste into the Abbrev field the copied name
3. We do the same between (Hd. Clp.) logical and (Hand Clap) logical
4. We can now remove the first 2 logicals (D. Set and Hd. Clp.)
5. We save (and thus lock) the logicals configuration

Expand All @@ -261,8 +297,8 @@ We can finally apply the new configuration, with the logicals now locked:
No mapping warning is issued.

Export to MuseScore or Finale is now OK.
First page in Finale looks like:
The first page in Finale looks like:

![](./finale_export.png)

[^fortississimo]: We will need to add fortississimo shape to Audiveris and retrain its glyph neural network with enough representative samples.
[^fortississimo]: We will need to add the fortississimo shape to Audiveris and retrain its glyph neural network with enough representative samples.
Binary file modified docs/_pages/ui_examples/eyes/book_parameters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_pages/ui_examples/eyes/finale_export.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_pages/ui_examples/eyes/sheet1_header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_pages/ui_examples/eyes/sheet1_header_ok.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_pages/ui_examples/eyes/sheet1_raw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 9 additions & 5 deletions docs/_pages/ui_examples/trinitas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,16 @@ We have selected `View | Show score voice` or `F8` command so that voices in the
are displayed in different colors.

{: .note }
If we are reading this handbook via a web browser,
we can ask the browser to display each of these sheet images in a separate tab.
If you are reading this handbook via a web browser,
you can ask the browser to display each of these sheet images in a separate tab.

| Sheet#1 | Sheet#2 | Sheet#3 | Sheet#4 | Sheet#5 |
| :---: | :---: | :---: | :---: | :---: |
| ![](sheet1_init.png) | ![](sheet2_init.png) | ![](sheet3_init.png) | ![](sheet4_init.png) | ![](sheet5_init.png) |
| Sheet ID | Raw result |
| :---: | :---: |
| Sheet#1 | ![](./sheet1_init.png) |
| Sheet#2 | ![](./sheet2_init.png) |
| Sheet#3 | ![](./sheet3_init.png) |
| Sheet#4 | ![](./sheet4_init.png) |
| Sheet#5 | ![](./sheet5_init.png) |

Our first impression is that almost all measures, except for sheet #3, are displayed in pink!

Expand Down

0 comments on commit fcb90de

Please sign in to comment.