Represents the note that gives a name to a chord.
This type describes accidentals. Sometimes accidentals can be enharmonic, which means that they describe the same pitch: one example of this is A Sharp B Flat.
Converts a note to String. You can decide how to display accidentals.
This note is also known as pitch class, because it describes every occurrence of that note in any octave. Every accidental is described using the flat notation for consistency.