compute Vocal Range
fun computeVocalRange(contour: PitchContour, ratioSumInRange: Float = 0.9f, config: SearchVectorConfig = SearchVectorConfig.DEFAULT): VocalRangeResult?
Compute the vocal range and search vector from a pitch contour.
Bundles both the human-readable range (lower/upper MIDI, octaves) and the machine-readable search vector (13-dim for matching) in one result.
Return
VocalRangeResult with range + search vector, or null if insufficient data
Parameters
contour
Pitch contour from pitch detection (must have at least 2 samples)
ratio Sum In Range
Proportion of pitch density to capture for range (default 0.9)
config
Search vector configuration