Saxophone Player’s Friend is an application that grew out of the Composer’s Friend JavaScript library. As the name suggests, it aims at helping beginner saxophone players to learn to play the notes on their instrument. Presently the only type of saxophone supported is Alto sax. However, more layouts can easily be implemented on demand. Below I touch upon the features of this tool.
Permanent link to application: https://atdesign.ee/music/sax/ (you will be redirected to GitHub pages when you follow the link)
GitHub: https://github.com/ATdesign/saxfriend/
Fingering Chart Visualization
At the core of the application lies the fingering chart visualizer which also separates left and right hand fingerings using color differentiation. Under the fingering diagram the displayed note will also be displayed on a standard stave in alto saxophone pitch. By default, three fingering charts are displayed: in the middle, the current note, the past note to the left, and the next note to the right. This makes it easy to practice progressions.
Overall Interaction Mechanics
The application was intended primarily to simplify transfer of song material from the concert pitch to alto saxophone pitch11The concert pitch is the key of C, while the saxophone as a transposing instrument is in the key of Ab. Note names will be written the same, but they will differ by a major sixth in pitch.. Since it is based on this concept, note entry is by default achieved in three ways:
- Using the Circle of Fifths in alto sax pitch;
- Using a piano keyboard in concert pitch;
- Using a guitar fretboard in concert pitch.
Only the first case needs a bit of explanation as others are intuitive. When the user selects a scale, notes on the note relationship diagram are automatically generated. The user can then click one the notes in any order and they will be immediately transferred to the note player (read below). Thus, one can practice scales, enter notes, or even compose a melody using the relationship diagram.
The Note Player
The note player is a comprehensive tool with playback and recording features and support for song parts. All notes are treated as first class citizens and get their own container that can be dragged around to rearrange the composition and modified in various ways:
- The duration can be changed22Saxophone player’s friend currently supports more note duration types than the library it’s based upon;
- Note duration can be extended via consecutive sustained notes;
- Any note can be converted to a rest and easily converted back as needed. Rests can also be extended using the sustain approach.
Therefore, the player can be used to compose progressions in several parts. Whole compositions may be exported or imported as plain text.
The record feature currently only supports one source, which is MIDI input that can be chosen from the options. When the song is recorded, the MIDI note lengths are stored in a temporary buffer and notes are entered as usual—note by note with a fixed duration. But when the record button is depressed, all the notes are automatically updated taking into account their complete duration with the current tempo setting. This can be useful for transferring compositions into the player via MIDI files.
Note, that during MIDI entry, only the current note is shown across all fingering charts in the visualizer tab.
MIDI I/O Interface
The tool brings full MIDI feature set if used in supported browsers (like Chrome, for example):
- MIDI input can be used to enter notes one-by-one. If recording is enabled at the same time, note lengths will be taken into account after the record button is depressed.
- MIDI output can be used to play the song in a different MIDI application33Use a virtual MIDI driver to connect those. or MIDI device. By default, the alto saxophone patch program change message is sent out on initialization, so the correct instrument should be selected automatically if using, e.g., an application with soundfonts.
This feature is a work-in-progress and will be gradually updated.