Session Config
data class SessionConfig(val autoAdvance: Boolean = true, val scoreThreshold: Float = 0.0f, val maxAttempts: Int = 0, val resultAggregation: ResultAggregation = ResultAggregation.LATEST, val hopSize: Int = 160, val autoPhaseTransition: Boolean = true, val autoSegmentDetection: Boolean = true)
Configuration for a CalibraLiveEval session.
Note: Pitch detection is configured separately via PitchDetectorConfig and the detector is injected into CalibraLiveEval.create.
For student key transposition, use com.musicmuni.voxatrace.calibra.CalibraLiveEval.setStudentKeyHz at runtime - this allows key adjustment mid-lesson.
Usage
// Tier 1: Use presets
val session = CalibraLiveEval.create(reference, SessionConfig.PRACTICE, detector)
// Tier 2: Use Builder
val config = SessionConfig.Builder()
.preset(SessionConfig.PRACTICE)
.scoreThreshold(0.6f)
.build()
// Tier 3: Use .copy()
val config = SessionConfig.PRACTICE.copy(maxAttempts = 5)Content copied to clipboard
Types
Properties
Link copied to clipboard
Automatically advance to next segment when current ends (default true)
Link copied to clipboard
Automatically transition LISTENING → SINGING in singafter mode (default true)
Link copied to clipboard
Automatically detect segment end from player time (default true)
Link copied to clipboard
Max attempts before forced advance (0 = unlimited)
Link copied to clipboard
How to aggregate multiple attempts into final score (default LATEST)
Link copied to clipboard
Min score to auto-advance (0 = disabled, advances regardless of score)