ShrutiAlignmentResult

data class ShrutiAlignmentResult(val practiceShrutiHz: Float, val shiftSemitones: Float, val options: List<ShrutiOption> = emptyList())

Result of shruti alignment between a student and a reference lesson.

Constructors

Link copied to clipboard
constructor(practiceShrutiHz: Float, shiftSemitones: Float, options: List<ShrutiOption> = emptyList())

Properties

Link copied to clipboard

All viable shruti options the student can pick from for this lesson, anchored at the student's preferred octave. Size is 2 * round(maxFineTuneSemitones) + 1 (default 5 when maxFineTuneSemitones=2). Sorted ascending by ShrutiOption.shiftSemitones. Use this to render a picker UI.

Link copied to clipboard

The tonic the student should use for this lesson. Pass to com.musicmuni.voxatrace.calibra.CalibraLiveEval.setStudentKeyHz and use as the tonic for student pitch visualization (Hz → cents conversion). The reference contour should still use the original lesson key for its own Hz → cents conversion.

Link copied to clipboard

Pitch class shift applied (capped at ±maxFineTuneSemitones, default ±2). Useful for logging/debugging and for transposing lesson audio via SonixPlayerConfig.Builder().pitch(shiftSemitones).