compute Breath Function
fun computeBreathFunction(contour: PitchContour, config: BreathConfig = BreathConfig.DEFAULT): BreathFunction
Compute the shared breath function intermediate.
This is the core computation that feeds into scoring, phrase analysis, and comparison. Compute once and pass to downstream methods to avoid redundant work (ADR-015).
Return
BreathFunction with values, times, and equivalent sustain time
Parameters
contour
Pitch contour from pitch detection (must have at least 2 samples)
config
Breath analysis configuration