Voice-Leading Motion Classifier
Classify two observed voice movements by signed interval/direction, preserving static/oblique/similar/parallel and strict crossing; no counterpoint legality or voice identity inference.
Description
Two-voice motion distinguishes direction from interval size.
Two-voice motion distinguishes direction from interval size. Crossing requires reversal of the voices’ relative pitch order.1
Enter exactly two integer MIDI notes 0–127 per voice, ordered before/after. Classify static, oblique, contrary, parallel or similar motion and return strict crossing flag.
When to use Voice-Leading Motion Classifier
Use Voice-Leading Motion Classifier when you need to evaluate the supplied records under the calculation and evidence rules below. Meeting at the same pitch is not strict crossing. No contrapuntal legality, spelling or phrase context is inferred.
Enter the written notes, explicit grouping, pitch observations or supported chord tokens requested. Keep scientific octaves, accidentals and caller evidence consistent.
How to use Voice-Leading Motion Classifier and understand its results
- Enter the written notes, explicit grouping, pitch observations or supported chord tokens requested. Keep scientific octaves, accidentals and caller evidence consistent.
- Enter firstVoiceMidiPair, secondVoiceMidiPair using the field table and calculation rules, then run the tool.
- Read twoVoiceMotionClass, firstVoiceSignedMotion, secondVoiceSignedMotion, voiceCrossingObserved. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| firstVoiceMidiPair | First voice midi pair | list of number | Required |
| secondVoiceMidiPair | Second voice midi pair | list of number | Required |
Enter exactly two integer MIDI notes 0–127 per voice, ordered before/after. Classify static, oblique, contrary, parallel or similar motion and return strict crossing flag.
parallel: nonzero equal signed movements; crossing: beforeDifference×afterDifference<0 Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| twoVoiceMotionClass | Two voice motion class | string |
| firstVoiceSignedMotion | First voice signed motion | number |
| secondVoiceSignedMotion | Second voice signed motion | number |
| voiceCrossingObserved | Voice crossing observed | boolean |
{
"input": {
"firstVoiceMidiPair": [
60,
62
],
"secondVoiceMidiPair": [
67,
69
]
},
"output": {
"twoVoiceMotionClass": "parallel",
"firstVoiceSignedMotion": 2,
"secondVoiceSignedMotion": 2,
"voiceCrossingObserved": false
}
} Limitations and assumptions
Meeting at the same pitch is not strict crossing. No contrapuntal legality, spelling or phrase context is inferred.
Numeric inputs, where present, must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Numeric lists are limited to 10,000 entries; string lists to 128 strings of at most 128 characters each. The rules above may impose smaller limits. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors. A successfully returned false flag is an evaluated outcome; its meaning is explained above.
Alternative or Complementary methods
Use Counterpoint Consonance Classifier: Elementary two-voice consonance uses spelled interval quality. Perfect fourths require context and are returned separately from accepted consonances. For a complementary task, use Chord Inversion From Bass Note: Inversion identifies which spelled chord member is the supplied actual bass. A nonchord bass should remain visible rather than forced into an inversion.
References
-
Voice-Leading Motion Classifier — tool.io
Similar or alternative tools
- Counterpoint Consonance Classifier
Elementary two-voice consonance uses spelled interval quality. Perfect fourths require context and are returned separately from accepted consonances.
- Chord Inversion From Bass Note
Inversion identifies which spelled chord member is the supplied actual bass. A nonchord bass should remain visible rather than forced into an inversion.