Skip to content
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

Support for Clarinet fingering #2

Open
eduardomourar opened this issue Oct 14, 2019 · 5 comments
Open

Support for Clarinet fingering #2

eduardomourar opened this issue Oct 14, 2019 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@eduardomourar
Copy link
Owner

The initial ones have been added, but we need to add the full range.

@eduardomourar eduardomourar added enhancement New feature or request help wanted Extra attention is needed labels Oct 14, 2019
@angusmoncrieff
Copy link

Hi Eduardo, I've done this up to G6, mostly using this fingering chart, and by consulting a friend of mine who is a woodwind teacher and an excellent clarinettist.

First thing, I believe this is this needs to be fixed:

            } else if (instrument === 'wind.reed.clarinet.bflat') {
                this.transpose = 5;        // was 4

The codes are below - but it seems one can not really ignore the alternate fingerings (I've pasted my friend's messages at the bottom fyi). For my own purposes I have implemented each set of alternatives as an array (so I'm afraid you won't be able to simply paste this in to your code). Unfortunately, the first fingering in the array is not necessarily more standard than the others, and may or may not be optimal in any particular context.

            this.mapping = [
                // 1st Octave (D#3-B4)
                '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AD\uE0B2\uE0B3\uE0B5\uE0BA',
                [
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AD\uE0B2\uE0B3\uE0B5\uE0B9',  // E 'LR'
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AD\uE0B2\uE0B3\uE0B5',        // E 'L'
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B8'         // E 'R'
                ],
                [
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B9',    // F 'R'
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AB\uE0B2\uE0B3\uE0B5'     // F 'L'
                ],
                [
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AC\uE0B2\uE0B3\uE0B5\uE0B9', // F# LR
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AC\uE0B2\uE0B3\uE0B5',       // F# L
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B6'        // F# R
                ],
                '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5', '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B7', '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3', // A
                '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2', // Bb
                [
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B3', // B
                    '\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B4'
                ],
                '\uE0A3\uE0A6\uE0A7\uE0A9',       // C
                '\uE0A3\uE0A6\uE0A7\uE0A9\uE0AA',  // C#
                '\uE0A3\uE0A6\uE0A7', // D
                [
                    '\uE0A3\uE0A6\uE0A7\uE0B1', // Eb
                    '\uE0A3\uE0A6\uE0A7\uE0A8', // Eb
                    '\uE0A3\uE0A6\uE0B2'        // Eb
                ],
                '\uE0A3\uE0A6',  // E
                '\uE0A3',  // F
                [
                    '\uE0A6',                 // F#
                    '\uE0A3\uE0B0\uE0B1'
                ],
                '',   // G
                '\uE0A5', // G#
                '\uE0A4',
                '\uE0A2\uE0A4',
                [     // B
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AD\uE0B2\uE0B3\uE0B5\uE0B9', // LR 
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AD\uE0B2\uE0B3\uE0B5',       // L
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B8'        // R
                ],
                // 2nd Octave (C5-B5)
                [     // C
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B9',      // R
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AB\uE0B2\uE0B3\uE0B5'       // L
                ],
                [   // C#
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AC\uE0B2\uE0B3\uE0B5',         // L
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AC\uE0B2\uE0B3\uE0B5\uE0B9',   // LR
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B6'          // R
                ],
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5',
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3\uE0B5\uE0B7', // D#
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B3',
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2',
                [     // F#
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B3',
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0B2\uE0B4'
                ],
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9', // G
                '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A9\uE0AA', // G# 
                '\uE0A2\uE0A3\uE0A6\uE0A7',
                [  // A#
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0B1',
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0A8',
                    '\uE0A2\uE0A3\uE0A6\uE0B2'
                ],
                '\uE0A2\uE0A3\uE0A6',
                // 3nd Octave (C6-B6)
                '\uE0A2\uE0A3',
                '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B2\uE0B3',
                '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B2\uE0B7', // D
                [  // D#
                    '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B2\uE0B4\uE0B7',
                    '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B3\uE0B7'
                ],
                '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B7',  // E
                '\uE0A2\uE0A3\uE0A7\uE0A9\uE0AA\uE0B7', // F
                [
                    '\uE0A2\uE0A3\uE0A7\uE0B7',  // F#
                    '\uE0A2\uE0A3\uE0A6\uE0A7\uE0B2\uE0B3\uE0B5\uE0B7'
                ],
                [
                    '\uE0A2\uE0A3\uE0A7\uE0B2\uE0B3\uE0B7',  // G
                    '\uE0A2\uE0A3\uE0A7\uE0A9\uE0B2\uE0B3\uE0B7'
                ],
                '', '', '', '',
                // 4th Octave (C7-A7)
                '', '', '', '', '', '', '', '', '', '', '', '',
            ];

Here are my friend's messages FYI:

Unfortunately this is a clarinet we are dealing with so many of the "alternative" fingering are actually standard fingerings depending on what key you are in etc.

You need at least 2 fingerings for bottom E, F and F#, two fingerings for the Eb above that and arguably for B the the next F#. That's without trill keys.

The clarinet, uniquely, overblows in twelfths so all the fingerings from bottom E to F a 9th above are repeated from the B a 7th above middle C to C above the stave. So your fingering for B above middle C is actually a third variation on the fingering for bottom E and what I would use as long as I wasn't expecting a C# any time soon!

Then from C# above the stave you're into a third register and then a 4th and it gets really complicated and varies from player to player, although there are standard fingerings. You should really go up to G above the stave as this would be considered standard range.

When I get on my Mac I'll scan a fingering chart and maybe highlight the ones you could leave out as being a bit specialist but the bottom line is it's far far more complicated than sax or flute. More notes, same number of fingers!

It's not called the misery stick for nothing!

=================
Hi Angus,

That’s a comprehensive fingering chart - anything beyond that would be considered niche.

One of the basic principles of which fingering to use is to try and prevent “sliding” with the little fingers (the clarinet seems to be gratuitously designed to make this difficult) - you should be using left and then right, or vice versa. So, for me, because your app is designed around scales you need to show the correct (or one of the correct) series of fingering. It’s not a problem for Eb major, that’s all correct, but with four flats onward and two sharps onwards it would be helpful to show the correct little finger sequence as a first choice unless it’s purely designed for use by teachers.

@eduardomourar
Copy link
Owner Author

@gusmoney, I will have a look into this. My idea to implement alternative fingering was to present an option to the user in the musescore interface (checkboxes).

@angusmoncrieff
Copy link

@eduardomourar not 100% sure what you mean - but what I understand from my clarinettist friend is that the same pitch might be played by different fingerings even in the same phrase, depending on the context around each occurrence of it. (see his last paragraph, above: 'One of the basic principles..')

@eduardomourar
Copy link
Owner Author

@gusmoney, available now in v1.5.0. Kept your suggestion of multiple fingerings, but we will be only selecting the first one (until we have another way to present options).

@angusmoncrieff
Copy link

@eduardomourar cool - thanks for the update!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants