-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recognition of the instruments #23
Comments
Hi Oleksii, A quick and dirty workaround is to export the MSM/MPS and adapt the names there to something like "Horn" and "Soprano". But that is, of course, no automatic solution. I have to look deeper into the I have to think about this and get back to you. Give me some time. |
- Made class `meico.midi.InstrumentsDirectory` public so it can be used outside of its package. - Extended method `meico.mei.Mei.makePart()`. - This addresses issue [#23](#23) where the staff label did not suffice to properly indicate which General MIDI instrument should be chosen during the MIDI export. - Thus, support for MEI element `instrDef` has been added. It should be used as follows. ```` <staffDef clef.line="2" clef.shape="G" lines="5" n="1" label="unhelpful label"> <instrDef midi.instrname="Violin" midi.instrnum="40"/> </staffDef> ```` Only one of the attributes `midi.instrnum` (prioritized) and `midi.instrname` is required. The former should have values from 0 to 127 (not 1 to 128!). A list of General MIDI instrument names and numbers can be found on [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI) (here the numbers must be decreased by 1!). - Meico will add a `programChangeMap` to the MSM part during export and use this instead of the label to generate the corresponding MIDI messages during MIDI export. - The MEI Coverage Documentation has been updated accordingly and provides further information.
- Made class `meico.midi.InstrumentsDirectory` public so it can be used outside of its package. - Extended method `meico.mei.Mei.makePart()`. - This addresses issue [#23](#23) where the staff label did not suffice to properly indicate which General MIDI instrument should be chosen during the MIDI export. - Thus, support for MEI element `instrDef` has been added. It should be used as follows. ```` <staffDef clef.line="2" clef.shape="G" lines="5" n="1" label="unhelpful label"> <instrDef midi.instrname="Violin" midi.instrnum="40"/> </staffDef> ```` Only one of the attributes `midi.instrnum` (prioritized) and `midi.instrname` is required. The former should have values from 0 to 127 (not 1 to 128!). A list of General MIDI instrument names and numbers can be found on [Wikipedia](https://en.wikipedia.org/wiki/General_MIDI) (here the numbers must be decreased by 1!). - Meico will add a `programChangeMap` to the MSM part during export and use this instead of the label to generate the corresponding MIDI messages during MIDI export. - The MEI Coverage Documentation has been updated accordingly and provides further information.
I just commited a solution for this issue via release version 0.8.17. It does not follow your suggestion with element Add to the
You need only one of the attributes So on your side of the data creation, instead of the relatively complicated |
Hi Axel,
we have the following issues regarding the recognition of the instruments.
Case 1: Symphony
The french horn is mapped to soprano saxophone because we use German and Italian terms in the <label>:
Full example
Case 2: Canons
Soprano voices are mapped to piva and scifi because the <label> contains Roman numerals:
Possible solution
The both problems could be solved if MEICO would first check in the <meiHead> if there is information about the instruments. In our case, there is a link via staffDef@decls to the MARC instruments vocabulary.
The text was updated successfully, but these errors were encountered: