Saxophone Fingering Chart Generator

This program takes a MIDI file as input and generates fingering charts for saxophones matching the notes in that midi file. Time, note length, and other musical elements are not preserved, this is just a way to learn the fingering for each note. That said, this may expand and become fancier down the road.

Fingerings are decided by a simple weighted algorithm that picks fingerings for a note based the keys involved in the previous note. There's probably a smarter way to do this, I'm open to ideas.

Usage

Just open a midi file with fingering_chart, and wait for charts to generate! You can also run it via the command-line by specifying one or more midi files as shown above. Make sure the cfg.ron file is in the same directory as fingering_chart. See below for additional settings.

cfg.ron

cfg.ron is the configuration file: - transposition_type Sets the transposition. May use Alto, Tenor, Baritone, Soprano, Bass, CMelody, Contrabass, Sopranino, Subcontrabass, and Sopranissimo. - output_path Sets the output path. If this is a non-existent directory, will attempt to create. - output_format Sets the output format. May use Tracks, Rows, or Separate. Tracks outputs charts for each midi track as a single file. Rows splits tracks up into multiple files each containing a horizontal row of notes. Separate outputs each individual note as a separate file. - spacing Sets the visual spacing between consecutive notes. Not applicable when using Separate output format. - notes_per_row Sets the number of notes per row. Not applicable when using Separate output format. - notes You can now fully customize what notes are supported and what fingerings each note will use. Detailed instructions exist inside the cfg.ron file.

Planned Features

Example

The Lizards