Guide to Custom Fingerings
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.
In the app’s Touch Display and Active Fingerings, 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.
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.
Several users have submitted their own custom fingering systems. These are available as is on the Downloads page.