Guide to Custom Fingering

Zoot is modeled on a soprano recorder, and has seven top-side finger wells, each with its own touch/proximity sensor inside the housing. The first three sensors, nearest the mouthpiece, are for your left hand, and the last four are for your right hand.

Zoot’s underside includes a thumb well for your left hand, with two half-sized sensors inside the housing: one for the left half of the thumb well and one for the right. Your thumb can cover both halves of the thumb well, the left half only, the right half only, or neither half.

Display showing the left thumb covering both halves of the thumb sensor (blue), the three fingers of the left hand down (blue), and the four fingers of the right hand down (red).

In the app’s Touch Display and Fingerings Help, the left fingers and thumb are shown as blue dots, and the right fingers are shown as red dots. Note that covering the entire thumb well is shown as two dots.

Since there are seven finger sensors and two thumb sensors, each one of which can be on or off (touched or not), there are (in theory) 29 or 512 possible fingerings. Each fingering can be mapped to a pitch index; that is, to the offset in semitones from the base pitch of the instrument. Unassigned fingerings map to the INVALID pitch marker, which results in no note being played.

When Zoot Link starts up, it reads the names of the available fingering systems from human-readable text files in the app’s associated data folder, either Zoot Link on iOS or the user’s Documents/Zoot folder on macOS. As an example, if you examine the app’s folder, you’ll find the file Recorder (Basic).fingerings which defines the default baroque recorder fingering system that comes with the app. Note that the name of the file (without the .fingerings extension) is exactly what appears in the Fingering System drop-down menu.

By adding your own .fingerings file, appropriately named, you can create your own custom fingering system for your particular needs. It’s probably easiest to start by making a copy of one of the files that comes with the app and editing that. A future version of Zoot Link might include a built-in fingering-system editor, but will continue to use the same text format for .fingerings files, so your work will not be lost. (If you think your fingering system should be included with the app, send us an email, and we’ll consider adding it with credit.)

To see how a .fingerings file works, let’s look at a line from Recorder (Basic).fingerings:

10 111 1100 ==> 1  4   // E4   (A4)

The first thing to know about the format of a .fingerings file is that leading and trailing whitespace is ignored, blank lines are ignored, and // introduces a line-based comment, which is also ignored.

Display showing the baroque recorder fingering for E4, with the left half of the thumb pad covered.

The first field on the line, 10 111 1100, consisting of three subfields, represents the fingering as displayed in the app, where 1 means on (finger down) and 0 means off (finger up). The left-most digit corresponds to the left half-sensor for the thumb, and the next digit is the right half-sensor for the thumb. The next group of three digits corresponds to the index, middle, and ring fingers of the left hand. The final group of four digits, corresponds to the index, middle, ring, and pinky fingers of the right hand.

The spaces between the subfields of the fingering field are optional but recommended.

The next field on the line, ==>, is syntactic sugar to suggest “mapping.” The ==> should have at least one space on either side.

The two space-separated numbers after the ==> are the octave index and the pitch class (semitone index) within the specified octave. In the example, octave index 1 and pitch-class index 4 represent a total offset from the base pitch of 16 semitones (12 semitones per octave plus 4). Assuming a base pitch of C3, that gets you to E4, as shown by the comment. If the base pitch is F3, that gets you to A4.

Please note that Pitch Settings in the app allows you to effectively set any base pitch for the instrument. If you wanted a B♭ clarinet, for example, you could set Base Pitch to C3 and Target Key to B♭ .

The order of the mappings in a .fingerings file makes no difference. However, if the file includes more than one mapping for the same fingering (the ones and zeroes on the left side of the mapping arrow), the mapping defined later in the file will take precedence. Note, however, that multiple fingerings can map to the same pitch (the right side of the mapping arrow). For example, in Simple (Four Octaves).fingerings, there are duplicate fingerings for F and C in every octave.

While Zoot Link loads the names of the .fingerings files when it starts up, it does not read the contents of the files until they are needed. If there is a formatting error in a user .fingerings file, selecting that fingering system will fail silently, and the last selected fingering system will remain active. Always check Fingerings Help for your new fingering system to make sure that it is correctly implemented as you intend. If you edit a .fingerings file, you don’t have to restart the app to check it; you just need to force the app to reload it by selecting a different entry in the drop-down menu and reselecting the entry whose file you edited.