1. Documentation
  2. iOS
  3. Scales
  4. Fingerings Parameters

Here are a few words about available settings for the scale fingering engine of the app. The same engine is used for chord arpeggios as well, and the app handles two distinct sets of settings: one for scale fingerings and one for arpeggios.


Span on each string

This is the widest fret range allowed on each string. It can be less, however. Think of it as the maximum extension of your fingers.

Minimum notes per string

This is the lowest number of notes allowed on each string. If you specify 0, strings can be jumped since fingerings with strings with 0 notes (hence jumped) will be allowed. You may use this value to restrict results to fingerings with a specific number of notes by strings by matching this setting with the maximum notes by string. Of course, this value should be smaller than the span by string.

Maximum notes per string

This is the highest number of notes allowed on each string. Of course, it has to be at least equal to the minimum notes by string, and at most equal to the span by string.

Maximum difference by string

This sets the maximum difference of played notes from one string to an adjacent one (before or after). If you specify 0, all strings must have the same number of played notes.


A special prescription on the parity (even or odd) on the number of played noted by string can be specified. For example, if you select odd, only fingerings with an odd number of notes (1, 3, 5, etc.) by strings will be generated. It can be useful if you play with a pick and want to practice certain configurations.

Maximum backward and forward offset

The app checks the fret of the first played note on each string. These settings allow to limit the difference of such frets between a string and the next one. Backward means toward the nut, and forward, toward the bridge. These properties are outlined on the fretboard at the top of this page.

Static fingerings

This is closely related to the maximum backward and forward offset settings. These limits are valid from string to its adjacent ones, but small steps can add up as the strings are played, and the fingering may end at a very different position. If the static fingerings option is engaged, the app will allow only one unit of offset at most for the whole fingering. For example, if you set the maximum backward offset to be 1, it means that the fingering can go toward the nut of 1 fret at most each time you change of string. If it started at the 5th fret on the top string, it can go as far as the 4th fret for the next string, then as far as the 3rd fret on the following one, and so on. If static fingerings are required, if it start at the 5th fret, any other string (and not only the next one) will be played at least at the 4th fret. This setting is especially useful when working with scale fingerings when one looks for block patterns. This is less true for chord arpeggios.

Enforced direction

You can use this setting to force fingerings to go in one specific direction when passing from strings to strings (if ever they move). For example, if the bridge direction is selected, from string to string, the first fret played will be at least the first fret played of the current string. Never less.

Octave changes

Imagine that you are currently at one position on the neck, playing the F of the C major scale. You know that the next note will be a G. In order to sound natural, the G should be the immediate G following the F you’re playing. However, all the settings above may allow reaching a G that is one octave higher than the expected G. If the Octave changes setting is set to natural, this higher G will be discarded and the app will look exclusively for G’s at the “right” pitch. If ever the can jump value is selected, fingerings jumping from the F to this high-pitched G will be generated too.


This setting appears only for chord arpeggios. There is a fundamental difference between scale fingerings and chord arpeggios: scales are defined on 1 octave (12 semitone), whereas chords are commonly requiring 2 octaves (24 semitones). For example, for a C9 chord, the 9th is the D one octave higher than the root C. The chords notes are C E G B D. If we arpeggiate it starting from C3, one starts with C3 E3 G3 B3. The next note should be D4, but there is a C4 reachable before it. If we are rigorous, one bypass it to go directly to D4, but the next note is then the C coming after D4, that is C5 and we completely bypassed C4 as well as E4, G4 and B4. This is a perfectly valid way to do it, but it is not very efficient. For chord arpeggios, the app has an option to “fold” chords and generate arpeggios for which chord notes on the neck are ordered by their pitches and not by their position in the chord. As a result, if the folded value is selected, the app will generate arpeggios of the form C3 D3 E3 G3 B3 C4 D4 E4 G4… otherwise, of the form C3 E3 G3 B3 D4 C5 E5… if the strict order value is selected.

Apple, iPhone, iPad, Mac, iCloud, and macOS are trademarks of Apple Inc., registered in the U.S. and other countries. iOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

© 2010—2022 Thomas Grapperon. All rights reserved.