Judge whether a passage can be played on an instrument, and how hard it is.
Inspection is deliberately separate from generation: this answers "can this
be played" for a chart handed to a player or a practice tool, and never
rewrites or rejects anything. The three layers are reported together but stay
distinct — an out-of-range note or an impossible stretch is not the bottom of
the difficulty scale but a different axis, since no amount of skill puts a
note on an instrument that does not have it. Only the third layer consults
bpm, so omitting the tempo reports what the instrument alone decides.
Difficulty, the issues found, and each note's string/fret or limb.
Throws
If the notes are not note events, the tempo is not a finite positive
number of beats per minute, or the profile describes no instrument — a neck
with no strings or a kit no limb reaches, whatever the passage holds.
Judge whether a passage can be played on an instrument, and how hard it is.
Inspection is deliberately separate from generation: this answers "can this be played" for a chart handed to a player or a practice tool, and never rewrites or rejects anything. The three layers are reported together but stay distinct — an out-of-range note or an impossible stretch is not the bottom of the difficulty scale but a different axis, since no amount of skill puts a note on an instrument that does not have it. Only the third layer consults
bpm, so omitting the tempo reports what the instrument alone decides.